/* Sessional internal UI refinement — compact, expressive, utility-first */
:root{
  --ix-bg:#f6f6f3;
  --ix-surface:#ffffff;
  --ix-surface-2:#f2f3f2;
  --ix-ink:#171b20;
  --ix-muted:#68727c;
  --ix-line:#e4e5e1;
  --ix-line-strong:#d6d8d4;
  --ix-blue:#4f7fa5;
  --ix-blue-soft:#eaf2f8;
  --ix-violet:#7566a8;
  --ix-violet-soft:#f0ecfa;
  --ix-green:#4e846d;
  --ix-green-soft:#eaf3ed;
  --ix-amber:#9a7439;
  --ix-amber-soft:#f5efdf;
  --ix-red:#a35f54;
  --ix-red-soft:#f7eae6;
  --ix-shadow:0 14px 36px rgba(22,27,32,.055);
}

/* shell */
.shell{grid-template-columns:224px minmax(0,1fr)!important;background:var(--ix-bg)!important}
.sidebar{background:#fbfbf9!important;border-right:1px solid var(--ix-line)!important;padding:18px 12px 14px!important}
.sidebar .brand{font-size:19px!important;font-weight:780!important;padding:6px 9px 18px!important;color:var(--ix-ink)!important}
.class-switch{border:1px solid var(--ix-line)!important;background:#f3f4f2!important;border-radius:12px!important;padding:11px 12px!important;margin-bottom:14px!important}
.class-switch strong{font-size:12px!important;letter-spacing:-.015em!important}.class-switch small{font-size:12px!important;color:#5f6b7a!important}.class-switch em{font-size:12px!important;color:#6b7580!important}
.side-nav{gap:2px!important}.side-link{min-height:39px!important;padding:9px 10px!important;border-radius:10px!important;gap:10px!important;font-size:12px!important;font-weight:560!important;color:#5a646e!important}
.side-link:hover{background:#f1f2f0!important;color:#27313a!important}.side-link.active{background:#eaf1f7!important;color:#214e6e!important;font-weight:680!important}
.side-link-icon{width:20px!important;height:20px!important;display:grid!important;place-items:center!important}.side-link-icon .ui-icon-wrap{width:18px!important;height:18px!important;color:currentColor!important}.side-link-icon svg{stroke-width:1.75!important}
.sidebar-bottom{border-top:1px solid var(--ix-line)!important;padding-top:10px!important}.me-mini{padding:9px!important;border-radius:11px!important}.me-mini:hover{background:#f1f2f0!important}.me-mini strong{font-size:12px!important}.me-mini .micro{font-size:12px!important}.profile-edit-hint{font-size:12px!important;color:#5f6b7a!important}
.app-header{height:60px!important;padding:0 24px!important;background:rgba(246,246,243,.94)!important;border-bottom:1px solid var(--ix-line)!important;backdrop-filter:blur(16px)!important}
.app-header-title strong{font-size:12px!important}.app-header-title span{font-size:12px!important}.app-header-actions{gap:6px!important}.app-header .btn{min-height:34px!important;height:34px!important;border-radius:9px!important;font-size:12px!important}.app-header .icon-btn{width:34px!important;min-width:34px!important;padding:0!important}.top-user-pill{height:34px!important;border-radius:10px!important;padding:3px 8px 3px 4px!important;font-size:12px!important}
.cloud-save-pill{font-size:12px!important;padding:6px 8px!important;border-radius:8px!important}
.main{background:var(--ix-bg)!important}.main-inner{width:min(100% - 48px,1180px)!important;padding:36px 0 88px!important}
.page-head{align-items:flex-end!important;margin-bottom:26px!important;gap:24px!important}.page-head h1{font-size:40px!important;line-height:.98!important;letter-spacing:-.052em!important;margin:6px 0 7px!important;color:var(--ix-ink)!important}.page-head p{font-size:12.5px!important;line-height:1.55!important;color:var(--ix-muted)!important;max-width:620px!important}.kicker{font-size:12px!important;letter-spacing:.12em!important;color:#5f6b7a!important}
.btn{min-height:36px!important;padding:0 12px!important;border-radius:9px!important;font-size:12px!important;font-weight:680!important}.btn-dark{background:#1c2229!important}.btn-soft{background:#fff!important;border:1px solid var(--ix-line-strong)!important}.btn-quiet{background:#efefec!important}
.input,.textarea,.select{border-radius:9px!important;border-color:var(--ix-line-strong)!important;background:#fff!important;font-size:12px!important}.input{min-height:40px!important;padding:10px 12px!important}.input:focus,.textarea:focus,.select:focus{border-color:#99b6cb!important;box-shadow:0 0 0 3px rgba(79,127,165,.09)!important}

/* icon system */
.ui-icon-wrap{color:inherit}.ui-icon-wrap svg{stroke-width:1.7!important}
.activity-icon,.home-card-icon{box-shadow:none!important}

/* new activity */
.new-activity-head{padding-bottom:4px!important}.new-activity-head .btn .ui-icon-wrap{width:16px;height:16px}
.activity-section{margin-top:28px!important}.activity-section-head{display:flex!important;justify-content:space-between!important;align-items:flex-end!important;margin-bottom:12px!important}.activity-section-head h2{font-size:21px!important;line-height:1!important;letter-spacing:-.035em!important;margin:5px 0 0!important}.activity-section-head .micro{font-size:12px!important;color:#5f6b7a!important}
.template-section{padding:0!important;border:0!important;background:transparent!important}
.template-quick-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:9px!important;margin-top:0!important}
.template-quick-card{min-height:70px!important;display:grid!important;grid-template-columns:36px minmax(0,1fr) 18px!important;align-items:center!important;gap:11px!important;padding:12px!important;border:1px solid var(--ix-line)!important;border-radius:13px!important;background:#fff!important;text-align:left!important;box-shadow:none!important;transition:.16s ease!important}
.template-quick-card:hover{border-color:#c8d1d8!important;background:#fbfcfc!important;transform:translateY(-1px)!important;box-shadow:0 8px 22px rgba(22,27,32,.04)!important}
.template-quick-card>span{margin:0!important;display:block!important;background:transparent!important}
.template-icon{width:36px!important;height:36px!important;border-radius:10px!important;display:grid!important;place-items:center!important;background:var(--ix-blue-soft)!important;color:#325f7f!important}
.template-quick-card:nth-child(3n+2) .template-icon{background:var(--ix-violet-soft)!important;color:#655495!important}.template-quick-card:nth-child(3n) .template-icon{background:var(--ix-green-soft)!important;color:#3f755f!important}
.template-copy{min-width:0!important}.template-copy strong{font-size:12px!important;line-height:1.25!important;letter-spacing:-.018em!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.template-copy small{display:block!important;margin-top:3px!important;font-size:12px!important;line-height:1.3!important;color:#5f6b7a!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.template-arrow{color:#5f6b7a!important}.template-arrow .ui-icon-wrap{width:15px!important;height:15px!important}
.activity-type-groups{display:grid;gap:30px;margin-top:34px}.activity-type-group{padding-top:2px}.activity-type-group+.activity-type-group{padding-top:26px;border-top:1px solid var(--ix-line)}.activity-type-group-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:11px}.activity-type-group-head h2{font-size:19px;letter-spacing:-.035em;margin:0 0 4px}.activity-type-group-head p{font-size:12px;color:#5f6b7a;margin:0}
.activity-picker{max-width:none!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:9px!important}
.activity-option{position:relative!important;min-height:112px!important;display:grid!important;grid-template-columns:38px minmax(0,1fr) 17px!important;align-items:start!important;gap:11px!important;padding:16px!important;border:1px solid var(--ix-line)!important;border-radius:14px!important;background:#fff!important;box-shadow:none!important;text-align:left!important;overflow:hidden!important;transition:.16s ease!important}
.activity-option:before{content:"";position:absolute;left:0;top:0;right:0;height:3px;background:#93b2c9}.activity-option:nth-child(4n+2):before{background:#a695cf}.activity-option:nth-child(4n+3):before{background:#84aa96}.activity-option:nth-child(4n):before{background:#c5a36f}
.activity-option:hover{transform:translateY(-2px)!important;border-color:#cbd1d5!important;box-shadow:0 10px 28px rgba(22,27,32,.05)!important;background:#fff!important}
.activity-icon{width:38px!important;height:38px!important;display:grid!important;place-items:center!important;border-radius:10px!important;background:var(--ix-blue-soft)!important;color:#325f7f!important;margin:0!important;border:0!important}.activity-option:nth-child(4n+2) .activity-icon{background:var(--ix-violet-soft)!important;color:#655495!important}.activity-option:nth-child(4n+3) .activity-icon{background:var(--ix-green-soft)!important;color:#3f755f!important}.activity-option:nth-child(4n) .activity-icon{background:var(--ix-amber-soft)!important;color:#80602f!important}.activity-icon .ui-icon-wrap{width:18px!important;height:18px!important}
.activity-option-copy{min-width:0;padding-top:1px}.activity-option-copy strong{display:block;font-size:14px;line-height:1.2;letter-spacing:-.025em;color:#1d2329}.activity-option-copy small{display:block;margin-top:6px;font-size:12px;line-height:1.45;color:#5f6b7a}.activity-option-arrow{color:#5f6b7a;margin-top:8px}.activity-option-arrow .ui-icon-wrap{width:15px!important;height:15px!important}

/* library */
.library-search{display:grid!important;grid-template-columns:180px minmax(0,1fr) auto!important;gap:7px!important}.library-search .input{height:40px!important}.library-search .btn{height:40px!important}

/* people / profiles: keep personality without huge pastel slabs */.people-search{max-width:460px!important}

/* generic internal surfaces */
.card,.manage-panel,.progress-panel,.room-rail,.thread-pane,.chat-pane,.ask-chat-list,.ask-chat-panel,.profile-section{border:1px solid var(--ix-line)!important;border-radius:14px!important;box-shadow:none!important;background:#fff!important}
.home-card{border:1px solid var(--ix-line)!important;border-radius:14px!important;box-shadow:none!important;background:#fff!important;min-height:170px!important;padding:17px!important}.home-card:hover{transform:translateY(-2px)!important;border-color:#cbd1d5!important;box-shadow:0 10px 28px rgba(22,27,32,.045)!important}.home-card-icon{width:36px!important;height:36px!important;border-radius:10px!important}.home-card h3{font-size:19px!important}.home-card p{font-size:12px!important}
.tabs{background:#efefec!important;border-radius:10px!important;padding:3px!important}.tab{border-radius:7px!important;font-size:12px!important}.tab.active{background:#fff!important;box-shadow:0 1px 3px rgba(22,27,32,.07)!important}
.manage-nav{background:#efefec!important;border-radius:10px!important;padding:3px!important}.manage-link{border-radius:7px!important;font-size:12px!important}.manage-link.active{background:#fff!important;box-shadow:0 1px 3px rgba(22,27,32,.07)!important}

/* plan / gradebook */

@media(max-width:1180px){
  .activity-picker{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:960px){
  .shell{grid-template-columns:1fr!important}.sidebar{display:none!important}.main-inner{width:min(100% - 32px,860px)!important;padding:32px 0 96px!important}
  .activity-picker{grid-template-columns:repeat(2,minmax(0,1fr))!important}.template-quick-grid{grid-template-columns:1fr!important}
}
@media(max-width:680px){
  .main-inner{width:calc(100% - 24px)!important;padding-top:26px!important}.page-head{align-items:flex-start!important;flex-direction:column!important}.page-head h1{font-size:34px!important}.page-head p{font-size:12px!important}
  .activity-picker{grid-template-columns:1fr!important}.activity-option{min-height:96px!important}.activity-type-group-head p{max-width:300px}.library-search{grid-template-columns:1fr!important}
}
.template-quick-card .ui-icon-wrap{margin:0!important;display:inline-flex!important;font-size:inherit!important;color:inherit!important}

/* =========================================================
   Shell + legibility correction — independent panes & readable UI
   ========================================================= */

/* The app is a two-pane workspace. Do not let the document itself scroll. */
.shell{
  height:100dvh!important;
  min-height:100dvh!important;
  overflow:hidden!important;
  grid-template-columns:240px minmax(0,1fr)!important;
}
.sidebar{
  position:relative!important;
  top:auto!important;
  height:100dvh!important;
  min-height:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain!important;
  scrollbar-width:thin;
  scrollbar-color:#d6d9d5 transparent;
  padding:18px 14px 16px!important;
}
.sidebar::-webkit-scrollbar{width:7px}
.sidebar::-webkit-scrollbar-track{background:transparent}
.sidebar::-webkit-scrollbar-thumb{background:#d6d9d5;border-radius:999px}
.main{
  min-width:0!important;
  min-height:0!important;
  height:100dvh!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain!important;
  scrollbar-width:thin;
  scrollbar-color:#d4d7d4 transparent;
}
.main::-webkit-scrollbar{width:8px}
.main::-webkit-scrollbar-track{background:transparent}
.main::-webkit-scrollbar-thumb{background:#d4d7d4;border-radius:999px}
.app-header{position:sticky!important;top:0!important;z-index:50!important}
.main-inner{padding:34px 0 72px!important}

/* Sidebar must be readable at a glance. */
.sidebar .brand{font-size:19px!important;line-height:1.1!important}
.class-switch{padding:12px!important;margin-bottom:12px!important}
.class-switch strong{font-size:13px!important;line-height:1.3!important;color:#20262c!important}
.class-switch small{font-size:12px!important;line-height:1.35!important;color:#66717b!important}
.class-switch em{font-size:12px!important;color:#5d6872!important}
.side-nav{gap:3px!important}
.side-link{
  min-height:42px!important;
  padding:10px 11px!important;
  border-radius:10px!important;
  font-size:13px!important;
  line-height:1.2!important;
  font-weight:590!important;
  color:#53606b!important;
}
.side-link:hover{background:#f0f2f0!important;color:#202a32!important}
.side-link.active{background:#eaf1f7!important;color:#1f5277!important;font-weight:700!important}
.side-link-icon{width:21px!important;height:21px!important}
.side-link-icon .ui-icon-wrap{width:19px!important;height:19px!important}
.sidebar-bottom{margin-top:18px!important;padding-top:12px!important}
.me-mini strong{font-size:12px!important;line-height:1.25!important;color:#222a31!important}
.me-mini .micro{font-size:12px!important;line-height:1.3!important;color:#6c7680!important}
.profile-edit-hint{font-size:12px!important;color:#5f6b7a!important}

/* Header and general text hierarchy. */
.app-header{height:62px!important;padding:0 26px!important}
.app-header-title strong{font-size:13px!important;line-height:1.25!important;color:#242a30!important}
.app-header-title span{font-size:12px!important;line-height:1.25!important;color:#5f6b7a!important}
.top-user-pill{font-size:12px!important}
.cloud-save-pill{font-size:12px!important}
.page-head{margin-bottom:24px!important}
.page-head h1{font-size:38px!important;line-height:1!important;letter-spacing:-.045em!important}
.page-head p{font-size:14px!important;line-height:1.6!important;color:#5c6872!important}
.kicker{font-size:12px!important;line-height:1.2!important;letter-spacing:.11em!important;color:#6d7882!important}
.micro{font-size:12px;line-height:1.45;color:#5f6b7a}
.label{font-size:12px!important;line-height:1.35!important;color:#47525c!important;font-weight:650!important}

/* Buttons and form controls: no tiny UI text. */
.btn{min-height:38px!important;padding:0 13px!important;font-size:12px!important;line-height:1!important}
.input,.textarea,.select{font-size:13px!important;color:#20262c!important}
.input::placeholder,.textarea::placeholder{color:#5f6b7a!important}
.input{min-height:42px!important}

/* Home: high contrast, no washed-out text on pastel cards. */
.home-card{
  min-height:190px!important;
  padding:20px!important;
  border:1px solid var(--ix-line)!important;
  border-radius:16px!important;
  box-shadow:none!important;
  color:#1b2228!important;
}
.home-card:nth-child(6n+1){background:#eef3ff!important}
.home-card:nth-child(6n+2){background:#f7efd9!important}
.home-card:nth-child(6n+3){background:#eaf4ee!important}
.home-card:nth-child(6n+4){background:#f1edff!important}
.home-card:nth-child(6n+5){background:#faece4!important}
.home-card:nth-child(6n+6){background:#eaf1f5!important}
.home-card h3{font-size:22px!important;line-height:1.05!important;color:#1b2228!important;margin:7px 0 9px!important}
.home-card p{font-size:12.5px!important;line-height:1.55!important;color:#59656f!important;margin:0 0 14px!important}
.home-card .kicker,.home-card .micro{font-size:12px!important;color:#5f6a74!important}
.home-card-icon{width:38px!important;height:38px!important;margin-bottom:16px!important;background:rgba(255,255,255,.76)!important;color:#24313b!important;border:1px solid rgba(27,34,40,.06)!important}

/* New activity and library: increase reading size, reduce low-contrast metadata. */
.activity-type-group-head h2{font-size:21px!important;color:#1f262c!important}
.activity-type-group-head p{font-size:12px!important;line-height:1.45!important;color:#69747d!important}
.activity-option-copy strong{font-size:15px!important;line-height:1.25!important;color:#1c2329!important}
.activity-option-copy small{font-size:12px!important;line-height:1.5!important;color:#616c76!important}
.template-copy strong{font-size:13px!important;color:#20262c!important}
.template-copy small{font-size:12px!important;color:#6c7680!important}

/* People/profile and data-heavy screens. */

/* Accessible focus, without visual noise. */
.side-link:focus-visible,.btn:focus-visible,.class-switch:focus-visible,.me-mini:focus-visible,.home-card:focus-visible{
  outline:2px solid #6c9bc0!important;
  outline-offset:2px!important;
}

@media(max-width:960px){
  .shell{height:auto!important;min-height:100dvh!important;overflow:visible!important;grid-template-columns:1fr!important}
  .sidebar{display:none!important}
  .main{height:auto!important;min-height:100dvh!important;overflow:visible!important}
  .main-inner{padding-top:30px!important}
}
@media(max-width:680px){
  .page-head h1{font-size:34px!important}
}
/* Sessional internal UI v3 — visual composition pass inspired by clean learning dashboards */
:root{
  --v3-bg:#eef0ed;
  --v3-paper:#ffffff;
  --v3-ink:#171a1f;
  --v3-muted:#66707a;
  --v3-line:rgba(23,26,31,.09);
  --v3-line-strong:rgba(23,26,31,.15);
  --v3-blue:#6d8cf5;
  --v3-blue-soft:#e8edff;
  --v3-lime:#dff36b;
  --v3-lilac:#ece6ff;
  --v3-peach:#f8e4d7;
  --v3-yellow:#f5edc8;
  --v3-mint:#deeee5;
  --v3-cyan:#dfeef4;
  --v3-dark:#1a222e;
  --v3-shadow:0 16px 38px rgba(25,30,36,.07);
  --v3-radius:22px;
}

/* App shell: two genuinely independent scroll panes */
html,body{height:100%;background:var(--v3-bg)!important}
body:has(.shell){overflow:hidden!important}
.shell{height:100dvh!important;min-height:0!important;display:grid!important;grid-template-columns:232px minmax(0,1fr)!important;overflow:hidden!important;background:var(--v3-bg)!important}
.sidebar{height:100dvh!important;min-height:0!important;overflow-y:auto!important;overscroll-behavior:contain!important;position:relative!important;background:#fbfbf8!important;border-right:1px solid var(--v3-line)!important;padding:20px 13px 14px!important}
.main{height:100dvh!important;min-height:0!important;overflow-y:auto!important;overscroll-behavior:contain!important;background:var(--v3-bg)!important;scrollbar-gutter:stable!important}
.main-inner{width:min(1220px,calc(100% - 56px))!important;margin:0 auto!important;padding:34px 0 82px!important}
.app-header{position:sticky!important;top:0!important;z-index:30!important;min-height:66px!important;background:rgba(238,240,237,.88)!important;backdrop-filter:blur(20px)!important;border-bottom:1px solid rgba(23,26,31,.06)!important;padding:0 28px!important}
.app-header-title strong{font-size:13px!important;color:#20252b!important}.app-header-title span{font-size:12px!important;color:#5f6b7a!important}

.sidebar .brand{font-size:20px!important;font-weight:780!important;letter-spacing:-.04em!important;color:var(--v3-ink)!important;padding:5px 9px 18px!important}
.class-switch-button{background:#f0f1ed!important;border:1px solid var(--v3-line)!important;border-radius:15px!important;padding:11px 12px!important;margin-bottom:12px!important}.class-switch-button strong{font-size:12.5px!important}.class-switch-button small{font-size:12px!important;color:#5f6b7a!important}.class-switch-button em{font-size:12px!important;color:#5f6b7a!important}
.side-nav{gap:3px!important}.side-link{min-height:42px!important;padding:0 10px!important;border-radius:12px!important;font-size:12.5px!important;font-weight:610!important;color:#66717b!important;gap:11px!important}.side-link:hover{background:#f0f2ef!important;color:#20252b!important}.side-link.active{background:#e6edf5!important;color:#193b5b!important;box-shadow:inset 3px 0 0 #6b8cf5!important}.side-link-icon{width:20px!important;height:20px!important;display:grid!important;place-items:center!important;color:currentColor!important}.side-link-icon .ui-icon-wrap{width:18px!important;height:18px!important}
.sidebar-bottom{border-top:1px solid var(--v3-line)!important;margin-top:20px!important;padding-top:12px!important}.me-mini{border-radius:13px!important;padding:10px!important}.me-mini strong{font-size:12px!important}.me-mini .micro,.profile-edit-hint{font-size:12px!important}

/* Global internal typography */
.page-head{margin-bottom:26px!important}.page-head h1{font-size:42px!important;line-height:.96!important;letter-spacing:-.055em!important;color:var(--v3-ink)!important}.page-head p{font-size:13.5px!important;line-height:1.6!important;color:var(--v3-muted)!important;max-width:700px!important}.kicker{font-size:12px!important;line-height:1.2!important;text-transform:uppercase!important;letter-spacing:.105em!important;font-weight:760!important;color:#5f6b7a!important}
.btn{border-radius:11px!important;min-height:39px!important;font-size:12px!important;font-weight:700!important}.btn-dark{background:#1a2129!important;color:#fff!important;border-color:#1a2129!important}.btn-soft{background:#fff!important;color:#252b31!important;border:1px solid var(--v3-line-strong)!important}.input,.textarea,select.input{font-size:12.5px!important;border-radius:11px!important;border-color:var(--v3-line-strong)!important;background:#fff!important}.micro{font-size:12px!important;line-height:1.45!important;color:#5f6b7a!important}

/* class dashboard */

/* People */

/* Profile */

/* Insights */

/* Library */

/* Semester Plan — make it visual but keep existing interactions */

/* New activity page */
.activity-type-groups{gap:18px!important}.activity-type-group{background:#fff!important;border:1px solid var(--v3-line)!important;border-radius:22px!important;padding:18px!important}.activity-type-group-head{margin-bottom:13px!important}.activity-type-group-head h2{font-size:22px!important}.activity-type-group-head p{font-size:12px!important;color:#5f6b7a!important}.activity-picker{gap:9px!important}.activity-option{border:0!important;background:#f3f4f1!important;border-radius:15px!important;min-height:108px!important;padding:14px!important}.activity-option:hover{transform:translateY(-2px)!important;background:#eaf0f8!important}.activity-option:nth-child(3n+2){background:#f4eedb!important}.activity-option:nth-child(3n+3){background:#e5f0ea!important}.activity-icon{width:38px!important;height:38px!important;border-radius:12px!important;background:#fff!important}.activity-option-copy strong{font-size:13px!important}.activity-option-copy small{font-size:12px!important;line-height:1.4!important;color:#5f6b7a!important}.activity-option-arrow{display:none!important}

/* Make old generic content less dead */
.card,.manage-panel,.progress-panel,.room-rail,.thread-pane,.chat-pane,.ask-chat-list,.ask-chat-panel{border-radius:20px!important;border-color:var(--v3-line)!important;box-shadow:0 8px 24px rgba(25,30,36,.03)!important}
@media(max-width:760px){
  body:has(.shell){overflow:auto!important}.shell{height:auto!important;min-height:100dvh!important;grid-template-columns:1fr!important;overflow:visible!important}.sidebar{display:none!important}.main{height:auto!important;min-height:100dvh!important;overflow:visible!important}.main-inner{width:calc(100% - 24px)!important;padding-top:24px!important}.app-header{padding:0 12px!important}
}

/* Activities list */
.activity-section{margin-top:14px!important;background:#fff!important;border:1px solid var(--v3-line)!important;border-radius:22px!important;padding:18px!important}.activity-section-head{margin-bottom:12px!important}.activity-section-head h2{font-size:22px!important;letter-spacing:-.04em!important}

/* Discussions / Ask Prof */
.ask-chat-shell{gap:10px!important}.room-rail,.thread-pane,.ask-chat-list,.ask-chat-panel{border-radius:22px!important}.room-rail,.ask-chat-list{background:#f8f8f5!important}.ask-thread-item{border-radius:12px!important}.ask-thread-item.active{background:#e7efff!important}.chat-thread-head h1,.ask-list-head h2{font-size:23px!important;letter-spacing:-.04em!important}.starter-card{border-radius:17px!important;background:#f3f4f1!important}.message-bubble,.ask-bubble{border-radius:15px!important}.ask-bubble.student,.message-bubble.me{background:#1b2633!important;color:#fff!important}.ask-chat-composer,.chat-composer{background:#fff!important;border-top:1px solid var(--v3-line)!important}

/* Gradebook */

/* Groups */

/* Manage class */
.manage-layout{gap:12px!important}.manage-nav{border-radius:18px!important;background:#f3f4f1!important;padding:5px!important}.manage-link{border-radius:10px!important;font-size:12px!important}.manage-link.active{background:#fff!important;box-shadow:0 2px 8px rgba(25,30,36,.06)!important}.manage-panel{border-radius:22px!important;padding:22px!important}.manage-panel h2{font-size:24px!important;letter-spacing:-.04em!important}

/* Profile v4 — reference-driven, compact story: identity → status → evidence → action */
/* Sessional internal UI v4 — cleaner, brighter, premium utility system */
:root{
  --u4-bg:#f4f5f7;
  --u4-paper:#ffffff;
  --u4-ink:#14181f;
  --u4-muted:#66717d;
  --u4-soft:#eef1f4;
  --u4-shadow:0 12px 34px rgba(22,30,43,.075);
  --u4-shadow-hover:0 20px 48px rgba(22,30,43,.12);
  --u4-blue:#5b7cfa;
  --u4-coral:#ff6b57;
  --u4-violet:#8b6cf6;
  --u4-amber:#f2b84b;
  --u4-green:#55b98a;
  --u4-cyan:#4ba7c8;
}
html,body,.main{background:var(--u4-bg)!important}
.app-header{background:rgba(244,245,247,.9)!important;border-bottom:0!important}
.main-inner{padding-top:32px!important}
.sidebar{background:#fff!important;border-right:0!important;box-shadow:10px 0 30px rgba(23,31,43,.025)!important}
.class-switch-button{background:#f7f8f9!important;border:0!important;box-shadow:inset 0 0 0 1px rgba(20,24,31,.06)!important}
.side-link{color:#606c78!important}.side-link:hover{background:#f3f5f7!important;color:#1b222b!important}.side-link.active{background:#edf2ff!important;color:#2f55c9!important;box-shadow:none!important}.side-link.active:before{content:"";width:3px;height:20px;border-radius:99px;background:var(--u4-blue);position:absolute;left:4px}.side-link{position:relative!important}

/* stronger readable type */
.page-head h1{font-size:44px!important;letter-spacing:-.058em!important;color:var(--u4-ink)!important}.page-head p{font-size:14px!important;color:#5f6b76!important}.kicker{color:#6c7782!important;font-size:12px!important}.micro{font-size:12px!important;color:#5f6b7a!important}
.btn{border-radius:12px!important;min-height:40px!important}.btn-dark{background:#161c24!important;border-color:#161c24!important}.btn-soft{background:#fff!important;border:0!important;box-shadow:inset 0 0 0 1px rgba(20,24,31,.11)!important}.btn-soft:hover{background:#f8f9fa!important}

/* remove the cheap outlined-card language */
.activity-section,.manage-panel,.profile-section,.room-rail,.thread-pane,.ask-chat-list,.ask-chat-panel{
  border:0!important;
  box-shadow:var(--u4-shadow)!important;
}
.activity-section,.manage-panel,.profile-section{background:#fff!important}

/* New Activity — no pastel slabs, no top border strips */
.new-activity-head{margin-bottom:34px!important}
.activity-type-groups{display:grid!important;gap:42px!important;margin-top:30px!important}
.activity-type-group{padding:0!important;border:0!important;background:transparent!important}
.activity-type-group+.activity-type-group{padding-top:0!important;border-top:0!important}
.activity-type-group-head{margin-bottom:15px!important}
.activity-type-group-head h2{font-size:23px!important;letter-spacing:-.045em!important;color:#171d24!important;margin-bottom:5px!important}
.activity-type-group-head p{font-size:12.5px!important;line-height:1.5!important;color:#6b7580!important}
.activity-picker{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important}
.activity-option{
  min-height:132px!important;
  display:grid!important;
  grid-template-columns:48px minmax(0,1fr) 30px!important;
  gap:14px!important;
  align-items:start!important;
  padding:20px!important;
  border:0!important;
  border-radius:20px!important;
  background:#fff!important;
  box-shadow:var(--u4-shadow)!important;
  transition:transform .18s ease,box-shadow .18s ease!important;
}
.activity-option:before{display:none!important;content:none!important}
.activity-option:hover{transform:translateY(-4px)!important;box-shadow:var(--u4-shadow-hover)!important;background:#fff!important}
.activity-icon{width:48px!important;height:48px!important;border-radius:14px!important;margin:0!important;display:grid!important;place-items:center!important;border:0!important;background:#edf2ff!important;color:#4267e8!important}
.activity-icon .ui-icon-wrap{width:22px!important;height:22px!important}
.activity-option-copy{padding-top:2px!important}.activity-option-copy strong{font-size:16px!important;line-height:1.2!important;letter-spacing:-.025em!important;color:#171d24!important}.activity-option-copy small{font-size:12px!important;line-height:1.48!important;color:#68737e!important;margin-top:7px!important}
.activity-option-arrow{width:28px;height:28px;border-radius:999px;background:#f4f5f7;color:#5f6b7a;display:grid!important;place-items:center!important;margin:2px 0 0!important;opacity:.9}.activity-option-arrow .ui-icon-wrap{width:14px!important;height:14px!important}.activity-option:hover .activity-option-arrow{background:#171d24;color:#fff}
.activity-option[data-new-activity-type="quiz"] .activity-icon{background:#e9efff!important;color:#4168ea!important}
.activity-option[data-new-activity-type="assignment"] .activity-icon{background:#fff0ec!important;color:#ed654f!important}
.activity-option[data-new-activity-type="presentation"] .activity-icon{background:#f1ecff!important;color:#7b5ee4!important}
.activity-option[data-new-activity-type="poll"] .activity-icon{background:#fff5dc!important;color:#c88b17!important}
.activity-option[data-new-activity-type="qna"] .activity-icon{background:#efeaff!important;color:#765dd9!important}
.activity-option[data-new-activity-type="quick"] .activity-icon{background:#e8f7fb!important;color:#2e8fae!important}
.activity-option[data-new-activity-type="pulse"] .activity-icon{background:#e8f6ef!important;color:#338d65!important}
.activity-option[data-new-activity-type="groups"] .activity-icon{background:#e7f5f1!important;color:#2f8b75!important}
.activity-option[data-new-activity-type="case"] .activity-icon{background:#fff0e8!important;color:#d96b35!important}
.activity-option[data-new-activity-type="random"] .activity-icon{background:#f0ecff!important;color:#7158d8!important}

/* saved template area */
.activity-section.template-section{padding:22px!important;border-radius:22px!important;background:#182230!important;color:#fff!important;box-shadow:0 18px 46px rgba(24,34,48,.14)!important}
.template-section .kicker,.template-section .micro{color:#5f6b7a!important}.template-section h2{color:#fff!important}.template-quick-grid{gap:10px!important}.template-quick-card{background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.08)!important;border-radius:15px!important;color:#fff!important}.template-quick-card:hover{background:rgba(255,255,255,.13)!important}.template-copy small{color:#b9c3cc!important}

/* Activity list rows */
.activity-section:not(.template-section){padding:20px!important;border-radius:20px!important}

/* Library — saturated visual headers, clean white bodies */

/* Class home modules: white surfaces + vivid accents only where meaningful */

/* Plan: remove colored slab cards and ornamental lines */

/* People/Profile/Insights — less washed out */

/* general card radii: less bubbly */
.activity-section,.manage-panel,.profile-section{border-radius:20px!important}

@media(max-width:1100px){.activity-picker{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:760px){.activity-picker{grid-template-columns:1fr!important}.activity-option{min-height:112px!important;padding:17px!important}.activity-type-groups{gap:30px!important}}
/* Sessional internal UI v5 — reference-driven correction */
:root{
  --v5-bg:#f3f4f6;--v5-surface:#fff;--v5-ink:#121821;--v5-muted:#65707c;--v5-line:#e8ebef;
  --v5-blue:#4f6ff7;--v5-cyan:#1f9ac6;--v5-coral:#ff6b57;--v5-green:#2fa67b;--v5-amber:#e5a72f;--v5-violet:#7a63e7;
  --v5-shadow:0 10px 28px rgba(18,24,33,.055);--v5-shadow-lg:0 22px 52px rgba(18,24,33,.10);
}
html,body,.main{background:var(--v5-bg)!important;color:var(--v5-ink)!important}
body:has(.shell){overflow:hidden!important}
.shell{height:100dvh!important;overflow:hidden!important}
.sidebar{height:100dvh!important;overflow-y:auto!important;overscroll-behavior:contain;background:#fff!important;border-right:1px solid #eceef1!important;box-shadow:none!important;padding-bottom:18px!important}
.main{height:100dvh!important;overflow-y:auto!important;overscroll-behavior:contain!important;scrollbar-gutter:stable}
.app-header{position:sticky!important;top:0!important;z-index:30!important;background:rgba(255,255,255,.93)!important;border-bottom:1px solid #eceef1!important;backdrop-filter:blur(14px)!important}
.main-inner{width:min(1240px,calc(100% - 44px))!important;padding-top:30px!important;padding-bottom:56px!important}
.class-switch-button{background:#f7f8fa!important;box-shadow:none!important;border:0!important;border-radius:14px!important;padding:12px 13px!important}
.class-switch-button em{background:#eef7f2!important;color:#438064!important;padding:5px 8px!important;border-radius:999px!important;font-size:12px!important}
.side-link{border-radius:12px!important;min-height:42px!important;font-size:13px!important;font-weight:600!important;color:#5e6874!important}
.side-link.active{background:#eef3ff!important;color:#3159cf!important}.side-link.active:before{background:#5b7cfa!important}
.sidebar-bottom{border-top:1px solid #eceef1!important}.me-mini{background:transparent!important;border-radius:12px!important;padding:10px!important}.profile-edit-hint{font-size:12px!important}
.app-header-actions .btn,.top-user-pill{box-shadow:none!important}.cloud-save-pill{font-size:12px!important;color:#5f6b7a!important}

.ui-overline{display:inline-block;font-size:12px;line-height:1.2;text-transform:uppercase;letter-spacing:.11em;font-weight:800;color:#5f6b7a}.ui-overline.light{color:rgba(255,255,255,.68)}

/* Home */

/* New activity */
.new-activity-head{margin-bottom:28px!important}.page-head h1{font-size:42px!important}
.activity-type-groups{gap:28px!important;margin-top:28px!important}.activity-type-group{background:transparent!important;border:0!important;padding:0!important}.activity-type-group-head{margin-bottom:12px!important}.activity-type-group-head h2{font-size:22px!important}.activity-type-group-head p{font-size:13px!important;color:#687480!important}
.activity-picker{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important}.activity-option{min-height:116px!important;padding:18px!important;grid-template-columns:44px minmax(0,1fr)!important;gap:13px!important;border:0!important;border-radius:16px!important;background:#fff!important;box-shadow:var(--v5-shadow)!important}.activity-option:hover{transform:translateY(-2px)!important;box-shadow:var(--v5-shadow-lg)!important}.activity-option-arrow{display:none!important}
.activity-icon{width:44px!important;height:44px!important;border-radius:13px!important}.activity-option-copy strong{font-size:16px!important}.activity-option-copy small{font-size:12px!important;color:#6b7681!important;margin-top:6px!important}
.activity-option[data-new-activity-type="quiz"] .activity-icon{background:#eaf0ff!important;color:#4267ed!important}.activity-option[data-new-activity-type="assignment"] .activity-icon{background:#fff0eb!important;color:#f0644d!important}.activity-option[data-new-activity-type="presentation"] .activity-icon{background:#efeaff!important;color:#785ee5!important}.activity-option[data-new-activity-type="poll"] .activity-icon{background:#fff5dc!important;color:#ca8b14!important}.activity-option[data-new-activity-type="qna"] .activity-icon{background:#f0ecff!important;color:#765bd9!important}.activity-option[data-new-activity-type="quick"] .activity-icon{background:#e8f7fb!important;color:#1f91b5!important}.activity-option[data-new-activity-type="pulse"] .activity-icon{background:#e8f6ef!important;color:#27865f!important}.activity-option[data-new-activity-type="groups"] .activity-icon{background:#e7f5f1!important;color:#22856d!important}.activity-option[data-new-activity-type="case"] .activity-icon{background:#fff0e8!important;color:#d96532!important}.activity-option[data-new-activity-type="random"] .activity-icon{background:#f0ecff!important;color:#7255d9!important}
.activity-section.template-section{background:#fff!important;color:var(--v5-ink)!important;border-radius:18px!important;padding:20px!important;box-shadow:var(--v5-shadow)!important}.template-section .kicker{color:#687480!important}.template-section .micro{color:#5f6b7a!important}.template-section h2{color:var(--v5-ink)!important}.template-quick-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}.template-quick-card{background:#f7f8fa!important;color:var(--v5-ink)!important;border:0!important;border-radius:14px!important;min-height:70px!important}.template-quick-card:hover{background:#eef2f7!important}.template-copy strong{color:var(--v5-ink)!important}.template-copy small{color:#5f6b7a!important}.template-icon{background:#fff!important;color:#4f6ff7!important}.template-arrow{color:#5f6b7a!important}

/* People */.visual-avatar{display:grid;place-items:center;flex:0 0 auto;font-weight:800;color:#14202d;overflow:hidden}.visual-avatar img{width:100%;height:100%;object-fit:cover}.visual-avatar.md{width:48px;height:48px;border-radius:15px}.visual-avatar.xl{width:104px;height:104px;border-radius:28px;font-size:30px}.visual-avatar.tone-1{background:linear-gradient(135deg,#cfe0ff,#9fbaf8)}.visual-avatar.tone-2{background:linear-gradient(135deg,#ffd9c8,#ffad8e)}.visual-avatar.tone-3{background:linear-gradient(135deg,#d7f1e5,#8fd6b8)}.visual-avatar.tone-4{background:linear-gradient(135deg,#ebe1ff,#b9a3f6)}.visual-avatar.tone-5{background:linear-gradient(135deg,#fff0bc,#f5c95f)}

/* Profiles */
.profile5{display:grid;gap:14px}.profile5-top{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.25fr);gap:14px}.profile5-identity,.profile5-status,.profile5-panel{border:0;border-radius:20px;box-shadow:var(--v5-shadow)}.profile5-identity{background:#fff;padding:26px;display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:center}.profile5-identity-copy h1{font-size:40px;line-height:.94;letter-spacing:-.055em;margin:10px 0 8px}.profile5-identity-copy>p{font-size:13px;line-height:1.55;color:#65707c;margin:0 0 14px}.profile5-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.profile5-tags span{font-size:12px;font-weight:650;background:#f2f4f6;color:#5c6873;padding:6px 8px;border-radius:999px}
.profile5-status{padding:26px;background:linear-gradient(135deg,#20324a,#255e7f);color:#fff;display:grid;grid-template-rows:auto 1fr;gap:22px}.profile5-status h2{font-size:30px;line-height:.98;letter-spacing:-.045em;margin:8px 0 8px}.profile5-status p{font-size:13px;color:#d1dce5;margin:0}.profile5-status-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;align-self:end}.profile5-status-metrics>div{background:rgba(255,255,255,.10);border-radius:14px;padding:14px}.profile5-status-metrics span,.profile5-status-metrics small{display:block;color:#c9d6e0;font-size:12px}.profile5-status-metrics strong{display:block;font-size:27px;line-height:1;margin:10px 0 5px;color:#fff}.profile5-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:14px}.profile5-panel{background:#fff;padding:22px;min-width:0}.profile5-panel h2{font-size:25px;line-height:.98;letter-spacing:-.045em;margin:7px 0 8px}.profile5-panel-head{display:flex;justify-content:space-between;gap:12px}.profile5-bars{display:grid;gap:14px;margin-top:22px}.profile5-bars>div{display:grid;grid-template-columns:150px 1fr 36px;gap:14px;align-items:center}.profile5-bars span b{display:block;font-size:12px}.profile5-bars span small{display:block;font-size:12px;color:#5f6b7a;margin-top:2px}.profile5-bars i{height:8px;background:#eef1f3;border-radius:999px;overflow:hidden}.profile5-bars i em{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#4f6ff7,#8298ff)}.profile5-bars>div:nth-child(2) i em{background:linear-gradient(90deg,#7a63e7,#a590f1)}.profile5-bars>div:nth-child(3) i em{background:linear-gradient(90deg,#e5a72f,#f0c55c)}.profile5-bars>div>strong{text-align:right;font-size:16px}.profile5-panel.about{background:#fff}.profile5-about-row{padding:14px 0;border-top:1px solid #edf0f2}.profile5-about-row:first-of-type{margin-top:12px}.profile5-about-row>span{display:block;font-size:12px;color:#5f6b7a;margin-bottom:8px}.profile5-about-row>div{display:flex;gap:6px;flex-wrap:wrap}.profile5-about-row b{font-size:12px;background:#f2f4f6;color:#55616c;border-radius:999px;padding:6px 8px}.profile5-panel.evidence{grid-column:1}.profile5-evidence-list{display:grid;gap:8px;margin-top:16px}.profile5-evidence-list button{border:0;background:#f7f8fa;border-radius:13px;padding:12px;display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;text-align:left}.profile5-evidence-list button:hover{background:#eef2f6}.profile5-evidence-icon{width:38px;height:38px;border-radius:12px;background:#fff;display:grid;place-items:center;color:#315c82}.profile5-evidence-list small{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#5f6b7a}.profile5-evidence-list b{display:block;font-size:12px;margin:2px 0}.profile5-evidence-list em{font-style:normal;font-size:12px;color:#5f6b7a}.profile5-panel.note{grid-column:2;background:#fff4ef;display:flex;flex-direction:column;justify-content:space-between}.profile5-panel.note p{font-size:12px;line-height:1.6;color:#6b5f59}.profile5-note-actions{display:flex;gap:8px;margin-top:18px}.profile5-empty{font-size:12px;color:#5f6b7a;padding:14px}
.profile5+.profile-section{border:0!important;border-radius:20px!important;box-shadow:var(--v5-shadow)!important}

/* Library + Plan subtle cleanup */

/* Remote / projector */
.remote-page{background:#f3f4f6!important}.remote-shell{box-shadow:var(--v5-shadow-lg)!important;border:0!important}.projector-page{background:#0f1722!important}.projector-header{background:#111c29!important;border-bottom:1px solid rgba(255,255,255,.08)!important}.projector-stage{background:radial-gradient(circle at 50% 0%,#20364e 0%,#111c29 45%,#0e1721 100%)!important}

@media(max-width:1100px){.profile5-top{grid-template-columns:1fr}.profile5-grid{grid-template-columns:1fr 1fr}.profile5-panel.contribution,.profile5-panel.evidence{grid-column:1/3}}
@media(max-width:760px){body:has(.shell){overflow:auto!important}.shell{height:auto!important;min-height:100dvh!important;overflow:visible!important}.main{height:auto!important;min-height:100dvh!important;overflow:visible!important}.main-inner{width:calc(100% - 24px)!important}.profile5-identity{grid-template-columns:1fr}.profile5-status-metrics{grid-template-columns:1fr}.profile5-grid{grid-template-columns:1fr}.profile5-panel.contribution,.profile5-panel.evidence,.profile5-panel.note{grid-column:auto}.activity-picker{grid-template-columns:1fr!important}.template-quick-grid{grid-template-columns:1fr!important}}

/* =========================================================
   Sessional internal UI — consolidated correction layer
   This is the single authoritative internal override layer.
   ========================================================= */
:root{
  --sf-ink:#151a21;
  --sf-muted:#68727d;
  --sf-line:#e4e8ec;
  --sf-canvas:#f4f5f6;
  --sf-card:#ffffff;
  --sf-navy:#142235;
  --sf-blue:#5b7cff;
  --sf-violet:#8b72e6;
  --sf-amber:#d8a63e;
  --sf-green:#42a77a;
  --sf-shadow:0 12px 30px rgba(20,29,40,.055);
  --sf-shadow-hover:0 18px 42px rgba(20,29,40,.09);
}
body:has(.shell){background:var(--sf-canvas)!important;color:var(--sf-ink)!important}
body:has(.shell) .main-inner{padding-top:28px!important;padding-bottom:56px!important}
body:has(.shell) .page-head{margin-bottom:24px!important}
body:has(.shell) .page-head h1{color:var(--sf-ink)!important}
body:has(.shell) .page-head p{color:var(--sf-muted)!important;font-size:14px!important}
body:has(.shell) .kicker,
body:has(.shell) .ui-overline{color:#5f6b7a!important}

/* ---- New Activity: neutral cards, color only in the icon ---- */
body:has(.shell) .new-activity-head{margin-bottom:26px!important}
body:has(.shell) .activity-type-groups{display:grid!important;gap:34px!important;margin-top:30px!important}
body:has(.shell) .activity-type-group{padding:0 0 30px!important;border:0!important;border-bottom:1px solid var(--sf-line)!important;background:transparent!important;border-radius:0!important}
body:has(.shell) .activity-type-group:last-child{border-bottom:0!important;padding-bottom:0!important}
body:has(.shell) .activity-type-group-head{margin:0 0 14px!important}
body:has(.shell) .activity-type-group-head h2{font-size:23px!important;line-height:1.05!important;letter-spacing:-.035em!important;color:var(--sf-ink)!important}
body:has(.shell) .activity-type-group-head p{font-size:13px!important;color:var(--sf-muted)!important;margin-top:5px!important}
body:has(.shell) .activity-picker{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important}
body:has(.shell) .activity-picker .activity-option,
body:has(.shell) .activity-picker .activity-option:nth-child(2n),
body:has(.shell) .activity-picker .activity-option:nth-child(3n),
body:has(.shell) .activity-picker .activity-option:nth-child(4n),
body:has(.shell) .activity-picker .activity-option:nth-child(6n+1),
body:has(.shell) .activity-picker .activity-option:nth-child(6n+2),
body:has(.shell) .activity-picker .activity-option:nth-child(6n+3),
body:has(.shell) .activity-picker .activity-option:nth-child(6n+4),
body:has(.shell) .activity-picker .activity-option:nth-child(6n+5),
body:has(.shell) .activity-picker .activity-option:nth-child(6n+6){
  min-height:104px!important;
  display:grid!important;
  grid-template-columns:42px minmax(0,1fr)!important;
  align-items:center!important;
  gap:13px!important;
  padding:16px!important;
  border:1px solid var(--sf-line)!important;
  border-radius:16px!important;
  background:var(--sf-card)!important;
  box-shadow:none!important;
  color:var(--sf-ink)!important;
  overflow:hidden!important;
}
body:has(.shell) .activity-picker .activity-option::before{display:none!important}
body:has(.shell) .activity-picker .activity-option:hover{transform:translateY(-2px)!important;border-color:#cdd5dd!important;box-shadow:var(--sf-shadow)!important;background:#fff!important}
body:has(.shell) .activity-picker .activity-icon{width:42px!important;height:42px!important;border-radius:12px!important;border:0!important;margin:0!important;box-shadow:none!important}
body:has(.shell) .activity-picker .activity-option-copy strong{font-size:15px!important;line-height:1.2!important;color:var(--sf-ink)!important;margin:0!important}
body:has(.shell) .activity-picker .activity-option-copy small{font-size:12px!important;line-height:1.45!important;color:var(--sf-muted)!important;margin-top:5px!important}
body:has(.shell) .activity-picker .activity-option-arrow{display:none!important}

/* Category color = icon only */
body:has(.shell) .activity-option[data-new-activity-type="quiz"] .activity-icon{background:#eef2ff!important;color:#4968e9!important}
body:has(.shell) .activity-option[data-new-activity-type="assignment"] .activity-icon{background:#fff0ec!important;color:#e46651!important}
body:has(.shell) .activity-option[data-new-activity-type="presentation"] .activity-icon{background:#f1edff!important;color:#745bd7!important}
body:has(.shell) .activity-option[data-new-activity-type="poll"] .activity-icon{background:#fff6df!important;color:#bd8219!important}
body:has(.shell) .activity-option[data-new-activity-type="qna"] .activity-icon{background:#f1edff!important;color:#745bd7!important}
body:has(.shell) .activity-option[data-new-activity-type="quick"] .activity-icon{background:#e9f7fb!important;color:#218cac!important}
body:has(.shell) .activity-option[data-new-activity-type="pulse"] .activity-icon{background:#e8f6ef!important;color:#278660!important}
body:has(.shell) .activity-option[data-new-activity-type="groups"] .activity-icon{background:#e8f6f1!important;color:#24866f!important}
body:has(.shell) .activity-option[data-new-activity-type="case"] .activity-icon{background:#fff1e9!important;color:#d36434!important}
body:has(.shell) .activity-option[data-new-activity-type="random"] .activity-icon{background:#f1edff!important;color:#745bd7!important}

/* Saved templates: light, compact, same visual language */
body:has(.shell) .template-section{margin:0 0 34px!important;padding:18px!important;border:1px solid var(--sf-line)!important;border-radius:18px!important;background:#fff!important;color:var(--sf-ink)!important;box-shadow:none!important}
body:has(.shell) .template-section .kicker,
body:has(.shell) .template-section .micro{color:var(--sf-muted)!important}
body:has(.shell) .template-section h2{color:var(--sf-ink)!important}
body:has(.shell) .template-quick-grid{gap:10px!important}
body:has(.shell) .template-quick-card{min-height:68px!important;padding:12px 13px!important;background:#f7f8f9!important;border:1px solid #edf0f2!important;border-radius:13px!important;color:var(--sf-ink)!important;box-shadow:none!important}
body:has(.shell) .template-quick-card:hover{background:#fff!important;border-color:#d8dee4!important;box-shadow:0 8px 20px rgba(20,29,40,.05)!important}
body:has(.shell) .template-copy strong{color:var(--sf-ink)!important;font-size:12.5px!important}
body:has(.shell) .template-copy small{color:var(--sf-muted)!important;font-size:12px!important}
body:has(.shell) .template-arrow{color:#5f6b7a!important}

/* ---- Semester Plan: remove the white-panel-on-white-panel look ---- */

/* ---- People: denser roster, less dead space, no fake dashboard tiles ---- */
body:has(.shell) .visual-avatar.md{width:42px!important;height:42px!important;border-radius:12px!important}

/* ---- Home: keep the strong hero, neutralise the supporting modules ---- */

/* ---- Projector: high contrast from the back of a room ---- */
.projector-page{background:#0d1722!important;color:#fff!important;min-height:100vh!important}
.projector-header{background:#101c29!important;color:#fff!important;border-bottom:1px solid rgba(255,255,255,.08)!important}
.projector-header strong{color:#fff!important}
.projector-header span{color:#9fb0c0!important}
.projector-status{color:#d6e1eb!important}
.projector-stage{background:radial-gradient(circle at 50% 0%,#203852 0%,#132334 42%,#0d1722 100%)!important;color:#fff!important;padding:52px 7vw!important}
.projector-page .kicker,
.projector-page .projector-simple .kicker,
.projector-page .projector-empty .kicker{color:#8fa5b9!important}
.projector-page .projector-simple h1,
.projector-page .projector-empty h1,
.projector-page .projector-random h1,
.projector-page .projector-task h1{color:#fff!important;text-shadow:none!important}
.projector-page .projector-simple>p,
.projector-page .projector-task p,
.projector-page .projector-empty p{color:#b9c6d2!important}
.projector-page .projector-metrics{gap:14px!important;margin-top:34px!important}
.projector-page .projector-metrics>div{background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.10)!important;color:#fff!important;border-radius:18px!important;box-shadow:none!important}
.projector-page .projector-metrics strong{color:#fff!important;font-size:52px!important}
.projector-page .projector-metrics span{color:#aebdca!important;font-size:13px!important}
.projector-page .projector-topic,
.projector-page .projector-group-card,
.projector-page .projector-question-list>div{background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.10)!important;color:#fff!important}
.projector-page .projector-topic span,
.projector-page .projector-group-card span,
.projector-page .projector-question-list span{color:#aebdca!important}
.projector-page .projector-topic strong,
.projector-page .projector-group-card strong,
.projector-page .projector-question-list strong{color:#fff!important}
.projector-page .projector-bars>div>span,
.projector-page .projector-bars>div>strong{color:#fff!important}
.projector-page .projector-bars .bar-track{background:rgba(255,255,255,.10)!important}
.projector-page .projector-bars .bar-track i{background:#d9ef64!important}
.projector-page .btn-soft{background:#fff!important;color:#14202d!important;border-color:#fff!important}

/* ---- Responsive ---- */
@media(max-width:1050px){
  body:has(.shell) .activity-picker{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:760px){
  body:has(.shell) .activity-picker{grid-template-columns:1fr!important}
  .projector-page .projector-metrics{grid-template-columns:1fr!important}
}


/* ===== Home v6: compact classroom command center ===== */
body:has(.shell) .home6{display:grid;gap:16px;padding-bottom:28px}
body:has(.shell) .home6-overview{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(360px,.8fr);gap:22px;align-items:center;min-height:228px;padding:30px 34px;border-radius:24px;background:linear-gradient(135deg,#142234 0%,#17344f 60%,#1c647d 100%);color:#fff;box-shadow:0 18px 40px rgba(24,39,58,.13)}
body:has(.shell) .home6-overline{display:block;font-size:12px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:#5f6b7a}
body:has(.shell) .home6-overview .home6-overline{color:#b7c4cf}
body:has(.shell) .home6-copy h1{margin:12px 0 8px;font-size:43px;line-height:.96;letter-spacing:-.05em;color:#fff}
body:has(.shell) .home6-copy p{margin:0;max-width:620px;font-size:14px;line-height:1.55;color:#cad5de}
body:has(.shell) .home6-actions{display:flex;gap:10px;margin-top:22px}
body:has(.shell) .home6-actions .btn{min-height:40px;padding:0 15px;border-radius:11px;font-size:12px}
body:has(.shell) .home6-actions .btn-dark{background:#ddef57!important;color:#111923!important;box-shadow:none!important}
body:has(.shell) .home6-actions .btn-soft{background:rgba(255,255,255,.10)!important;border-color:rgba(255,255,255,.12)!important;color:#fff!important}
body:has(.shell) .home6-status{display:grid;grid-template-columns:1.4fr 1fr;gap:10px}
body:has(.shell) .home6-pulse{grid-row:span 2;padding:18px;border-radius:18px;background:#fff;color:#14202d;display:flex;flex-direction:column;justify-content:center}
body:has(.shell) .home6-pulse span,.home6-mini span{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#5f6b7a}
body:has(.shell) .home6-pulse strong{font-size:45px;line-height:.95;letter-spacing:-.05em;margin:7px 0 4px}
body:has(.shell) .home6-pulse small{font-size:12px;color:#5f6b7a}
body:has(.shell) .home6-pulse i{height:5px;background:#edf0f2;border-radius:999px;margin-top:14px;overflow:hidden}.home6-pulse i em{display:block;height:100%;background:#ddef57;border-radius:999px}
body:has(.shell) .home6-mini{padding:15px 16px;border-radius:16px;background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.08)}
body:has(.shell) .home6-mini span{color:#c1ccd4}.home6-mini strong{display:block;margin-top:5px;font-size:24px;line-height:1;color:#fff}.home6-mini small{display:block;margin-top:5px;font-size:12px;color:#b8c4cc}
body:has(.shell) .home6-primary-grid,body:has(.shell) .home6-secondary-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:16px}
body:has(.shell) .home6-secondary-grid{grid-template-columns:1fr 1fr}
body:has(.shell) .home6-panel{background:#fff;border:1px solid #e6e9ec;border-radius:20px;padding:20px;box-shadow:none}
body:has(.shell) .home6-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}
body:has(.shell) .home6-panel-head h2{font-size:22px;line-height:1.05;letter-spacing:-.035em;margin:5px 0 0;color:#151b22}
body:has(.shell) .home6-alert-dot{width:10px;height:10px;border-radius:50%;background:#ff735d;box-shadow:0 0 0 5px rgba(255,115,93,.12);margin:4px}
body:has(.shell) .home6-text-action{border:0;background:transparent;padding:3px 0;font-size:12px;font-weight:750;color:#596774}
body:has(.shell) .home6-text-action:hover{color:#111923}
body:has(.shell) .home6-now-list{display:grid;gap:8px}
body:has(.shell) .home6-now-item{width:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;text-align:left;border:1px solid #ebedf0;background:#f8f9fa;border-radius:14px;padding:12px 13px}
body:has(.shell) .home6-now-item.live{background:#f3f7ff;border-color:#dce5f6}.home6-now-item:hover{background:#fff;border-color:#ccd4dc}
body:has(.shell) .home6-item-icon{width:36px;height:36px;border-radius:11px;background:#fff;display:grid;place-items:center;border:1px solid #e8ebee}
body:has(.shell) .home6-now-item b{display:block;font-size:12px;color:#182029}.home6-now-item small{display:block;margin-top:2px;font-size:12px;color:#5f6b7a}.home6-now-item em{font-style:normal;font-size:12px;font-weight:800;color:#263442}
body:has(.shell) .home6-clear{display:flex;align-items:center;gap:10px;padding:16px;border-radius:14px;background:#f7faf6}.home6-clear b,.home6-clear small{display:block}.home6-clear b{font-size:12px}.home6-clear small{font-size:12px;color:#5f6b7a;margin-top:2px}
body:has(.shell) .home6-launch-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
body:has(.shell) .home6-launch-grid button{min-height:92px;border:1px solid #eceff1;border-radius:14px;background:#fff;padding:12px;text-align:left;display:flex;flex-direction:column;align-items:flex-start;transition:.16s ease}
body:has(.shell) .home6-launch-grid button:hover{transform:translateY(-2px);border-color:#ccd5dd;box-shadow:0 10px 22px rgba(24,33,46,.07)}
body:has(.shell) .home6-launch-grid button>span{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;margin-bottom:10px}.home6-launch-grid .tone-1{background:#eaf0ff;color:#4168d8}.home6-launch-grid .tone-2{background:#fff2d6;color:#bf7f09}.home6-launch-grid .tone-3{background:#e5f5ed;color:#22825e}.home6-launch-grid .tone-4{background:#efe9ff;color:#7654d7}
body:has(.shell) .home6-launch-grid b{font-size:12px;color:#171e26}.home6-launch-grid small{font-size:12px;color:#5f6b7a;margin-top:2px}
body:has(.shell) .home6-next-main{display:grid;grid-template-columns:1fr 1fr;gap:8px}.home6-next-main>div{background:#f7f8f9;border-radius:12px;padding:12px}.home6-next-main span{display:block;font-size:12px;color:#5f6b7a;text-transform:uppercase;letter-spacing:.06em}.home6-next-main strong{display:block;margin-top:5px;font-size:14px}
body:has(.shell) .home6-plan-progress{margin-top:16px}.home6-plan-progress i{display:block;height:5px;border-radius:999px;background:#eceff1;overflow:hidden}.home6-plan-progress i em{display:block;height:100%;background:linear-gradient(90deg,#6684f4,#9879e8);border-radius:999px}.home6-plan-progress span{display:block;margin-top:7px;font-size:12px;color:#5f6b7a}
body:has(.shell) .home6-student-bars{display:grid;gap:8px}.home6-student-bars button{display:grid;grid-template-columns:70px 1fr 24px;align-items:center;gap:9px;border:0;background:transparent;padding:0;text-align:left}.home6-student-bars span{font-size:12px;font-weight:650;color:#2c3742}.home6-student-bars i{height:6px;border-radius:999px;background:#eef0f2;overflow:hidden}.home6-student-bars i em{display:block;height:100%;background:#5f82ee;border-radius:999px}.home6-student-bars b{font-size:12px;color:#66727d;text-align:right}
body:has(.shell) .home6-signal-foot{display:flex;gap:18px;margin-top:14px;padding-top:12px;border-top:1px solid #eceff1}.home6-signal-foot span{font-size:12px;color:#5f6b7a}.home6-signal-foot b{color:#202932}
body:has(.shell) .home6-recent{padding-bottom:16px}.home6-recent-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.home6-recent-grid button{display:grid;grid-template-columns:auto 1fr;gap:10px;text-align:left;border:1px solid #eceff1;background:#fafafa;border-radius:13px;padding:11px}.home6-recent-grid button>span{width:31px;height:31px;border-radius:9px;background:#fff;display:grid;place-items:center;border:1px solid #eceff1}.home6-recent-grid b{display:block;font-size:12px;color:#17202a}.home6-recent-grid small{display:block;font-size:12px;color:#5f6b7a;margin-top:2px}
body:has(.shell) .home6-muted{font-size:12px;color:#5f6b7a;margin:0}
@media(max-width:1100px){body:has(.shell) .home6-overview{grid-template-columns:1fr}.home6-status{grid-template-columns:2fr 1fr 1fr!important}.home6-pulse{grid-row:auto!important}.home6-primary-grid,.home6-secondary-grid{grid-template-columns:1fr!important}.home6-recent-grid{grid-template-columns:repeat(2,1fr)!important}}
@media(max-width:760px){body:has(.shell) .home6-overview{padding:24px 20px}.home6-copy h1{font-size:36px!important}.home6-status{grid-template-columns:1fr 1fr!important}.home6-pulse{grid-column:1/-1}.home6-launch-grid{grid-template-columns:repeat(2,1fr)!important}.home6-recent-grid{grid-template-columns:1fr!important}}

/* ===== Evaluation system v7: flexible structure + dense grade matrix ===== */
body:has(.shell) .eval-page{padding-bottom:36px;color:#151c23}
body:has(.shell) .eval-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin:4px 0 22px}
body:has(.shell) .eval-page-head>div:first-child{max-width:760px}
body:has(.shell) .eval-eyebrow{display:block;font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#5f6b7a;margin-bottom:8px}
body:has(.shell) .eval-page-head h1{margin:0;font-size:44px;line-height:.96;letter-spacing:-.055em;color:#141a20}
body:has(.shell) .eval-page-head p{margin:9px 0 0;font-size:13px;line-height:1.5;color:#66737e;max-width:720px}
body:has(.shell) .eval-head-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}
body:has(.shell) .eval-more{position:relative}
body:has(.shell) .eval-more>summary{list-style:none}.eval-more>summary::-webkit-details-marker{display:none}
body:has(.shell) .eval-more>div{position:absolute;right:0;top:46px;z-index:30;width:200px;padding:6px;background:#fff;border:1px solid #e2e6e9;border-radius:12px;box-shadow:0 16px 40px rgba(20,29,40,.12)}
body:has(.shell) .eval-more>div button{width:100%;border:0;background:transparent;text-align:left;padding:9px 10px;border-radius:8px;font-size:12px;color:#26313b}.eval-more>div button:hover{background:#f4f6f7}

body:has(.shell) .eval-plan-status{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px 16px;margin-bottom:28px;border-radius:14px;background:#172333;color:#fff;box-shadow:0 10px 26px rgba(21,34,51,.10)}
body:has(.shell) .eval-status-copy{display:flex;align-items:center;gap:12px;min-width:0}.eval-status-copy>div{display:flex;flex-direction:column;gap:2px}.eval-status-copy strong{font-size:13px;color:#fff}.eval-status-copy div>span{font-size:12px;color:#5f6b7a}
body:has(.shell) .eval-status-chip{display:inline-flex;align-items:center;height:26px;padding:0 10px;border-radius:999px;background:rgba(255,255,255,.10);font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#d9e2ea}.eval-status-chip.is-published{background:#e7f6ed;color:#2b7350}
body:has(.shell) .eval-status-side{display:flex;align-items:center;gap:12px}.eval-status-side .btn{min-height:36px}
body:has(.shell) .eval-status-progress{width:120px;height:5px;border-radius:999px;background:rgba(255,255,255,.15);overflow:hidden}.eval-status-progress i{display:block;height:100%;background:#dcee58;border-radius:inherit}

body:has(.shell) .eval-section{margin:0 0 30px;padding:0;background:transparent;border:0;box-shadow:none}
body:has(.shell) .eval-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding-bottom:11px;margin-bottom:10px;border-bottom:1px solid #dfe4e7}.eval-section-head h2{margin:0;font-size:23px;letter-spacing:-.04em;line-height:1.02}.eval-section-head p{margin:5px 0 0;font-size:12px;color:#5f6b7a}
body:has(.shell) .eval-components{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
body:has(.shell) .eval-component-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"main alloc" "progress progress";gap:9px 16px;align-items:center;padding:12px 14px;border:1px solid #e2e6e9;border-radius:12px;background:#fff}
body:has(.shell) .eval-component-main{grid-area:main}.eval-component-main strong{display:block;font-size:12.5px}.eval-component-main small{display:block;margin-top:2px;font-size:12px;color:#5f6b7a}
body:has(.shell) .eval-component-allocation{grid-area:alloc;text-align:right;padding-right:32px}.eval-component-allocation strong{display:block;font-size:18px;line-height:1}.eval-component-allocation strong span{font-size:12px;color:#5f6b7a;font-weight:650}.eval-component-allocation small{display:block;margin-top:3px;font-size:12px;color:#5f6b7a}
body:has(.shell) .eval-component-progress{grid-area:progress;height:4px;background:#eff1f2;border-radius:999px;overflow:hidden}.eval-component-progress i{display:block;height:100%;border-radius:inherit;background:#6b87ef}
body:has(.shell) .eval-optional-structure{display:flex;align-items:center;gap:12px;padding:13px 15px;border:1px dashed #d8dde1;border-radius:12px;background:#fafbfa;color:#52606b}.eval-optional-structure>span{width:34px;height:34px;border-radius:10px;background:#eef2f5;display:grid;place-items:center}.eval-optional-structure strong{display:block;font-size:12px}.eval-optional-structure p{margin:2px 0 0;font-size:12px;color:#5f6b7a}

body:has(.shell) .eval-plan-table{border-top:1px solid #dfe4e7}
body:has(.shell) .eval-plan-table-head,.eval-plan-row{display:grid;grid-template-columns:minmax(280px,1.6fr) minmax(150px,.7fr) minmax(190px,.85fr) 80px minmax(150px,.5fr);gap:14px;align-items:center}
body:has(.shell) .eval-plan-table-head{min-height:34px;padding:0 10px;color:#5f6b7a;font-size:12px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;border-bottom:1px solid #e3e7e9}
body:has(.shell) .eval-plan-row{min-height:74px;padding:10px;border-bottom:1px solid #e7eaec;background:#fff}.eval-plan-row:hover{background:#fbfcfc}
body:has(.shell) .eval-plan-activity{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px}.eval-plan-icon{width:34px;height:34px;border-radius:10px;background:#eef3f7;display:grid;place-items:center;color:#44647e}.eval-plan-activity>div>span{display:block;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#5f6b7a}.eval-plan-activity strong{display:block;margin-top:2px;font-size:12.5px;line-height:1.25}.eval-linked{display:inline-block;margin-top:3px;font-size:12px;color:#3d7c62}
body:has(.shell) .eval-plan-component span{display:inline-flex;padding:5px 8px;border-radius:999px;background:#f1f3f4;font-size:12px;font-weight:650;color:#59656f}.eval-plan-date strong{display:block;font-size:12px}.eval-plan-date span{display:block;margin-top:2px;font-size:12px;color:#5f6b7a}.eval-plan-marks strong{display:block;font-size:18px;line-height:1}.eval-plan-marks span{display:block;margin-top:3px;font-size:12px;color:#5f6b7a;text-transform:uppercase;letter-spacing:.05em}
body:has(.shell) .eval-plan-actions{display:flex;align-items:center;justify-content:flex-end;gap:5px}.eval-text-btn{border:0;background:transparent;color:#586570;font-size:12px;font-weight:700;padding:7px 8px;border-radius:8px}.eval-text-btn:hover{background:#f0f2f3;color:#19212a}
body:has(.shell) .eval-empty-inline{display:flex;align-items:center;justify-content:space-between;padding:18px 0;font-size:12px;color:#5f6b7a}

/* gradebook */
body:has(.shell) .eval-gradebook-shell{background:#fff;border:1px solid #e0e4e7;border-radius:14px;overflow:hidden}
body:has(.shell) .eval-gradebook-scroll{overflow:auto;max-width:100%}
body:has(.shell) .eval-gb-header,.eval-gb-row{display:grid;grid-template-columns:minmax(180px,.9fr) repeat(var(--gb-count),minmax(175px,1fr)) minmax(120px,.65fr);min-width:max(100%,calc(180px + var(--gb-count)*175px + 120px));align-items:stretch}
body:has(.shell) .eval-gb-header{position:sticky;top:0;z-index:8;background:#f7f7f4;border-bottom:1px solid #dfe3e6}
body:has(.shell) .eval-gb-student-head,.eval-gb-progress-head{display:flex;align-items:center;padding:12px 14px;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#687580}.eval-gb-student-head{position:sticky;left:0;z-index:10;background:#172333;color:#d9e3ec}.eval-gb-progress-head{justify-content:center}
body:has(.shell) .eval-gb-colhead{position:relative;padding:11px 12px;border-left:1px solid #e4e7e9;min-height:72px}.eval-gb-colhead>div>span{display:block;font-size:12px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#5f6b7a}.eval-gb-colhead strong{display:block;margin-top:4px;font-size:12px;line-height:1.2;color:#1b232b}.eval-gb-colhead small{display:block;margin-top:4px;font-size:12px;color:#5f6b7a}.eval-release,.eval-planned-chip{position:absolute;right:9px;bottom:9px;border:0;border-radius:999px;padding:4px 7px;font-size:12px;font-weight:750;background:#fff;border:1px solid #dce1e4;color:#64717c}.eval-release.is-released{background:#e6f5eb;border-color:#d7ebdf;color:#2f7452}.eval-planned-chip{background:#f0f2f4;color:#5f6b7a}
body:has(.shell) .eval-gb-row{border-bottom:1px solid #e7eaec;background:#fff}.eval-gb-row:last-child{border-bottom:0}.eval-gb-row:hover{background:#fbfcfc}
body:has(.shell) .eval-gb-student{position:sticky;left:0;z-index:4;background:inherit;border-right:1px solid #e3e7e9}.eval-gb-student>button{width:100%;height:100%;display:flex;align-items:center;gap:10px;border:0;background:transparent;text-align:left;padding:12px 13px}.eval-gb-student strong{display:block;font-size:12px;color:#202931}.eval-gb-student small{display:block;max-width:125px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px;font-size:12px;color:#5f6b7a}
body:has(.shell) .eval-gb-cell{min-height:68px;padding:9px 10px;border-left:1px solid #edf0f1;display:flex;align-items:center;justify-content:center;position:relative}.eval-gb-cell>button,.eval-gb-cell>div{width:100%;min-height:49px;border:0;border-radius:10px;background:#f6f7f7;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#3c4853}.eval-gb-cell>button{cursor:pointer}.eval-gb-cell>button:hover{background:#edf2ff}.eval-gb-cell strong{font-size:14px;line-height:1}.eval-gb-cell span{font-size:12px;color:#5f6b7a;margin-top:4px}.eval-gb-cell.is-scored>button{background:#edf2ff;color:#345ecc}.eval-gb-cell.has-status>button{background:#faf1e8;color:#8c5a2e}.eval-gb-cell.is-disabled>div{background:#f4f4f2;color:#5f6b7a}.eval-makeup{position:absolute;bottom:4px;border:0;background:transparent!important;min-height:0!important;width:auto!important;font-size:12px!important;color:#8a5c37!important;text-decoration:underline}
body:has(.shell) .eval-gb-progress{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:10px;border-left:1px solid #e5e8ea}.eval-gb-progress strong{font-size:14px}.eval-gb-progress span{font-size:12px;color:#5f6b7a;text-transform:uppercase;letter-spacing:.04em}.eval-gb-progress small{font-size:12px;color:#606d77;margin-top:3px}
body:has(.shell) .eval-gradebook-note{display:flex;align-items:center;gap:8px;margin-top:10px;padding:9px 12px;border-radius:10px;background:#f7f4ea;color:#6a6250;font-size:12px}.eval-gradebook-note strong{font-size:12px}.eval-gradebook-note span{color:#7b7363}

@media(max-width:1050px){body:has(.shell) .eval-page-head{align-items:flex-start;flex-direction:column}.eval-plan-table-head{display:none!important}.eval-plan-row{grid-template-columns:minmax(0,1fr) auto!important}.eval-plan-component,.eval-plan-date{grid-column:1}.eval-plan-marks{grid-column:2;grid-row:1}.eval-plan-actions{grid-column:2;grid-row:2/4}.eval-components{grid-template-columns:1fr!important}}
@media(max-width:760px){body:has(.shell) .eval-page-head h1{font-size:36px}.eval-plan-status{align-items:flex-start;flex-direction:column}.eval-status-side{width:100%;justify-content:space-between}.eval-status-progress{flex:1}.eval-gb-header,.eval-gb-row{grid-template-columns:minmax(150px,.85fr) repeat(var(--gb-count),minmax(155px,1fr)) minmax(105px,.6fr);min-width:calc(150px + var(--gb-count)*155px + 105px)}}


/* Gradebook class distribution */
body:has(.shell) .gbdist{margin:0 0 16px;background:#fff;border:1px solid #e0e4e7;border-radius:16px;padding:18px 20px 14px;box-shadow:0 10px 28px rgba(28,37,45,.045)}
body:has(.shell) .gbdist-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:start}
body:has(.shell) .gbdist-head h2{font-size:24px;line-height:1.05;letter-spacing:-.035em;margin:5px 0 5px;color:#182129}
body:has(.shell) .gbdist-head p{font-size:12px;line-height:1.5;color:#6c7882;margin:0;max-width:610px}
body:has(.shell) .gbdist-stats{display:grid;grid-template-columns:repeat(4,minmax(72px,1fr));gap:7px}
body:has(.shell) .gbdist-stats span{min-width:78px;padding:9px 10px;border-radius:10px;background:#f4f6f7;display:flex;flex-direction:column}
body:has(.shell) .gbdist-stats b{font-size:16px;letter-spacing:-.025em;color:#1d2730}
body:has(.shell) .gbdist-stats small{font-size:12px;text-transform:uppercase;letter-spacing:.065em;color:#5f6b7a;margin-top:2px}
body:has(.shell) .gbdist-chart{height:205px;margin-top:4px}
body:has(.shell) .gbdist-chart svg{width:100%;height:100%;overflow:visible}
body:has(.shell) .gbdist-area{fill:#edf2ff}
body:has(.shell) .gbdist-curve{fill:none;stroke:#5e7cf4;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
body:has(.shell) .gbdist-mean{stroke:#18212a;stroke-width:1.5;stroke-dasharray:6 6;opacity:.62}
body:has(.shell) .gbdist-student circle{fill:#fff;stroke:#18212a;stroke-width:3}
body:has(.shell) .gbdist-student text{font-size:12px;font-weight:800;fill:#25313a;letter-spacing:.02em}
body:has(.shell) .gbdist-axis line{stroke:#d8dde1;stroke-width:1}
body:has(.shell) .gbdist-axis text{font-size:12px;fill:#7b8791}
body:has(.shell) .gbdist-foot{display:flex;justify-content:space-between;gap:18px;padding-top:6px;border-top:1px solid #eef0f1;font-size:12px;color:#5f6b7a}
@media(max-width:900px){body:has(.shell) .gbdist-head{grid-template-columns:1fr}.gbdist-stats{justify-self:stretch}.gbdist-chart{height:180px}}
@media(max-width:620px){body:has(.shell) .gbdist{padding:15px}.gbdist-stats{grid-template-columns:repeat(2,1fr)}.gbdist-chart{height:160px}.gbdist-foot{flex-direction:column;gap:4px}}

/* === Consistency pass: Activities / Insights / Groups / route density === */
body:has(.shell) .main-inner{padding-top:24px!important;padding-bottom:40px!important}
.act7,.ins7,.grp7{color:#18212a}
.act7-head,.ins7-head,.grp7-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:22px}
.act7-head h1,.ins7-head h1,.grp7-head h1{margin:4px 0 4px;font-size:42px;line-height:.95;letter-spacing:-.055em}
.act7-head p,.ins7-head p,.grp7-head p{margin:0;color:#6b7781;font-size:14px;line-height:1.55}
.act7-overline{display:block;color:#5f6b7a;font-size:12px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.act7-now-empty,.act7-live{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);gap:28px;align-items:center;padding:22px 24px;border:1px solid #e0e5e8;border-radius:18px;background:#fff;margin-bottom:18px}
.act7-now-empty h2{font-size:26px;letter-spacing:-.04em;margin:5px 0 6px}.act7-now-empty p{margin:0;color:#5f6b7a;font-size:13px;max-width:420px}
.act7-quick{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.act7-quick button{border:1px solid #e4e7e9;background:#f8f9f9;border-radius:13px;padding:12px;text-align:left;display:grid;grid-template-columns:34px 1fr;gap:8px 10px;align-items:center}.act7-quick button>span{grid-row:1/3;width:34px;height:34px;border-radius:10px;background:#fff;display:grid;place-items:center}.act7-quick b{font-size:12px}.act7-quick small{font-size:12px;color:#5f6b7a}
.act7-two{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}.act7-column,.act7-recent,.ins7-panel,.ins7-roster,.grp7-set{background:#fff;border:1px solid #e1e5e8;border-radius:18px;padding:18px 20px}.act7-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.act7-section-head span{font-size:12px;color:#5f6b7a;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.act7-section-head h2{font-size:20px;margin:2px 0 0;letter-spacing:-.035em}.act7-section-head>b{font-size:12px;color:#5f6b7a}.act7-list,.act7-table{display:grid}.act7-list article,.act7-table article{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:11px;min-height:58px;border-top:1px solid #edf0f2}.act7-list article:first-child,.act7-table article:first-child{border-top:0}.act7-table article{grid-template-columns:38px minmax(0,1fr) auto auto}.act7-icon{width:34px;height:34px;border-radius:10px;background:#f2f5f6;display:grid;place-items:center}.act7-list strong,.act7-table strong{display:block;font-size:12px}.act7-list small,.act7-table small{display:block;margin-top:2px;color:#5f6b7a;font-size:12px}.act7-row-actions{display:flex;gap:4px}.act7-row-actions button,.act7-table>article>button{border:0;background:transparent;color:#45545f;font-size:12px;font-weight:700;padding:7px 8px;border-radius:8px}.act7-row-actions button:hover,.act7-table>article>button:hover{background:#f1f3f4}.act7-delete{color:#9a5d5d!important}.act7-mini-empty{padding:18px 0;color:#5f6b7a;font-size:12px}.act7-live{grid-template-columns:1fr;gap:10px}.act7-live-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 0;border-top:1px solid #edf0f2}.act7-live-row:first-of-type{border-top:0}.act7-live-row small,.act7-live-row span{font-size:12px;color:#5f6b7a}.act7-live-row strong{display:block;font-size:13px;margin:1px 0}.act7-actions{display:flex;gap:6px}

.ins7-head{margin-bottom:18px}.ins7-summary{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:10px;margin-bottom:12px}.ins7-summary>div{background:#fff;border:1px solid #e1e5e8;border-radius:16px;padding:16px}.ins7-summary .ins7-big{background:#172333;color:#fff;border-color:#172333}.ins7-summary strong{font-size:28px;display:block;letter-spacing:-.04em}.ins7-summary b{font-size:24px;display:block}.ins7-summary span{display:block;margin-top:4px;font-size:12px;color:#5f6b7a}.ins7-summary .ins7-big span{color:#bcc6ce}.ins7-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:12px;margin-bottom:12px}.ins7-title span{font-size:12px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:#5f6b7a}.ins7-title h2{margin:3px 0 15px;font-size:20px;letter-spacing:-.035em}.ins7-mix{display:grid;gap:14px}.ins7-mix>div{display:grid;grid-template-columns:110px 1fr 28px;gap:10px;align-items:center}.ins7-mix span{font-size:12px;color:#65717b}.ins7-mix i,.ins7-bars i{height:7px;background:#eef1f2;border-radius:999px;overflow:hidden}.ins7-mix em,.ins7-bars em{display:block;height:100%;background:#6380ef;border-radius:999px}.ins7-mix b{font-size:12px;text-align:right}.ins7-bars{display:grid;gap:4px}.ins7-bars button{border:0;background:transparent;display:grid;grid-template-columns:155px 1fr 24px;gap:12px;align-items:center;padding:7px 4px;border-radius:9px}.ins7-bars button:hover{background:#f6f7f7}.ins7-bars button>span{display:flex;align-items:center;gap:8px}.ins7-bars button b{font-size:12px}.ins7-bars strong{font-size:12px;text-align:right}.ins7-roster>div:last-child{display:grid}.ins7-roster button{border:0;background:transparent;display:grid;grid-template-columns:minmax(210px,1.4fr) repeat(4,minmax(90px,.6fr));gap:8px;align-items:center;padding:10px 4px;border-top:1px solid #edf0f2;text-align:left}.ins7-roster button:hover{background:#fafbfb}.ins7-person{display:flex;align-items:center;gap:9px}.ins7-person b,.ins7-roster button>span>b{display:block;font-size:12px}.ins7-person small,.ins7-roster button>span>small{display:block;margin-top:2px;font-size:12px;color:#5f6b7a}

.grp7-head{margin-bottom:16px}.grp7-summary{display:flex;gap:8px;margin-bottom:12px}.grp7-summary>div{min-width:112px;background:#fff;border:1px solid #e1e5e8;border-radius:14px;padding:12px 14px}.grp7-summary b{font-size:20px;display:block}.grp7-summary span{font-size:12px;color:#5f6b7a}.grp7-set{padding:18px 20px;margin-bottom:12px}.grp7-set>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:14px;border-bottom:1px solid #edf0f2}.grp7-set>header>div:first-child>span{font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:#478264}.grp7-set h2{font-size:22px;margin:3px 0}.grp7-set p{margin:0;font-size:12px;color:#5f6b7a}.grp7-actions{display:flex;gap:6px}.grp7-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;padding-top:12px}.grp7-grid article{border:1px solid #e5e8ea;border-radius:13px;padding:14px;background:#fbfcfc}.grp7-team-head{display:grid;grid-template-columns:1fr auto;gap:2px 10px;align-items:center}.grp7-team-head span{grid-column:1/-1;font-size:12px;color:#5f6b7a;text-transform:uppercase;letter-spacing:.07em}.grp7-team-head strong{font-size:13px}.grp7-team-head b{font-size:12px;color:#5f6b7a}.grp7-members{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.grp7-members>span{display:flex;align-items:center;gap:6px;padding:5px 8px 5px 5px;border-radius:999px;background:#fff;border:1px solid #e5e8ea;font-size:12px}.grp7-members .avatar{width:24px!important;height:24px!important;font-size:12px!important}.grp7-members i{width:24px;height:24px;border-radius:50%;background:#eef1f2;display:grid;place-items:center;font-style:normal}.grp7-unassigned{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px solid #edf0f2;font-size:12px}.grp7-unassigned>strong{margin-right:6px}.grp7-unassigned>span{padding:6px 9px;border-radius:999px;background:#f3f5f6}.grp7-empty{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#fff;border:1px solid #e1e5e8;border-radius:18px;padding:22px}.grp7-empty h2{margin:0 0 4px;font-size:20px}.grp7-empty p{margin:0;color:#5f6b7a;font-size:12px}

/* keep plan/gradebook as density benchmark */
body:has(.shell) .eval-page-head{margin-bottom:18px!important}
body:has(.shell) .eval-page-head h1{font-size:40px!important}
body:has(.shell) .eval-gb-cell>button,body:has(.shell) .eval-gb-cell>div{min-height:48px!important}
body:has(.shell) .eval-gb-student button span strong{font-size:12px!important}
body:has(.shell) .eval-gb-student button span small{font-size:12px!important}
body:has(.shell) .eval-release,body:has(.shell) .eval-planned-chip{font-size:12px!important;padding:5px 7px!important}

@media(max-width:980px){.act7-now-empty{grid-template-columns:1fr}.act7-quick{grid-template-columns:repeat(2,1fr)}.act7-two,.ins7-grid{grid-template-columns:1fr}.ins7-summary{grid-template-columns:1fr 1fr}.ins7-roster button{grid-template-columns:1fr 1fr 1fr}.ins7-person{grid-column:1/-1}}
@media(max-width:700px){.act7-head,.ins7-head,.grp7-head{align-items:flex-start;flex-direction:column}.act7-two{grid-template-columns:1fr}.act7-table article{grid-template-columns:34px minmax(0,1fr) auto}.act7-table article .act7-delete{display:none}.ins7-summary{grid-template-columns:1fr 1fr}.ins7-mix>div{grid-template-columns:95px 1fr 24px}.ins7-bars button{grid-template-columns:125px 1fr 24px}.grp7-set>header{flex-direction:column}.grp7-actions{flex-wrap:wrap}.grp7-grid{grid-template-columns:1fr}.grp7-summary{overflow-x:auto}}

/* =========================================================
   Cohesive Plan / Library / People pass
   ========================================================= */
:root{
  --co-bg:#f4f5f3;
  --co-surface:#ffffff;
  --co-ink:#171c21;
  --co-muted:#68737d;
  --co-line:#dde2e4;
  --co-blue:#5b7cff;
  --co-blue-soft:#edf1ff;
  --co-green:#4f9a78;
  --co-green-soft:#edf7f2;
  --co-amber:#c7983d;
  --co-amber-soft:#faf4e7;
  --co-violet:#8069d9;
  --co-violet-soft:#f3f0ff;
}
body:has(.shell) .main{background:var(--co-bg)!important}
body:has(.shell) .side-link:not(.active){background:transparent!important}
body:has(.shell) .side-link:not(.active):hover{background:#eef0ed!important}

/* Semester Plan: calmer status + clearer component controls */
body:has(.shell) .eval-plan-status{min-height:64px!important;margin-bottom:26px!important;padding:12px 16px!important;border:1px solid #dce3e7!important;border-radius:14px!important;background:#fff!important;color:var(--co-ink)!important;box-shadow:none!important}
body:has(.shell) .eval-status-copy>div>strong{color:var(--co-ink)!important;font-size:14px!important}
body:has(.shell) .eval-status-copy>div>span{color:#5f6b7a!important;font-size:12px!important}
body:has(.shell) .eval-status-chip{background:#eef1f3!important;color:#56616b!important;border:0!important}
body:has(.shell) .eval-status-chip.is-published{background:#e7f5ed!important;color:#317052!important}
body:has(.shell) .eval-status-progress{width:120px!important;background:#edf0f1!important}.eval-status-progress i{background:#5f80f4!important}
body:has(.shell) .eval-components{gap:10px!important}
body:has(.shell) .eval-component-card{min-height:68px!important;padding:12px 12px 12px 14px!important;border:1px solid var(--co-line)!important;border-radius:12px!important;background:#fff!important;box-shadow:none!important;grid-template-columns:minmax(0,1fr) auto auto!important}
body:has(.shell) .eval-component-main strong{font-size:12.5px!important}.eval-component-main small{font-size:12px!important;color:#5f6b7a!important}
body:has(.shell) .eval-component-allocation strong{font-size:19px!important}.eval-component-allocation strong span{font-size:12px!important;color:#5f6b7a!important}.eval-component-allocation small{font-size:12px!important}
body:has(.shell) .eval-component-progress{grid-column:1/4!important;height:4px!important;margin-top:4px!important;background:#eef1f2!important}.eval-component-progress i{background:#6d83e8!important}
body:has(.shell) .eval-component-edit{height:30px;padding:0 10px;border:1px solid #dde2e4;border-radius:8px;background:#fff;color:#59646d;font-size:12px;font-weight:700}
body:has(.shell) .eval-component-edit:hover{background:#f5f6f5;color:#20262b}

/* Library: calm editorial surfaces, activity-specific previews */
body:has(.shell) .lib4-preview{height:100%;display:flex;flex-direction:column;gap:8px;color:#33414c}.lib4-preview-top{display:flex;justify-content:space-between;gap:8px;align-items:center;font-size:12px;color:#5f6b7a}.lib4-preview-top b{font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:#4f5d68}.lib4-q{display:grid;grid-template-columns:18px 1fr;gap:7px;align-items:center;padding:5px 6px;border-radius:8px;background:rgba(255,255,255,.75)}.lib4-q em{width:18px;height:18px;border-radius:6px;background:#e7ebee;display:grid;place-items:center;font-style:normal;font-size:12px}.lib4-q span{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lib4-stage-row{display:grid;gap:5px}.lib4-stage-row>span{display:grid;grid-template-columns:18px 1fr;gap:6px;align-items:center;font-size:12px;background:rgba(255,255,255,.7);padding:5px;border-radius:8px}.lib4-stage-row em{font-style:normal;width:18px;height:18px;border-radius:6px;background:#ece7df;display:grid;place-items:center}.lib4-preview-groups>strong{font-size:12px;line-height:1.35}.lib4-members{display:flex;margin-top:auto}.lib4-members i{width:25px;height:25px;border-radius:50%;background:#dbe5df;border:2px solid #f4f6f7;margin-left:-5px}.lib4-members i:first-child{margin-left:0}.lib4-score-bars{display:grid;gap:7px;margin-top:8px}.lib4-score-bars i{height:7px;border-radius:99px;background:#e3e7e9;overflow:hidden}.lib4-score-bars i:after{content:"";display:block;width:var(--w);height:100%;background:#8069d9;border-radius:inherit}.lib4-preview-presentation small{font-size:12px;color:#5f6b7a;margin-top:auto}.lib4-poll-bars{display:grid;gap:5px}.lib4-poll-bars>div{display:grid;grid-template-columns:80px 1fr;gap:7px;align-items:center}.lib4-poll-bars span{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lib4-poll-bars i{height:6px;background:#e3e7e9;border-radius:99px;overflow:hidden}.lib4-poll-bars em{display:block;height:100%;background:#5b7cff;border-radius:inherit}.lib4-preview-quick blockquote{margin:7px 0 0;padding:10px 11px;background:rgba(255,255,255,.75);border-radius:10px;font-size:12px;line-height:1.4;font-weight:650}.lib4-preview-assignment p,.lib4-preview>p{font-size:12px;line-height:1.45;margin:4px 0 0;color:#5f6d77}

/* People: human, dense, one product language */
body:has(.shell) .people6{display:grid;gap:17px}
body:has(.shell) .people6-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:end}
body:has(.shell) .people6-head h1{font-size:42px;line-height:.94;letter-spacing:-.055em;margin:10px 0 7px}.people6-head p{font-size:13px;line-height:1.5;color:var(--co-muted);margin:0;max-width:620px}
body:has(.shell) .people6-stats{display:flex;align-items:stretch;gap:6px}.people6-stats>div{min-width:84px;padding:10px 11px;border:1px solid var(--co-line);border-radius:11px;background:#fff}.people6-stats strong{display:block;font-size:20px;line-height:1}.people6-stats span{display:block;margin-top:5px;font-size:12px;color:#5f6b7a}
body:has(.shell) .people6-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px}.people6-toolbar .people-search{flex:1;max-width:500px}.people6-toolbar>span{font-size:12px;color:#5f6b7a}
body:has(.shell) .people6-section{display:grid;gap:9px}.people6-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;border-bottom:1px solid #e1e5e7;padding-bottom:8px}.people6-section-head h2{font-size:20px;line-height:1;margin:4px 0 0;letter-spacing:-.035em}.people6-section-head small{font-size:12px;color:#5f6b7a}
body:has(.shell) .people6-prof-grid{display:grid;grid-template-columns:1fr}.people6-prof-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;min-height:92px;padding:14px 16px;border:1px solid var(--co-line);border-radius:14px;background:#fff;cursor:pointer}.people6-prof-card:hover{border-color:#ccd4d8;box-shadow:0 8px 24px rgba(24,30,35,.04)}.people6-prof-copy h3{font-size:16px;margin:2px 0 4px}.people6-prof-copy p{font-size:12px;color:#69747d;margin:0 0 7px}.people6-role{font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:#5f6b7a}.people6-tags{display:flex;flex-wrap:wrap;gap:4px}.people6-tags span{padding:4px 6px;border-radius:6px;background:#f1f3f2;color:#626e78;font-size:12px}.people6-prof-metrics{display:grid;grid-template-columns:repeat(3,70px);gap:6px}.people6-prof-metrics>div{padding:8px;border-left:1px solid #e6e9ea}.people6-prof-metrics strong{display:block;font-size:16px}.people6-prof-metrics span{font-size:12px;color:#5f6b7a}
body:has(.shell) .people6-student-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.people6-card{display:flex;flex-direction:column;min-height:148px;padding:13px;border:1px solid var(--co-line);border-radius:14px;background:#fff;cursor:pointer;transition:.15s ease}.people6-card:hover{transform:translateY(-1px);border-color:#cfd6da;box-shadow:0 8px 24px rgba(24,30,35,.04)}.people6-card-top{display:flex;align-items:center;gap:10px}.people6-card-top h3{font-size:15px;margin:2px 0 0}.people6-card>p{margin:10px 0 8px;font-size:12px;color:#69747d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.people6-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:auto;padding-top:9px;border-top:1px solid #ecefed}.people6-metrics strong{display:block;font-size:14px}.people6-metrics span{display:block;margin-top:2px;font-size:12px;color:#5f6b7a}.people6-card .visual-avatar.md,.people6-prof-card .visual-avatar.md{width:42px!important;height:42px!important;border-radius:12px!important;font-size:12px!important}.people6-card .visual-avatar.tone-1,.people6-prof-card .visual-avatar.tone-1{background:linear-gradient(145deg,#f8d879,#f4c757)!important}.people6-card .visual-avatar.tone-2,.people6-prof-card .visual-avatar.tone-2{background:linear-gradient(145deg,#bad0ff,#95b5f2)!important}.people6-card .visual-avatar.tone-3,.people6-prof-card .visual-avatar.tone-3{background:linear-gradient(145deg,#b7ead2,#8fd7b6)!important}.people6-card .visual-avatar.tone-4,.people6-prof-card .visual-avatar.tone-4{background:linear-gradient(145deg,#d9c8ff,#bda8f0)!important}.people6-card .visual-avatar.tone-5,.people6-prof-card .visual-avatar.tone-5{background:linear-gradient(145deg,#f6c3b4,#efa58f)!important}

@media(max-width:1080px){.people6-head{grid-template-columns:1fr!important}.people6-stats{justify-content:flex-start}.people6-student-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:760px){.people6-stats{display:grid!important;grid-template-columns:1fr 1fr}.people6-student-grid{grid-template-columns:1fr!important}.people6-prof-card{grid-template-columns:auto minmax(0,1fr)!important}.people6-prof-metrics{grid-column:1/3;grid-template-columns:repeat(3,1fr)!important}.people6-head h1{font-size:36px!important}}

/* =========================================================
   Targeted quality pass — route reset, Library preview, Home density
   ========================================================= */
body:has(.shell) .main,
body:has(.shell) .main-inner{overflow-anchor:none!important;scroll-behavior:auto!important}

/* Home: keep the hero useful without making participation look like a grade. */
body:has(.shell) .home6-overview{
  min-height:196px!important;
  padding:24px 30px!important;
  grid-template-columns:minmax(0,1.55fr) minmax(330px,.7fr)!important;
}
body:has(.shell) .home6-copy h1{font-size:39px!important;margin:9px 0 7px!important}
body:has(.shell) .home6-copy p{font-size:13px!important}
body:has(.shell) .home6-actions{margin-top:17px!important}
body:has(.shell) .home6-status{grid-template-columns:1.45fr .75fr!important;gap:8px!important}
body:has(.shell) .home6-pulse{
  padding:14px 15px!important;
  border-radius:15px!important;
  background:rgba(255,255,255,.10)!important;
  border:1px solid rgba(255,255,255,.10)!important;
  color:#fff!important;
}
body:has(.shell) .home6-pulse span{color:#c1ccd4!important}
body:has(.shell) .home6-pulse strong{font-size:34px!important;margin:5px 0 3px!important;color:#fff!important}
body:has(.shell) .home6-pulse small{font-size:12px!important;color:#c3ced6!important;line-height:1.35!important}
body:has(.shell) .home6-pulse i{height:4px!important;margin-top:10px!important;background:rgba(255,255,255,.13)!important}
body:has(.shell) .home6-mini{padding:12px 13px!important;border-radius:14px!important}
body:has(.shell) .home6-mini strong{font-size:20px!important}
body:has(.shell) .home6-primary-grid{grid-template-columns:1.05fr .95fr!important}
body:has(.shell) .home6-panel{padding:17px!important;border-radius:17px!important}
body:has(.shell) .home6-panel-head{margin-bottom:12px!important}
body:has(.shell) .home6-panel-head h2{font-size:20px!important}
body:has(.shell) .home6-now-item{padding:10px 11px!important;border-radius:12px!important}
body:has(.shell) .home6-now-item.secondary{background:#fbfbf8!important;border-style:dashed!important}
body:has(.shell) .home6-launch-grid button{min-height:80px!important;padding:10px!important;border-radius:12px!important}
body:has(.shell) .home6-launch-grid button>span{width:29px!important;height:29px!important;margin-bottom:8px!important}
body:has(.shell) .home6-launch-grid b{font-size:12px!important}

/* Library: denser browsing, readable metadata, cleaner previews. */
body:has(.shell) .lib4-q{padding:4px 5px!important}
body:has(.shell) .lib4-q span{font-size:12px!important}

/* Library preview modal is a real scrollable inspector, not a duplicated card. */
.library-preview-modal{width:min(620px,calc(100vw - 28px))!important;max-height:min(82vh,760px)!important;overflow:hidden!important;display:flex!important;flex-direction:column!important}
.library-preview-modal .modal-head{flex:0 0 auto!important;padding-bottom:14px!important;border-bottom:1px solid #eceff1!important}
.library-preview-modal .modal-head h2{font-size:23px!important;line-height:1.05!important;letter-spacing:-.035em!important}
.library-preview-modal form{min-height:0!important;display:flex!important;flex-direction:column!important;overflow:hidden!important}
.library-preview-modal .library-copy-note{margin:12px 0 0!important;padding:11px 12px!important;display:grid!important;grid-template-columns:auto 1fr!important;gap:5px 8px!important;align-items:start!important;background:#f3f7fa!important;border-color:#dce7ef!important}
.library-preview-modal .library-copy-note strong{font-size:12px!important;white-space:nowrap!important}
.library-preview-modal .library-copy-note .micro{font-size:12px!important;line-height:1.45!important;margin:0!important}
.library-preview-modal .modal-actions{position:sticky!important;bottom:0!important;z-index:3!important;margin-top:12px!important;padding-top:12px!important;background:#fff!important;border-top:1px solid #eceff1!important}

@media(max-width:900px){
  body:has(.shell) .home6-overview{grid-template-columns:1fr!important}
  body:has(.shell) .home6-status{grid-template-columns:1fr 1fr!important}
  body:has(.shell) .home6-pulse{grid-column:1/-1!important;grid-row:auto!important}
}

/* =========================================================
   Mobile gradebook + Library V5 quality pass
   ========================================================= */

/* Library: quieter, denser, activity-first. */
body:has(.shell) .lib5{display:grid;gap:16px}
body:has(.shell) .lib5-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:end}
body:has(.shell) .lib5-head h1{font-size:42px;line-height:.95;letter-spacing:-.055em;margin:8px 0 8px;max-width:720px}
body:has(.shell) .lib5-head p{max-width:760px;margin:0;font-size:12.5px;line-height:1.55;color:#697680}
body:has(.shell) .lib5-head-actions{display:flex;align-items:center;gap:10px}.lib5-head-actions>span{font-size:12px;color:#5f6b7a}
body:has(.shell) .lib5-toolbar{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;padding:9px;border:1px solid #e0e4e6;border-radius:14px;background:#fff}
body:has(.shell) .lib5-toolbar .tabs{border:0;background:#f3f4f3;padding:3px;border-radius:10px;display:flex;gap:2px}.lib5-toolbar .tab{padding:8px 11px;border-radius:8px;font-size:12px}
body:has(.shell) .lib5-toolbar .library-search{display:grid;grid-template-columns:180px 1fr auto;gap:7px}
body:has(.shell) .lib5-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
body:has(.shell) .lib5-card{min-width:0;display:grid;grid-template-columns:190px minmax(0,1fr);min-height:218px;border:1px solid #dfe4e6;border-radius:16px;background:#fff;overflow:hidden;transition:.16s ease}
body:has(.shell) .lib5-card:hover{border-color:#cbd3d8;box-shadow:0 12px 28px rgba(28,35,41,.055);transform:translateY(-1px)}
body:has(.shell) .lib5-preview{padding:14px;background:#f5f7f8;border-right:1px solid #e2e6e8;min-width:0;overflow:hidden}
body:has(.shell) .lib5-preview:has(.lib4-preview-case){background:#f7f3ee}.lib5-preview:has(.lib4-preview-groups){background:#eef6f2}.lib5-preview:has(.lib4-preview-presentation){background:#f3f0fa}.lib5-preview:has(.lib4-preview-poll){background:#f0f5fa}.lib5-preview:has(.lib4-preview-quick){background:#f2f7f5}
body:has(.shell) .lib5-body{padding:14px 15px;display:flex;flex-direction:column;min-width:0}
body:has(.shell) .lib5-kicker{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:#5f6c76}.lib5-kicker>span{display:flex;align-items:center;gap:6px}.lib5-kicker .ui-icon-wrap{width:15px;height:15px}.lib5-kicker em{font-style:normal;color:#5f6b7a;font-size:12px}
body:has(.shell) .lib5-card h2{font-size:18px;line-height:1.05;letter-spacing:-.035em;margin:10px 0 6px;color:#182129}
body:has(.shell) .lib5-card .lib5-body>p{font-size:12px;line-height:1.48;color:#6a7680;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
body:has(.shell) .lib5-meta{display:flex;flex-wrap:wrap;gap:4px;margin-top:10px}.lib5-meta span{padding:4px 6px;border-radius:6px;background:#f1f3f2;color:#65717a;font-size:12px}
body:has(.shell) .lib5-foot{margin-top:auto;padding-top:11px;border-top:1px solid #eceff0;display:flex;align-items:center;justify-content:space-between;gap:10px}
body:has(.shell) .lib5-author{display:flex;align-items:center;gap:7px;min-width:0}.lib5-author>span{width:29px;height:29px;border-radius:9px;background:#1c2933;color:#fff;display:grid;place-items:center;font-size:12px;font-weight:800;flex:0 0 auto}.lib5-author b{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:110px}.lib5-author small{display:block;margin-top:1px;font-size:12px;color:#5f6b7a}
body:has(.shell) .lib5-actions{display:flex;gap:5px;flex:0 0 auto}.lib5-actions .btn{min-height:31px;padding:0 10px;font-size:12px}
body:has(.shell) .lib5-preview .lib4-preview{gap:7px}.lib5-preview .lib4-preview-top{font-size:12px}.lib5-preview .lib4-q{padding:5px;background:rgba(255,255,255,.78)}.lib5-preview .lib4-q span{font-size:12px}.lib5-preview .lib4-stage-row>span{font-size:12px}.lib5-preview .lib4-preview-groups>strong{font-size:12px}.lib5-preview .lib4-preview-quick blockquote{font-size:12px;padding:8px}.lib5-preview .lib4-poll-bars>div{grid-template-columns:64px 1fr}

/* Rich library inspector */
.library-preview-modal{width:min(690px,calc(100vw - 28px))!important;max-height:min(88vh,820px)!important;border-radius:20px!important}
.library-preview-modal .modal-head h2{font-size:25px!important}
.library-preview-modal .lib-preview-v2{display:grid;gap:12px;padding:14px 2px 4px 0}
.library-preview-modal .lib-preview-meta{display:flex;flex-wrap:wrap;gap:5px}.library-preview-modal .lib-preview-meta span{padding:5px 7px;border-radius:7px;background:#f1f3f2;color:#65717b;font-size:12px;font-weight:650}
.library-preview-modal .lib-preview-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.library-preview-modal .lib-preview-summary>div{padding:10px 11px;border:1px solid #e5e9eb;border-radius:11px;background:#fafbfb}.library-preview-modal .lib-preview-summary strong{display:block;font-size:16px;color:#1c2730}.library-preview-modal .lib-preview-summary span{display:block;margin-top:2px;font-size:12px;color:#5f6b7a;text-transform:uppercase;letter-spacing:.055em}
.library-preview-modal .lib-preview-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:2px}.library-preview-modal .lib-preview-section-head strong{font-size:12px}.library-preview-modal .lib-preview-section-head span{font-size:12px;color:#5f6b7a}
.library-preview-modal .lib-preview-questions{display:grid;gap:8px}.library-preview-modal .lib-preview-questions article{padding:11px;border:1px solid #e6e9eb;border-radius:12px;background:#fff}.library-preview-modal .lib-preview-qtitle{display:grid;grid-template-columns:30px 1fr;gap:9px;align-items:start}.library-preview-modal .lib-preview-qtitle>span{height:26px;border-radius:8px;background:#f0f2f3;display:grid;place-items:center;font-size:12px;font-weight:800;color:#65717c}.library-preview-modal .lib-preview-qtitle strong{font-size:12px;line-height:1.38;color:#1f2931}.library-preview-modal .lib-preview-options{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:8px 0 0 39px}.library-preview-modal .lib-preview-options span{padding:6px 7px;border-radius:8px;background:#f6f7f7;font-size:12px;color:#65717a}.library-preview-modal .lib-preview-options span.is-key{background:#edf5ef;color:#2e7651;font-weight:700}.library-preview-modal .lib-preview-options.poll{margin:0;grid-template-columns:1fr}.library-preview-modal .lib-preview-options.poll span{font-size:12px;padding:9px 10px}
.library-preview-modal .lib-preview-brief{padding:11px 12px;border-radius:12px;background:#f7f8f8;border:1px solid #e7eaec}.library-preview-modal .lib-preview-brief>span{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.07em;font-weight:800;color:#5f6b7a}.library-preview-modal .lib-preview-brief p{font-size:12px;line-height:1.5;color:#29343d;margin:5px 0 0}.library-preview-modal .lib-preview-brief.emphasis{background:#eef5f8;border-color:#dce9ef}.library-preview-modal .lib-preview-timeline{display:grid;gap:7px}.library-preview-modal .lib-preview-timeline article{display:grid;grid-template-columns:28px 1fr;gap:9px;padding:9px 10px;border:1px solid #e6e9eb;border-radius:11px}.library-preview-modal .lib-preview-timeline i{width:26px;height:26px;border-radius:8px;background:#f1f3f2;display:grid;place-items:center;font-size:12px;font-style:normal;font-weight:800}.library-preview-modal .lib-preview-timeline strong{display:block;font-size:12px;line-height:1.35}.library-preview-modal .lib-preview-timeline small{display:block;margin-top:4px;font-size:12px;line-height:1.4;color:#5f6b7a}
.library-preview-modal .library-copy-note{margin-top:10px!important}

@media(max-width:1100px){body:has(.shell) .lib5-grid{grid-template-columns:1fr}.lib5-card{grid-template-columns:180px minmax(0,1fr)!important}}

/* Gradebook: mobile is a native stacked review flow, not a squeezed desktop matrix. */
@media(max-width:760px){
  body:has(.shell) .main-inner{padding-bottom:118px!important}
  body:has(.shell) .eval-gradebook-page{display:grid;gap:12px}
  body:has(.shell) .eval-gradebook-page .eval-page-head{margin-bottom:2px!important}
  body:has(.shell) .eval-gradebook-page .eval-page-head h1{font-size:31px!important}
  body:has(.shell) .eval-gradebook-page .eval-page-head p{font-size:12px!important}
  body:has(.shell) .gbdist{padding:13px 13px 10px!important;margin-bottom:0!important;border-radius:14px!important}
  body:has(.shell) .gbdist-head{display:block!important}
  body:has(.shell) .gbdist-head h2{font-size:18px!important;margin:4px 0!important}
  body:has(.shell) .gbdist-head p{font-size:12px!important;line-height:1.4!important;max-width:none!important}
  body:has(.shell) .gbdist-stats{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:5px!important;margin-top:10px!important}
  body:has(.shell) .gbdist-stats span{min-width:0!important;padding:7px 6px!important;border-radius:9px!important}
  body:has(.shell) .gbdist-stats b{font-size:13px!important}
  body:has(.shell) .gbdist-stats small{font-size:12px!important;letter-spacing:.03em!important}
  body:has(.shell) .gbdist-chart{height:125px!important;margin-top:0!important;overflow:hidden!important}
  body:has(.shell) .gbdist-chart svg{height:150px!important;transform:translateY(-7px)}
  body:has(.shell) .gbdist-foot{font-size:12px!important;line-height:1.35!important;padding-top:5px!important;gap:2px!important}
  body:has(.shell) .gbdist-foot span:last-child{display:none!important}

  body:has(.shell) .eval-gradebook-shell{border:0!important;border-radius:0!important;background:transparent!important;overflow:visible!important}
  body:has(.shell) .eval-gradebook-scroll{overflow:visible!important;max-width:none!important}
  body:has(.shell) .eval-gb-header{display:none!important}
  body:has(.shell) .eval-gb-row{display:grid!important;grid-template-columns:1fr!important;min-width:0!important;margin-bottom:9px!important;border:1px solid #dde3e6!important;border-radius:14px!important;overflow:hidden!important;background:#fff!important}
  body:has(.shell) .eval-gb-student{position:static!important;left:auto!important;z-index:auto!important;border:0!important;border-bottom:1px solid #e8ebed!important;background:#fff!important}
  body:has(.shell) .eval-gb-student>button{padding:11px 12px!important;gap:9px!important}
  body:has(.shell) .eval-gb-student .avatar-sm{width:34px!important;height:34px!important;font-size:12px!important}
  body:has(.shell) .eval-gb-student strong{font-size:12px!important}
  body:has(.shell) .eval-gb-student small{font-size:12px!important;max-width:220px!important}
  body:has(.shell) .eval-gb-cell{min-height:0!important;padding:9px 11px!important;border-left:0!important;border-bottom:1px solid #edf0f1!important;display:grid!important;grid-template-columns:minmax(0,1fr) 84px!important;grid-template-rows:auto auto!important;gap:2px 10px!important;align-items:center!important;justify-content:stretch!important;text-align:left!important}
  body:has(.shell) .eval-gb-cell::before{content:attr(data-title);grid-column:1;grid-row:1;font-size:12px;font-weight:750;line-height:1.3;color:#25303a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  body:has(.shell) .eval-gb-cell::after{content:attr(data-component) " · " attr(data-max);grid-column:1;grid-row:2;font-size:12px;line-height:1.3;color:#5f6b7a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  body:has(.shell) .eval-gb-cell>button,body:has(.shell) .eval-gb-cell>div{grid-column:2;grid-row:1/3;width:84px!important;min-height:42px!important;border-radius:9px!important;padding:5px!important}
  body:has(.shell) .eval-gb-cell strong{font-size:13px!important}
  body:has(.shell) .eval-gb-cell span{font-size:12px!important;margin-top:2px!important}
  body:has(.shell) .eval-makeup{grid-column:1!important;grid-row:3!important;position:static!important;justify-self:start!important;width:auto!important;min-height:0!important;padding:3px 0!important}
  body:has(.shell) .eval-gb-progress{min-height:48px!important;padding:10px 12px!important;border-left:0!important;background:#f8f9f9!important;display:grid!important;grid-template-columns:1fr auto!important;grid-template-rows:auto auto!important;text-align:left!important;align-items:center!important}
  body:has(.shell) .eval-gb-progress::before{content:"Current progress";grid-column:1;grid-row:1/3;font-size:12px;font-weight:750;color:#5e6a74;text-transform:none;letter-spacing:0}
  body:has(.shell) .eval-gb-progress strong{grid-column:2;grid-row:1;font-size:12px!important;text-align:right}.eval-gb-progress span{display:none!important}.eval-gb-progress small{grid-column:2;grid-row:2;font-size:12px!important;text-align:right;margin:1px 0 0!important}
  body:has(.shell) .eval-gradebook-note{margin:0!important;padding:10px 11px!important;border-radius:11px!important;display:block!important;font-size:12px!important;line-height:1.4!important}.eval-gradebook-note strong{display:block!important;margin-bottom:2px}

  body:has(.shell) .lib5{gap:12px!important}
  body:has(.shell) .lib5-head{grid-template-columns:1fr!important;gap:12px!important}
  body:has(.shell) .lib5-head h1{font-size:34px!important;max-width:none!important}
  body:has(.shell) .lib5-head p{font-size:12px!important}
  body:has(.shell) .lib5-head-actions{justify-content:space-between!important}
  body:has(.shell) .lib5-toolbar{grid-template-columns:1fr!important;padding:7px!important;gap:7px!important}
  body:has(.shell) .lib5-toolbar .tabs{width:100%!important;display:grid!important;grid-template-columns:repeat(3,1fr)!important}
  body:has(.shell) .lib5-toolbar .tab{text-align:center!important}
  body:has(.shell) .lib5-toolbar .library-search{grid-template-columns:1fr!important}
  body:has(.shell) .lib5-grid{grid-template-columns:1fr!important;gap:8px!important}
  body:has(.shell) .lib5-card{grid-template-columns:104px minmax(0,1fr)!important;min-height:166px!important;border-radius:13px!important}
  body:has(.shell) .lib5-preview{padding:9px!important;border-right:1px solid #e3e7e9!important}
  body:has(.shell) .lib5-body{padding:10px!important}
  body:has(.shell) .lib5-card h2{font-size:14px!important;margin:7px 0 4px!important}
  body:has(.shell) .lib5-card .lib5-body>p{font-size:12px!important;-webkit-line-clamp:2!important}
  body:has(.shell) .lib5-meta{margin-top:7px!important}.lib5-meta span{font-size:12px!important;padding:3px 5px!important}
  body:has(.shell) .lib5-foot{padding-top:7px!important;gap:6px!important}
  body:has(.shell) .lib5-author>span{width:24px!important;height:24px!important;border-radius:7px!important;font-size:12px!important}.lib5-author b{font-size:12px!important;max-width:80px!important}.lib5-author small{font-size:12px!important}
  body:has(.shell) .lib5-actions .btn{min-height:27px!important;padding:0 7px!important;font-size:12px!important}.lib5-actions{gap:4px!important}
  body:has(.shell) .lib5-preview .lib4-preview-top{font-size:12px!important}.lib5-preview .lib4-preview-top b{display:none!important}.lib5-preview .lib4-q{grid-template-columns:14px 1fr!important;gap:4px!important;padding:3px!important}.lib5-preview .lib4-q em{width:14px!important;height:14px!important;font-size:12px!important}.lib5-preview .lib4-q span{font-size:12px!important}.lib5-preview .lib4-stage-row>span{font-size:12px!important;padding:3px!important}.lib5-preview .lib4-stage-row em{width:14px!important;height:14px!important}.lib5-preview .lib4-poll-bars>div{grid-template-columns:1fr!important}.lib5-preview .lib4-poll-bars span{font-size:12px!important}.lib5-preview .lib4-preview-quick blockquote{font-size:12px!important;padding:6px!important}.lib5-preview .lib4-preview-groups>strong{font-size:12px!important}.lib5-preview .lib4-members i{width:18px!important;height:18px!important}

  .library-preview-modal{width:calc(100vw - 18px)!important;max-height:88dvh!important;border-radius:16px!important}
  .library-preview-modal .modal-head h2{font-size:20px!important}
  .library-preview-modal .lib-preview-summary{grid-template-columns:repeat(3,1fr)!important}.library-preview-modal .lib-preview-summary>div{padding:8px!important}.library-preview-modal .lib-preview-summary strong{font-size:13px!important}.library-preview-modal .lib-preview-options{grid-template-columns:1fr!important;margin-left:0!important}.library-preview-modal .lib-preview-qtitle{grid-template-columns:26px 1fr!important}.library-preview-modal .lib-preview-questions article{padding:9px!important}.library-preview-modal .lib-preview-qtitle strong{font-size:12px!important}.library-preview-modal .modal-actions{padding-bottom:max(4px,env(safe-area-inset-bottom))!important}
}

/* =========================================================
   Gradebook responsive correction — tablet/mobile shell sync
   The app switches to bottom navigation before 760px, so the
   gradebook must stop rendering as a desktop matrix at the same
   practical viewport range.
   ========================================================= */
@media (max-width: 1024px){
  body:has(.shell) .main-inner{padding-bottom:128px!important}
  body:has(.shell) .eval-gradebook-page{display:grid!important;gap:12px!important}
  body:has(.shell) .eval-gradebook-page .eval-page-head{margin-bottom:0!important;gap:10px!important}
  body:has(.shell) .eval-gradebook-page .eval-page-head h1{font-size:clamp(28px,5vw,36px)!important;line-height:.98!important}
  body:has(.shell) .eval-gradebook-page .eval-page-head p{font-size:12px!important;line-height:1.45!important;max-width:560px!important}

  /* compact distribution rather than a giant chart card */
  body:has(.shell) .gbdist{padding:14px!important;border-radius:16px!important;margin:0!important}
  body:has(.shell) .gbdist-head{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
  body:has(.shell) .gbdist-head h2{font-size:20px!important;margin:3px 0 4px!important}
  body:has(.shell) .gbdist-head p{font-size:12px!important;line-height:1.45!important;max-width:620px!important}
  body:has(.shell) .gbdist-stats{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:6px!important;margin:0!important}
  body:has(.shell) .gbdist-stats span{min-width:0!important;padding:8px!important;border-radius:10px!important}
  body:has(.shell) .gbdist-stats b{font-size:14px!important}
  body:has(.shell) .gbdist-stats small{font-size:12px!important}
  body:has(.shell) .gbdist-chart{height:145px!important;margin:0!important;overflow:hidden!important}
  body:has(.shell) .gbdist-chart svg{height:170px!important;transform:translateY(-8px)!important}
  body:has(.shell) .gbdist-foot{display:flex!important;flex-wrap:wrap!important;gap:4px 12px!important;padding-top:6px!important;font-size:12px!important;line-height:1.35!important}

  /* switch the matrix to student cards */
  body:has(.shell) .eval-gradebook-shell{border:0!important;border-radius:0!important;background:transparent!important;overflow:visible!important}
  body:has(.shell) .eval-gradebook-scroll{overflow:visible!important;max-width:none!important}
  body:has(.shell) .eval-gb-header{display:none!important}
  body:has(.shell) .eval-gb-row{
    display:grid!important;
    grid-template-columns:1fr!important;
    min-width:0!important;
    margin:0 0 10px!important;
    border:1px solid #dfe4e7!important;
    border-radius:15px!important;
    overflow:hidden!important;
    background:#fff!important;
    box-shadow:0 7px 20px rgba(24,34,44,.035)!important;
  }
  body:has(.shell) .eval-gb-student{
    position:static!important;left:auto!important;z-index:auto!important;
    width:auto!important;min-width:0!important;
    border:0!important;border-bottom:1px solid #e9edef!important;
    background:#fff!important;
  }
  body:has(.shell) .eval-gb-student>button{padding:12px 13px!important;gap:10px!important;min-height:58px!important}
  body:has(.shell) .eval-gb-student .avatar-sm{width:36px!important;height:36px!important;font-size:12px!important;flex:0 0 36px!important}
  body:has(.shell) .eval-gb-student strong{font-size:13px!important;line-height:1.2!important}
  body:has(.shell) .eval-gb-student small{font-size:12px!important;line-height:1.25!important;max-width:min(58vw,320px)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}

  body:has(.shell) .eval-gb-cell{
    min-height:58px!important;
    padding:9px 12px!important;
    border-left:0!important;border-right:0!important;border-bottom:1px solid #edf0f1!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 92px!important;
    grid-template-rows:auto auto!important;
    gap:2px 12px!important;
    align-items:center!important;
    text-align:left!important;
    background:#fff!important;
  }
  body:has(.shell) .eval-gb-cell::before{
    content:attr(data-title)!important;
    grid-column:1!important;grid-row:1!important;
    font-size:12px!important;font-weight:760!important;line-height:1.3!important;color:#202a33!important;
    white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
  }
  body:has(.shell) .eval-gb-cell::after{
    content:attr(data-component) " · " attr(data-max)!important;
    grid-column:1!important;grid-row:2!important;
    font-size:12px!important;line-height:1.3!important;color:#5f6b7a!important;
    white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
  }
  body:has(.shell) .eval-gb-cell>button,
  body:has(.shell) .eval-gb-cell>div{
    grid-column:2!important;grid-row:1/3!important;
    width:92px!important;min-width:92px!important;min-height:44px!important;
    border-radius:10px!important;padding:6px 7px!important;
    margin:0!important;
  }
  body:has(.shell) .eval-gb-cell strong{font-size:14px!important;line-height:1!important}
  body:has(.shell) .eval-gb-cell span{font-size:12px!important;line-height:1.2!important;margin-top:3px!important}
  body:has(.shell) .eval-gb-cell.is-scored>button{background:#eef3ff!important;color:#315ed5!important}
  body:has(.shell) .eval-gb-cell:not(.is-scored)>button,
  body:has(.shell) .eval-gb-cell:not(.is-scored)>div{background:#f5f5f3!important;color:#5f6b7a!important}
  body:has(.shell) .eval-makeup{grid-column:1!important;grid-row:3!important;width:auto!important;min-width:0!important;min-height:0!important;padding:4px 0 0!important;margin:0!important;justify-self:start!important}

  body:has(.shell) .eval-gb-progress{
    min-height:52px!important;padding:10px 12px!important;border:0!important;
    background:#f7f8f8!important;
    display:grid!important;grid-template-columns:1fr auto!important;grid-template-rows:auto auto!important;
    text-align:left!important;align-items:center!important;
  }
  body:has(.shell) .eval-gb-progress::before{content:"Current progress"!important;grid-column:1!important;grid-row:1/3!important;font-size:12px!important;font-weight:760!important;color:#58646e!important;text-transform:none!important;letter-spacing:0!important}
  body:has(.shell) .eval-gb-progress strong{grid-column:2!important;grid-row:1!important;font-size:13px!important;text-align:right!important}
  body:has(.shell) .eval-gb-progress span{display:none!important}
  body:has(.shell) .eval-gb-progress small{grid-column:2!important;grid-row:2!important;font-size:12px!important;text-align:right!important;margin:2px 0 0!important}

  body:has(.shell) .eval-gradebook-note{margin:0!important;padding:10px 12px!important;border-radius:11px!important;display:block!important;font-size:12px!important;line-height:1.45!important}
  body:has(.shell) .eval-gradebook-note strong{display:block!important;margin-bottom:2px!important}
}

/* phone refinement */
@media (max-width: 600px){
  body:has(.shell) .gbdist-chart{height:112px!important}
  body:has(.shell) .gbdist-chart svg{height:140px!important;transform:translateY(-11px)!important}
  body:has(.shell) .gbdist-foot span:last-child{display:none!important}
  body:has(.shell) .eval-gb-cell{grid-template-columns:minmax(0,1fr) 82px!important;padding:9px 10px!important}
  body:has(.shell) .eval-gb-cell>button,body:has(.shell) .eval-gb-cell>div{width:82px!important;min-width:82px!important}
}


/* ===== Library preview: real internal scrolling ===== */
.library-preview-modal{
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr)!important;
  width:min(720px,calc(100vw - 32px))!important;
  max-height:min(88dvh,840px)!important;
  overflow:hidden!important;
}
.library-preview-modal .modal-head{margin-bottom:12px!important}
.library-preview-modal .library-preview-form{
  min-height:0!important;
  display:grid!important;
  grid-template-rows:minmax(0,1fr) auto!important;
  overflow:hidden!important;
}
.library-preview-modal .library-preview-scroll{
  min-height:0!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch!important;
  padding:2px 8px 10px 0!important;
  scrollbar-gutter:stable!important;
}
.library-preview-modal .library-preview-form>.modal-actions{
  position:relative!important;
  bottom:auto!important;
  margin:0!important;
  padding:13px 0 0!important;
  background:#fff!important;
  border-top:1px solid #e7eaec!important;
}
@media(max-width:640px){
  .library-preview-modal{width:calc(100vw - 18px)!important;max-height:90dvh!important;padding:16px!important}
  .library-preview-modal .library-preview-scroll{padding-right:4px!important}
}


/* ===== Library activity preview identity pass ===== */
body:has(.shell) .lib5-card{
  grid-template-columns:214px minmax(0,1fr);
  min-height:224px;
}
body:has(.shell) .lib5-preview{
  --pv-bg:#edf1f4;
  --pv-accent:#50606d;
  --pv-ink:#1d2a33;
  background:var(--pv-bg)!important;
  color:var(--pv-ink)!important;
  padding:16px!important;
  border-right:0!important;
  position:relative;
}
body:has(.shell) .lib5-preview::after{
  content:"";
  position:absolute;
  width:94px;
  height:94px;
  border-radius:50%;
  right:-40px;
  bottom:-44px;
  background:color-mix(in srgb,var(--pv-accent) 11%, transparent);
  pointer-events:none;
}
body:has(.shell) .lib5-preview.type-quiz{--pv-bg:#e4e9ff;--pv-accent:#536bfa;--pv-ink:#1d285a}
body:has(.shell) .lib5-preview.type-case{--pv-bg:#ffe7dd;--pv-accent:#e66d4e;--pv-ink:#5b2d21}
body:has(.shell) .lib5-preview.type-groups{--pv-bg:#ddf2e9;--pv-accent:#2e9b76;--pv-ink:#194c3d}
body:has(.shell) .lib5-preview.type-presentation{--pv-bg:#ebe3ff;--pv-accent:#785bd8;--pv-ink:#3d2c70}
body:has(.shell) .lib5-preview.type-poll{--pv-bg:#def2fb;--pv-accent:#2799bd;--pv-ink:#174a5b}
body:has(.shell) .lib5-preview.type-quick{--pv-bg:#fff0d3;--pv-accent:#c58a22;--pv-ink:#5d4518}
body:has(.shell) .lib5-preview.type-assignment{--pv-bg:#ffe7e3;--pv-accent:#df6258;--pv-ink:#612e29}
body:has(.shell) .lib5-preview.type-pulse{--pv-bg:#e2f4ec;--pv-accent:#36936f;--pv-ink:#1f503f}
body:has(.shell) .lib5-preview.type-qna{--pv-bg:#eee4ff;--pv-accent:#825ed4;--pv-ink:#432d70}
body:has(.shell) .lib5-preview.type-random{--pv-bg:#e8eef3;--pv-accent:#627687;--pv-ink:#2f414e}

body:has(.shell) .lib5-preview .lib4-preview{position:relative;z-index:1;gap:9px!important;color:var(--pv-ink)!important}
body:has(.shell) .lib5-preview .lib4-preview-top{font-size:12px!important;color:color-mix(in srgb,var(--pv-ink) 66%, transparent)!important}
body:has(.shell) .lib5-preview .lib4-preview-top b{color:var(--pv-accent)!important;font-size:12px!important;letter-spacing:.09em!important}
body:has(.shell) .lib5-preview .lib4-q,
body:has(.shell) .lib5-preview .lib4-stage-row>span,
body:has(.shell) .lib5-preview .lib4-preview-quick blockquote{
  background:rgba(255,255,255,.66)!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.38);
}
body:has(.shell) .lib5-preview .lib4-q em,
body:has(.shell) .lib5-preview .lib4-stage-row em{
  background:color-mix(in srgb,var(--pv-accent) 14%, #fff)!important;
  color:var(--pv-accent)!important;
  font-weight:800;
}
body:has(.shell) .lib5-preview .lib4-q span,
body:has(.shell) .lib5-preview .lib4-stage-row>span,
body:has(.shell) .lib5-preview .lib4-preview-groups>strong,
body:has(.shell) .lib5-preview .lib4-preview-quick blockquote,
body:has(.shell) .lib5-preview .lib4-preview-assignment p,
body:has(.shell) .lib5-preview .lib4-preview>p{
  color:var(--pv-ink)!important;
}
body:has(.shell) .lib5-preview .lib4-score-bars i,
body:has(.shell) .lib5-preview .lib4-poll-bars i{background:rgba(255,255,255,.66)!important}
body:has(.shell) .lib5-preview .lib4-score-bars i:after,
body:has(.shell) .lib5-preview .lib4-poll-bars em{background:var(--pv-accent)!important}
body:has(.shell) .lib5-preview .lib4-members i{
  background:color-mix(in srgb,var(--pv-accent) 18%, #fff)!important;
  border-color:rgba(255,255,255,.8)!important;
}
body:has(.shell) .lib5-card.type-quiz .lib5-kicker .ui-icon-wrap{color:#536bfa!important}
body:has(.shell) .lib5-card.type-case .lib5-kicker .ui-icon-wrap{color:#e66d4e!important}
body:has(.shell) .lib5-card.type-groups .lib5-kicker .ui-icon-wrap{color:#2e9b76!important}
body:has(.shell) .lib5-card.type-presentation .lib5-kicker .ui-icon-wrap{color:#785bd8!important}
body:has(.shell) .lib5-card.type-poll .lib5-kicker .ui-icon-wrap{color:#2799bd!important}
body:has(.shell) .lib5-card.type-quick .lib5-kicker .ui-icon-wrap{color:#c58a22!important}
body:has(.shell) .lib5-card.type-assignment .lib5-kicker .ui-icon-wrap{color:#df6258!important}
body:has(.shell) .lib5-card.type-pulse .lib5-kicker .ui-icon-wrap{color:#36936f!important}
body:has(.shell) .lib5-card.type-qna .lib5-kicker .ui-icon-wrap{color:#825ed4!important}
body:has(.shell) .lib5-card.type-random .lib5-kicker .ui-icon-wrap{color:#627687!important}

@media(max-width:1100px){
  body:has(.shell) .lib5-card{grid-template-columns:205px minmax(0,1fr)!important}
}
@media(max-width:760px){
  body:has(.shell) .lib5-card{grid-template-columns:112px minmax(0,1fr)!important;min-height:168px!important}
  body:has(.shell) .lib5-preview{padding:10px!important}
  body:has(.shell) .lib5-preview::after{width:62px;height:62px;right:-28px;bottom:-30px}
}

/* ===== v11.34 exam integrity ===== */
.exam-monitor-banner{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;margin:0 0 16px;padding:11px 14px;border-radius:12px;background:#f3f6f4;border:1px solid #dfe7e2;color:#2b3a33;font-size:13px;line-height:1.45}
.exam-monitor-banner strong{font-weight:700}
.exam-monitor-banner span{margin-left:auto;font-size:12px;font-weight:700;color:#8a5a00;background:#fff4dc;border-radius:999px;padding:3px 10px}
.exam-monitor-banner.is-warning{background:#fff5e8;border-color:#f2c48a;color:#6b3b00}
.integrity-alert-panel{border:1px solid #ecd9b8;background:#fffaf1;border-radius:16px;padding:14px 16px;margin:0 0 18px}
.integrity-alert-head{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:13px}
.integrity-alert-head>div{display:flex;align-items:center;gap:8px}
.integrity-alert-head strong{font-size:15px}
.integrity-alert-head>span{color:#7a6446;font-weight:600}
.integrity-dot{width:9px;height:9px;border-radius:50%;background:#c9b48f;display:inline-block}
.integrity-dot.is-hot{background:#d9480f;box-shadow:0 0 0 0 rgba(217,72,15,.5);animation:integrityPulse 1.4s infinite}
@keyframes integrityPulse{70%{box-shadow:0 0 0 9px rgba(217,72,15,0)}100%{box-shadow:0 0 0 0 rgba(217,72,15,0)}}
@media (prefers-reduced-motion:reduce){.integrity-dot.is-hot{animation:none}}
.integrity-alert-list{display:grid;gap:8px;margin-top:12px;max-height:340px;overflow:auto}
.integrity-alert-row{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;background:#fff;border:1px solid #f0e4cf;border-radius:12px;padding:10px 12px}
.integrity-alert-row strong{display:block;font-size:14px}
.integrity-alert-row span{display:block;font-size:12.5px;color:#6b5a42;margin-top:2px}
.integrity-alert-row b{white-space:nowrap;color:#b3470d;font-size:14px}
.integrity-alert-row.is-recent{border-color:#f0a36b;background:#fff3ea}
.integrity-chip-row{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}
.integrity-chip{display:inline-block!important;font-size:12px!important;background:#f6efe3;color:#6b5a42!important;border-radius:999px;padding:2px 8px;margin:0!important}
.integrity-review{margin-top:16px;border-top:1px solid #eee;padding-top:12px}
.integrity-review h3{font-size:14px;margin:0 0 8px}
.integrity-timeline{list-style:none;margin:0;padding:0;display:grid;gap:4px;max-height:240px;overflow:auto;font-size:12.5px}
.integrity-timeline li{display:flex;gap:10px;color:#556}
.integrity-timeline li.is-flag{color:#9a3a07;font-weight:600}
.integrity-timeline time{min-width:84px;color:#5f6b7a;font-variant-numeric:tabular-nums}
.remote-integrity-list{display:grid;gap:6px;margin-top:10px}
.remote-integrity-list>div{display:grid;grid-template-columns:1fr auto;gap:2px 10px;background:#fff7ec;border:1px solid #f0dcc0;border-radius:10px;padding:8px 10px}
.remote-integrity-list span{grid-column:1;font-size:12px;color:#6b5a42}
.remote-integrity-list b{grid-row:1/span 2;grid-column:2;align-self:center;color:#b3470d}
.projector-quiz .integrity-alert-panel{max-width:980px;margin:28px auto 0;text-align:left}
.projector-quiz .integrity-alert-head strong{font-size:22px}
.projector-quiz .integrity-alert-head>span{font-size:17px}
.projector-quiz .integrity-alert-list{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));max-height:none}
.projector-quiz .integrity-alert-row strong{font-size:20px}
.projector-quiz .integrity-alert-row span{font-size:15px}
.projector-quiz .integrity-alert-row b{font-size:18px}
.toast{max-width:min(92vw,560px);text-align:center}
.integrity-alert-panel,.integrity-alert-panel strong,.integrity-alert-row strong{color:#2a2016!important}
.projector-quiz .integrity-alert-panel{background:#fff8ec!important}

/* ===== v11.34 navigation, test review, accessibility ===== */
button.mobile-link{appearance:none;background:transparent;border:0;font:inherit;color:inherit;cursor:pointer;padding:0}
.mobile-more-sheet{max-width:520px}
.mobile-more-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:6px}
.mobile-more-item{appearance:none;border:1px solid #e6e8ea;background:#fff;border-radius:14px;padding:14px 8px;display:grid;justify-items:center;gap:6px;font:inherit;font-size:12.5px;font-weight:600;color:#1d2328;cursor:pointer;min-height:76px}
.mobile-more-item.active{border-color:#1d2328;background:#f4f6f7}
@media (min-width:961px){[data-mobile-more]{display:none!important}}
.quiz-nav-row{display:flex;gap:10px;align-items:stretch}
.quiz-nav-row .live-submit{flex:1}
.quiz-nav-row [data-quiz-prev]{min-width:120px}
.quiz-review-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:8px;margin:14px 0}
.quiz-review-cell{appearance:none;border-radius:10px;min-height:44px;font:inherit;font-weight:700;cursor:pointer;border:1px solid #dfe3e6;background:#fff}
.quiz-review-cell.is-done{background:#e9f7ef;border-color:#9fd8b5;color:#11663a}
.quiz-review-cell.is-missing{background:#fff3e8;border-color:#f2b98a;color:#8a3d00}
[role="button"][tabindex="0"]:focus-visible,[role="radio"][tabindex="0"]:focus-visible,.mobile-link:focus-visible,.mobile-more-item:focus-visible{outline:3px solid #2f6fed;outline-offset:2px}

/* v11.34.2: search boxes — keep the text clear of the magnifier icon everywhere */
.search{position:relative}.search>input,.search>.input{padding-left:42px!important}

/* v11.34.2: long legal pages */
.legal-card.legal-card-long{width:min(100%,760px)}.legal-card-long .legal-body{color:var(--ink,#1b1d1c);line-height:1.65;font-size:15px}.legal-card-long .legal-body h2{font-size:20px;margin:28px 0 8px;letter-spacing:-.02em}.legal-card-long .legal-body ul{padding-left:20px;margin:0}.legal-card-long .legal-body li{margin:6px 0}.legal-card-long .legal-body a{text-decoration:underline}.legal-card-long .legal-lede{font-size:16px;color:var(--muted)}.legal-card-long>.btn{margin-top:24px}

/* v11.34.2: section pages use one plain title (no slogan, overline or description) */
html body:has(.shell) :is(.people6-head,.eval-page-head,.ins7-head,.grp7-head,.lib5-head,.act7-head,.page-head) h1{font-size:clamp(28px,3.4vw,38px)!important;line-height:1.1!important;letter-spacing:-.035em!important;margin:0!important;text-align:left!important}
html body:has(.shell) :is(.people6-head,.eval-page-head,.ins7-head,.grp7-head,.lib5-head,.act7-head,.page-head){align-items:center!important}
@media(max-width:720px){
  html body:has(.shell) :is(.people6-head,.eval-page-head,.ins7-head,.grp7-head,.lib5-head,.act7-head,.page-head){display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;justify-content:space-between!important;text-align:left!important;gap:10px 12px!important}
  html body:has(.shell) :is(.people6-head,.eval-page-head,.ins7-head,.grp7-head,.lib5-head,.act7-head,.page-head)>div:first-child{flex:1 1 auto;min-width:0;text-align:left!important}
  html body:has(.shell) :is(.people6-head,.eval-page-head,.ins7-head,.grp7-head,.lib5-head,.act7-head,.page-head) h1{font-size:28px!important}
  html body .people6-head>.people6-stats{flex-basis:100%}
}

/* v11.36: projector participant roster (dark projector theme) */
.projector-roster{margin-top:22px;width:100%;max-width:1400px;text-align:left}
.projector-roster-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:10px;color:rgba(255,255,255,.86)}
.projector-roster-head strong{font-size:18px}
.projector-roster-head span{display:flex;align-items:center;gap:6px 14px;flex-wrap:wrap;font-size:14px;color:rgba(255,255,255,.7)}
.projector-roster-head .dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:4px}
.projector-roster .dot.done,.projector-roster-chip.is-done{--c:#32d583}.projector-roster .dot.answering,.projector-roster-chip.is-answering{--c:#fdb022}.projector-roster .dot.idle,.projector-roster-chip.is-idle{--c:rgba(255,255,255,.35)}
.projector-roster .dot{background:var(--c)}
.projector-roster-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px}
.projector-roster-chip{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-left:4px solid var(--c);border-radius:10px;padding:8px 10px;min-width:0}
.projector-roster-chip b{display:block;font-size:15px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.projector-roster-chip span{font-size:13px;color:rgba(255,255,255,.72)}
.projector-roster-chip.is-flagged{background:rgba(240,68,56,.18);border-color:rgba(240,68,56,.55);border-left-color:#f04438}
.projector-roster-chip.is-flagged span{color:#fecdca;font-weight:600}

/* v11.36: invite modal + projector join screen */
.invite-modal{display:flex;gap:24px;align-items:center;flex-wrap:wrap;justify-content:center;padding:6px 0 4px}
.invite-qr{background:#fff;border:1px solid #e4e7ec;border-radius:14px;padding:12px;min-width:240px;min-height:240px;display:grid;place-items:center}
.invite-code{display:flex;flex-direction:column;gap:6px;max-width:280px}
.invite-code span{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#5f6b7a}
.invite-code strong{font-size:44px;letter-spacing:.12em;font-weight:800;color:#101828;line-height:1.1}
.invite-code p{font-size:14px;color:#475467;margin:4px 0 8px}
.people6-title{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.projector-join{display:flex!important;align-items:center;justify-content:center;gap:48px;flex-wrap:wrap;text-align:left}
.projector-join-qr{background:#fff;border-radius:18px;padding:16px;min-width:260px;min-height:260px;display:grid;place-items:center}
.projector-join h1{font-size:clamp(56px,9vw,120px)!important;letter-spacing:.12em;margin:6px 0}
.projector-join p{max-width:520px;font-size:20px;opacity:.85}

/* QR codes: the qrcodejs library swaps its canvas for an <img> a moment after drawing; always show the canvas so the code never goes blank. */
html body .qr-host canvas{display:block!important;max-width:100%;height:auto}
html body .qr-host img{display:none!important}
/* Leaderboard evidence chips: padded, wrap cleanly inside their pill on narrow phones. */
html body .score-evidence span{display:inline-block;max-width:100%;padding:3px 8px;line-height:1.35;overflow-wrap:anywhere}
html body .score-leader-row .score-total{flex-wrap:wrap;justify-content:flex-end;text-align:right}
/* 761–960px (small laptops, tablets, zoomed-in windows): the sidebar is hidden and the bottom nav shows,
   so the page must use the full width instead of the empty sidebar column. */
@media(max-width:960px){.shell{grid-template-columns:minmax(0,1fr)!important}}
/* Narrow windows: the Remote button drops its label; keep the icon so it is not an empty box. */
@media(max-width:960px){html body .remote-launch-btn .ui-icon-wrap{display:inline-flex!important;width:18px!important;height:18px!important}html body .remote-launch-btn .ui-icon-wrap svg{display:block!important;width:18px!important;height:18px!important}}
/* Mobile remote popup: space between the buttons and the sync note. */
html body .remote-pair-modal [data-remote-sync]{margin-top:14px!important}
/* Library card: quiz thumbnail is a clean summary, not truncated questions. */
html:not(#_) body .lib5-preview::before,html:not(#_) body .lib5-preview::after{display:none!important;content:none!important}
html:not(#_) body .lib5-preview:has(.lib-thumb-quiz){background:#f3f4fb!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:16px!important}
html:not(#_) body .lib5-preview .lib-thumb-quiz{border-radius:0!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:2px!important;height:auto!important;text-align:center;background:none!important;box-shadow:none!important;border:0!important;padding:0!important}
html:not(#_) body .lib-thumb-tag{font-size:11px!important;font-weight:800!important;letter-spacing:.08em;text-transform:uppercase;color:#4f46e5!important;margin-bottom:6px}
html:not(#_) body .lib-thumb-num{font-size:44px!important;line-height:1!important;font-weight:800!important;color:#101828!important;letter-spacing:-.02em}
html:not(#_) body .lib-thumb-label{font-size:13px!important;color:#475467!important}
html:not(#_) body .lib-thumb-facts{display:flex!important;flex-direction:column!important;gap:4px!important;margin-top:10px!important;font-size:12px!important;color:#344054!important}
html:not(#_) body .lib-thumb-facts span{background:#fff;border:1px solid #e4e7ec;border-radius:999px;padding:2px 9px}
html:not(#_) body .lib5-foot{flex-wrap:wrap!important;gap:10px!important;row-gap:12px!important}
html:not(#_) body .lib5-actions{margin-left:auto!important;flex-wrap:wrap!important}
@media(max-width:620px){html:not(#_) body .lib5-card{grid-template-columns:minmax(0,1fr)!important}html:not(#_) body .lib5-preview{display:none!important}html:not(#_) body .lib5-foot{align-items:center!important}}
/* Library preview popup: breathing room inside the panel. */
html:not(#_) body .lib-preview-v2{padding:16px!important;display:flex!important;flex-direction:column!important;gap:14px!important}
html:not(#_) body .lib-preview-summary{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))!important;gap:10px!important}
html:not(#_) body .lib-preview-summary>div{padding:12px 14px!important}
html:not(#_) body .lib-preview-section-head{display:flex!important;justify-content:space-between!important;align-items:baseline!important;gap:12px!important;flex-wrap:wrap!important;margin:4px 0 0!important}
html:not(#_) body .lib-preview-questions{display:flex!important;flex-direction:column!important;gap:10px!important}
html:not(#_) body .lib-preview-questions article{padding:14px!important}
/* Builder header: Back button sits with the other actions. */
html body .builder-head-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
/* Padding: plan sections and small empty states never touch their borders. */
html:not(#_) body .eval-page .eval-section{padding:18px 20px 20px!important}
html:not(#_) body .eval-page .eval-section-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;margin:0 0 14px!important;padding:0!important}
html:not(#_) body .eval-page .eval-section-head h2{margin:0!important}
html:not(#_) body .eval-page .eval-optional-structure,html:not(#_) body .eval-page .eval-empty-inline{padding:14px 16px!important;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
html:not(#_) body .eval-page .eval-plan-table-head{padding-left:14px!important;padding-right:14px!important}
html:not(#_) body .act7-mini-empty,html:not(#_) body .remote-empty-mini{padding:14px 16px!important}
html:not(#_) body .eval-page .eval-optional-structure{justify-content:flex-start!important;flex-wrap:nowrap!important}
/* "Nothing live" row: stack the heading above the start tiles until there is room for all four side by side. */
@media(max-width:1280px){html:not(#_) body .act7-now-empty{grid-template-columns:1fr!important;gap:16px!important}}
@media(max-width:620px){html:not(#_) body .act7-quick{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
html:not(#_) body .act7-quick button b{white-space:nowrap}
/* Semester plan / gradebook header: left-aligned like every other page. */
@media(min-width:621px){html:not(#_) body .eval-page .eval-page-head{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;text-align:left!important;gap:16px!important;flex-wrap:wrap!important}html:not(#_) body .eval-page .eval-page-head h1{text-align:left!important;margin:0!important}}
/* Engagement: contribution spread instead of one bar per student. */
html:not(#_) body .ins7-spread{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;align-items:end;height:170px;margin-top:6px}
html:not(#_) body .ins7-col{display:flex;flex-direction:column;align-items:center;gap:6px;height:100%}
html:not(#_) body .ins7-col b{font-size:15px;font-weight:700;color:var(--ui-text,#101828)}
html:not(#_) body .ins7-col i{flex:1;width:100%;max-width:56px;display:flex;align-items:flex-end;background:#f2f4f7;border-radius:8px;overflow:hidden}
html:not(#_) body .ins7-col em{display:block;width:100%;background:#6172f3;border-radius:8px 8px 0 0}
html:not(#_) body .ins7-col.is-quiet em{background:#f79009}
html:not(#_) body .ins7-col span{font-size:12px;color:var(--ui-text-3,#667085)}
html:not(#_) body .ins7-spread-note{margin:10px 0 16px;font-size:12px;color:var(--ui-text-3,#667085)}
html:not(#_) body .ins7-chips{display:grid;gap:8px;margin-top:12px}
html:not(#_) body .ins7-chips>span{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ui-text-3,#667085)}
html:not(#_) body .ins7-chips>div{display:flex;flex-wrap:wrap;gap:8px}
html:not(#_) body .ins7-chip{display:inline-flex!important;align-items:center;gap:8px;padding:5px 10px 5px 5px!important;border:1px solid #e4e7ec!important;border-radius:999px!important;background:#fff!important;font:inherit;cursor:pointer;max-width:100%}
html:not(#_) body .ins7-chip b{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}
html:not(#_) body .ins7-chip em{font-style:normal;font-size:12px;color:var(--ui-text-3,#667085);background:#f2f4f7;border-radius:999px;padding:1px 7px}
html:not(#_) body .ins7-chip:hover{border-color:#c7d0dd!important;background:#f9fafb!important}
html:not(#_) body .ins7-grid{align-items:start!important}
/* Activity results: every student is listed; long lists scroll inside the panel. */
html:not(#_) body .activity-dash-people{height:auto!important;max-height:none!important;overflow:visible!important}
html:not(#_) body .activity-dash-people .activity-people-scroll{max-height:none!important;overflow:visible!important;height:auto!important}
html:not(#_) body .activity-dash-feed{max-height:none!important;overflow:visible!important}
/* Quiz: one clear Submit once every question is answered; quiet save status. */
html:not(#_) body .quiz-submit-all{display:flex;width:100%;justify-content:center;margin-top:14px;min-height:48px;font-size:16px}
html:not(#_) body [data-quiz-sync][data-state="retry"]{color:#b54708}
html:not(#_) body [data-quiz-sync][data-state="saved"]{color:#067647}
/* Projector: the stage scrolls (long rosters), content stays centred when it fits. */
html body .projector-page{height:100dvh!important;min-height:0!important;overflow:hidden!important;display:flex!important;flex-direction:column!important}
html body .projector-header{flex:0 0 auto}
html body .projector-stage{flex:1 1 auto!important;min-height:0!important;height:auto!important;overflow-y:auto!important;overflow-x:hidden!important;align-content:safe center!important;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
/* Projector clock */
html body .projector-timer{display:flex;align-items:baseline;gap:12px;padding:4px 20px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);color:#fff;margin-left:auto}
html body .projector-timer span{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.7)}
html body .projector-timer strong{font-size:38px;font-weight:800;font-variant-numeric:tabular-nums;line-height:1.1}
html body .projector-timer.is-ending{background:rgba(247,144,9,.18);border-color:rgba(247,144,9,.6)}
html body .projector-timer.is-ending strong{color:#fdb022}
html body .projector-timer.is-up{background:rgba(240,68,56,.18);border-color:rgba(240,68,56,.55)}
html body .projector-timer.is-up strong{color:#f97066}
html body .projector-header .projector-timer+.projector-status{margin-left:0}
/* Course outcomes & attainment */
html body .outc-page .outc-list{display:flex;flex-direction:column;border:1px solid var(--ui-border);border-radius:14px;background:#fff;overflow:hidden}
html body .outc-page .outc-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;grid-template-areas:"code text level actions" ". result result result";align-items:start;gap:10px 16px;padding:16px;border-bottom:1px solid var(--ui-border)}
html body .outc-page .outc-code{grid-area:code}
html body .outc-page .outc-text{grid-area:text}
html body .outc-page .outc-level{grid-area:level}
html body .outc-page .outc-actions{grid-area:actions}
html body .outc-page .outc-result{grid-area:result}
html body .outc-page .outc-row:last-child{border-bottom:0}
html body .outc-page .outc-code{display:inline-flex;align-items:center;justify-content:center;min-width:48px;height:28px;padding:0 10px;border-radius:8px;background:var(--ui-accent-soft);color:var(--ui-accent);font-size:13px;font-weight:700;white-space:nowrap}
html body .outc-page .outc-text{min-width:0;display:flex;flex-direction:column;gap:3px}
html body .outc-page .outc-text strong{font-size:14px;font-weight:600;line-height:1.4;color:var(--ui-text);overflow-wrap:anywhere}
html body .outc-page .outc-text small{font-size:12.5px;color:var(--ui-text-3)}
html body .outc-page .outc-result{display:flex;align-items:center;gap:12px;min-width:0}
html body .outc-page .outc-meter{flex:1 1 auto;min-width:60px;height:8px;border-radius:999px;background:#eef0f3;overflow:hidden}
html body .outc-page .outc-meter i{display:block;height:100%;border-radius:999px;background:var(--ui-accent)}
html body .outc-page .outc-share{display:flex;flex-direction:column;align-items:flex-end;flex:0 0 auto;white-space:nowrap}
html body .outc-page .outc-share strong{font-size:18px;font-weight:700;color:var(--ui-text);font-variant-numeric:tabular-nums;line-height:1.2}
html body .outc-page .outc-share span,html body .outc-page .outc-none{font-size:12px;color:var(--ui-text-3)}
html body .outc-page .outc-level{display:inline-flex;align-items:center;justify-content:center;height:26px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap;border:1px solid transparent}
html body .outc-page .outc-level.lvl-3,html body .outc-page .outc-level.lvl-2{background:var(--ui-success-soft);color:var(--ui-success);border-color:var(--ui-success-border)}
html body .outc-page .outc-level.lvl-1{background:var(--ui-warning-soft);color:var(--ui-warning);border-color:var(--ui-warning-border)}
html body .outc-page .outc-level.lvl-0{background:var(--ui-danger-soft);color:var(--ui-danger);border-color:var(--ui-danger-border)}
html body .outc-page .outc-level.is-none{background:#f2f4f7;color:var(--ui-text-3);border-color:var(--ui-border)}
html body .outc-page .outc-actions{display:flex;align-items:center;gap:4px;white-space:nowrap}
html body .outc-page .outc-warn{display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:12px;padding:11px 14px;border:1px solid var(--ui-warning-border);border-radius:12px;background:var(--ui-warning-soft);font-size:13px;color:var(--ui-text-2)}
html body .outc-page .outc-warn strong{color:var(--ui-warning);font-weight:700}
html body .outc-page .outc-scroll{overflow-x:auto;border:1px solid var(--ui-border);border-radius:14px;background:#fff;-webkit-overflow-scrolling:touch}
html body .outc-page .outc-grid{min-width:calc(240px + var(--outc-count,1)*84px)}
html body .outc-page .outc-grid-row{display:grid;grid-template-columns:minmax(240px,1.6fr) repeat(var(--outc-count,1),minmax(84px,1fr));align-items:stretch;border-bottom:1px solid var(--ui-border)}
html body .outc-page .outc-grid-row:last-child{border-bottom:0}
html body .outc-page .outc-grid-head{background:#f9fafb;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ui-text-3)}
html body .outc-page .outc-grid-head>*{display:flex;align-items:center;justify-content:center;min-height:38px;padding:0 8px}
html body .outc-page .outc-grid-head>.outc-grid-name{justify-content:flex-start;flex-direction:row;padding:0 14px}
html body .outc-page .outc-grid-name{display:flex;flex-direction:column;justify-content:center;gap:2px;min-width:0;padding:10px 14px;position:sticky;left:0;background:inherit}
html body .outc-page .outc-grid-row:not(.outc-grid-head){background:#fff}
html body .outc-page .outc-grid-name strong{font-size:14px;font-weight:600;color:var(--ui-text);overflow-wrap:anywhere;text-align:left}
html body .outc-page .outc-grid-name small{font-size:12px;color:var(--ui-text-3)}
html body .outc-page .outc-grid-name button{border:0;background:transparent;padding:0;text-align:left;cursor:pointer;font:inherit}
html body .outc-page .outc-grid-name button:hover strong{color:var(--ui-accent)}
html body .outc-page .outc-check{display:flex;align-items:center;justify-content:center;min-height:52px;border-left:1px solid var(--ui-border);cursor:pointer}
html body .outc-page .outc-check:hover{background:var(--ui-accent-soft)}
html body .outc-page .outc-check input{width:18px;height:18px;margin:0;accent-color:var(--ui-accent);cursor:pointer}
html body .outc-page .outc-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-height:52px;padding:6px;border-left:1px solid var(--ui-border);font-variant-numeric:tabular-nums}
html body .outc-page .outc-cell strong{font-size:14px;font-weight:700;color:var(--ui-text)}
html body .outc-page .outc-cell span{font-size:11.5px;font-weight:600}
html body .outc-page .outc-cell.is-met{background:var(--ui-success-soft)}
html body .outc-page .outc-cell.is-met span{color:var(--ui-success)}
html body .outc-page .outc-cell.is-below{background:var(--ui-warning-soft)}
html body .outc-page .outc-cell.is-below span{color:var(--ui-warning)}
html body .outc-page .outc-cell.is-none strong{color:var(--ui-text-4);font-weight:500}
html body .outc-unit{display:flex;align-items:center;gap:8px}
html body .outc-unit .input{flex:1 1 auto;min-width:0}
html body .outc-unit>span{flex:0 0 auto;font-size:13px;color:var(--ui-text-3);white-space:nowrap}
@media(max-width:700px){
  html body .outc-page .outc-row{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"code text level" "result result result" "actions actions actions"}
  html body .outc-page .outc-grid-row{grid-template-columns:minmax(150px,1.2fr) repeat(var(--outc-count,1),minmax(72px,1fr))}
  html body .outc-page .outc-grid{min-width:calc(150px + var(--outc-count,1)*72px)}
}
html body .outc-page .outc-result:empty{display:none}
/* Early warning */
html body .watch-page .watch-list{display:flex;flex-direction:column;border:1px solid var(--ui-border);border-radius:14px;background:#fff;overflow:hidden}
html body .watch-page .watch-row{display:grid;grid-template-columns:minmax(200px,260px) minmax(0,1fr);gap:10px 20px;align-items:start;padding:16px;border-bottom:1px solid var(--ui-border)}
html body .watch-page .watch-row:last-child{border-bottom:0}
html body .watch-page .watch-person{display:flex;align-items:center;gap:10px;min-width:0;border:0;background:transparent;padding:0;text-align:left;cursor:pointer;font:inherit}
html body .watch-page .watch-person>span{display:flex;flex-direction:column;gap:2px;min-width:0}
html body .watch-page .watch-person strong{font-size:14px;font-weight:600;color:var(--ui-text);overflow-wrap:anywhere}
html body .watch-page .watch-person:hover strong{color:var(--ui-accent)}
html body .watch-page .watch-person small{font-size:12.5px;color:var(--ui-text-3)}
html body .watch-page .watch-reasons{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
html body .watch-page .watch-reasons li{display:grid;grid-template-columns:96px minmax(0,1fr);gap:10px;align-items:baseline;font-size:13.5px;line-height:1.45;color:var(--ui-text-2)}
html body .watch-page .watch-reasons b{justify-self:start;padding:2px 8px;border-radius:999px;font-size:11.5px;font-weight:700;white-space:nowrap;border:1px solid transparent}
html body .watch-page .watch-reasons .is-marks b{background:var(--ui-warning-soft);color:var(--ui-warning);border-color:var(--ui-warning-border)}
html body .watch-page .watch-reasons .is-engagement b{background:var(--ui-accent-soft);color:var(--ui-accent);border-color:var(--ui-accent-border)}
html body .watch-page .watch-reasons span{overflow-wrap:anywhere}
@media(max-width:700px){html body .watch-page .watch-row{grid-template-columns:minmax(0,1fr)}}
/* Institution: outcomes by class */
html:not(#_) body .insto-summary{margin-top:4px;font-size:13px;color:var(--ui-text-3)}
html:not(#_) body .insto-classes{list-style:none;margin:0;padding:0;border-top:1px solid var(--ui-border)}
html:not(#_) body .insto-classes li{display:grid;grid-template-columns:minmax(180px,1fr) minmax(0,2.2fr) auto;gap:10px 18px;align-items:center;padding:12px 0;border-bottom:1px solid var(--ui-border)}
html:not(#_) body .insto-classes li:last-child{border-bottom:0}
html:not(#_) body .insto-class{display:flex;flex-direction:column;gap:2px;min-width:0}
html:not(#_) body .insto-class b{font-size:14px;font-weight:600;color:var(--ui-text);overflow-wrap:anywhere}
html:not(#_) body .insto-class small,html:not(#_) body .insto-muted{font-size:12.5px;color:var(--ui-text-3)}
html:not(#_) body .insto-outs{display:flex;flex-wrap:wrap;gap:6px;min-width:0}
html:not(#_) body .insto-out{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border-radius:999px;border:1px solid var(--ui-border);background:#f9fafb;font-size:12.5px;color:var(--ui-text-2);white-space:nowrap}
html:not(#_) body .insto-out b{font-weight:700;color:var(--ui-text)}
html:not(#_) body .insto-out i{font-style:normal;font-variant-numeric:tabular-nums}
html:not(#_) body .insto-out em{font-style:normal;font-weight:600}
html:not(#_) body .insto-out.lvl-3,html:not(#_) body .insto-out.lvl-2{background:var(--ui-success-soft);border-color:var(--ui-success-border)}
html:not(#_) body .insto-out.lvl-3 em,html:not(#_) body .insto-out.lvl-2 em{color:var(--ui-success)}
html:not(#_) body .insto-out.lvl-1{background:var(--ui-warning-soft);border-color:var(--ui-warning-border)}
html:not(#_) body .insto-out.lvl-1 em{color:var(--ui-warning)}
html:not(#_) body .insto-out.lvl-0{background:var(--ui-danger-soft);border-color:var(--ui-danger-border)}
html:not(#_) body .insto-out.lvl-0 em{color:var(--ui-danger)}
html:not(#_) body .insto-flag{display:flex;flex-direction:column;align-items:flex-end;min-width:96px;white-space:nowrap}
html:not(#_) body .insto-flag b{font-size:18px;font-weight:700;color:var(--ui-text);font-variant-numeric:tabular-nums;line-height:1.2}
html:not(#_) body .insto-flag span{font-size:12px;color:var(--ui-text-3)}
@media(max-width:760px){html:not(#_) body .insto-classes li{grid-template-columns:minmax(0,1fr) auto}html:not(#_) body .insto-outs{grid-column:1/-1;grid-row:2}}
/* Gradebook: summative / formative switch */
html body .eval-view-switch{display:inline-flex;gap:4px;padding:4px;margin:0 0 16px;border:1px solid var(--ui-border);border-radius:999px;background:#fff;max-width:100%}
html body .eval-view-switch button{border:0;background:transparent;padding:8px 14px;border-radius:999px;font:inherit;font-size:13.5px;font-weight:600;color:var(--ui-text-2);cursor:pointer;white-space:nowrap}
html body .eval-view-switch button:hover{background:#f2f4f7}
html body .eval-view-switch button.active{background:var(--ui-primary);color:#fff}
@media(max-width:460px){html body .eval-view-switch{display:flex}html body .eval-view-switch button{flex:1 1 0;padding:8px 6px;font-size:12.5px}}
/* Outcomes: map a test question by question */
html body .outc-page .outc-byq{align-self:flex-start;margin-top:2px;border:0;background:transparent;padding:0;font:inherit;font-size:12.5px;font-weight:600;color:var(--ui-accent);cursor:pointer;text-decoration:underline;text-underline-offset:2px}
html body .outc-qlist{display:flex;flex-direction:column;gap:8px;max-height:52vh;overflow-y:auto;margin:10px 0 4px;padding-right:4px}
html body .outc-q{margin:0;padding:10px 12px;border:1px solid var(--ui-border);border-radius:12px;min-width:0}
html body .outc-q legend{display:flex;gap:8px;padding:0;float:left;width:100%;margin-bottom:8px;font-size:13.5px;line-height:1.4;color:var(--ui-text)}
html body .outc-q legend b{flex:0 0 auto;color:var(--ui-text-3);font-weight:700;min-width:18px}
html body .outc-q legend span{min-width:0;overflow-wrap:anywhere}
html body .outc-q>div{clear:both;display:flex;flex-wrap:wrap;gap:6px}
html body .outc-q label{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border:1px solid var(--ui-border);border-radius:999px;font-size:12.5px;font-weight:600;color:var(--ui-text-2);cursor:pointer}
html body .outc-q label:has(input:checked){background:var(--ui-accent-soft);border-color:var(--ui-accent-border);color:var(--ui-accent)}
html body .outc-q input{width:15px;height:15px;margin:0;accent-color:var(--ui-accent)}
/* Student: own outcome standing */
html body .student-mark-list b.outc-me-ok{color:var(--ui-success)}
html body .student-mark-list b.outc-me-low{color:var(--ui-warning)}
/* Outcomes while planning, and on the student's plan */
html body .eval-outc{display:block;margin-top:2px;font-size:12.5px;font-weight:600;color:var(--ui-accent)}
html body .eval-outc.is-none{color:var(--ui-warning);font-weight:500}
html body .outc-pick{margin:14px 0 4px;padding:0;border:0;min-width:0}
html body .outc-pick legend{padding:0;margin-bottom:8px}
html body .outc-pick>div{display:flex;flex-direction:column;gap:6px}
html body .outc-pick label{display:flex;align-items:flex-start;gap:10px;padding:9px 12px;border:1px solid var(--ui-border);border-radius:12px;cursor:pointer}
html body .outc-pick label:has(input:checked){background:var(--ui-accent-soft);border-color:var(--ui-accent-border)}
html body .outc-pick input{flex:0 0 auto;width:16px;height:16px;margin:3px 0 0;accent-color:var(--ui-accent)}
html body .outc-pick span{min-width:0;font-size:13.5px;line-height:1.45;color:var(--ui-text-2);overflow-wrap:anywhere}
html body .outc-pick span b{margin-right:8px;color:var(--ui-text);font-weight:700}
html body .outc-pick-empty{margin:12px 0 4px}
html body .student-plan-outcomes{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:4px}
html body .student-plan-outcomes li{display:flex;gap:8px;align-items:baseline;font-size:13px;line-height:1.4;color:var(--ui-text-2)}
html body .student-plan-outcomes b{flex:0 0 auto;padding:1px 7px;border-radius:6px;background:var(--ui-accent-soft);color:var(--ui-accent);font-size:12px;font-weight:700}
html body .student-plan-outcomes span{min-width:0;overflow-wrap:anywhere}
/* Outcomes set by the department / institution */
html body .outc-page .outc-dept{display:flex;align-items:center;justify-content:space-between;gap:12px 20px;flex-wrap:wrap;margin:0 0 16px;padding:14px 16px;border:1px solid var(--ui-accent-border);border-radius:14px;background:var(--ui-accent-soft)}
html body .outc-page .outc-dept>div{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1 1 320px}
html body .outc-page .outc-dept strong{font-size:14px;font-weight:700;color:var(--ui-text)}
html body .outc-page .outc-dept span{font-size:13px;line-height:1.45;color:var(--ui-text-2)}
html body .outc-page .outc-dept.is-set{background:#f9fafb;border-color:var(--ui-border);padding:10px 14px}
html body .outc-page .outc-rule-fixed{font-size:13px;color:var(--ui-text-3)}
html:not(#_) body .insto-rule{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
html:not(#_) body .insto-rule>span{flex:1 1 280px;font-size:13.5px;line-height:1.45;color:var(--ui-text-2)}
/* Coding: similar submissions */
html body .code-similar{display:flex;flex-direction:column;gap:8px;max-height:60vh;overflow-y:auto;margin-top:10px}
html body .code-similar details{border:1px solid var(--ui-border);border-radius:12px;background:#fff}
html body .code-similar summary{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;padding:10px 12px;cursor:pointer;font-size:14px;color:var(--ui-text)}
html body .code-similar summary span{color:var(--ui-text-3)}
html body .code-similar summary em{margin-left:auto;font-style:normal;font-weight:700;color:var(--ui-warning);font-variant-numeric:tabular-nums}
html body .code-similar-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;padding:0 12px 12px}
html body .code-similar-pair>div{min-width:0}
html body .code-similar-pair small{display:block;margin-bottom:4px;font-size:12px;font-weight:600;color:var(--ui-text-3)}
html body .code-similar-pair pre{margin:0;max-height:320px;overflow:auto}
@media(max-width:760px){html body .code-similar-pair{grid-template-columns:minmax(0,1fr)}}
html body .code-review{margin-top:22px}
html body .code-review{margin-top:22px}
/* Coding: the tables a query can use, and how code is run and checked */
html body .sql-schema{display:flex;flex-direction:column;gap:10px;margin-top:8px}
html body .sql-schema:empty{display:none}
html body .sql-table{border:1px solid var(--ui-border);border-radius:12px;background:#fff;padding:10px 12px;min-width:0}
html body .sql-table header{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:8px}
html body .sql-table header b{font:700 14px ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--ui-text);overflow-wrap:anywhere}
html body .sql-table header span,html body .sql-table small{font-size:12px;color:var(--ui-text-3);white-space:nowrap}
html body .sql-table small{display:block;margin-top:6px}
html body .sql-cols{display:flex;flex-wrap:wrap;gap:5px}
html body .sql-cols span{padding:2px 8px;border-radius:6px;background:#f2f4f7;font:12px ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--ui-text-3);overflow-wrap:anywhere}
html body .sql-cols span b{font-weight:700;color:var(--ui-text)}
html body .sql-rows{margin-top:8px;overflow-x:auto;-webkit-overflow-scrolling:touch}
html body .sql-rows table{border-collapse:collapse;font:12.5px ui-monospace,SFMono-Regular,Menlo,monospace;min-width:100%}
html body .sql-rows th,html body .sql-rows td{padding:4px 10px;border-bottom:1px solid var(--ui-border);text-align:left;white-space:nowrap;color:var(--ui-text-2)}
html body .sql-rows th{font-weight:700;color:var(--ui-text-3);background:#f9fafb}
html body .sql-rows tr:last-child td{border-bottom:0}
html body .sql-raw summary{cursor:pointer;font-size:12.5px;color:var(--ui-accent);font-weight:600}
html body .code-how{margin:12px 0;border:1px solid var(--ui-border);border-radius:12px;background:#f9fafb;padding:0 12px}
html body .code-how summary{padding:10px 0;cursor:pointer;font-size:13.5px;font-weight:600;color:var(--ui-text)}
html body .code-how ul{margin:0;padding:0 0 12px 18px;display:flex;flex-direction:column;gap:6px}
html body .code-how li{font-size:13px;line-height:1.5;color:var(--ui-text-2);overflow-wrap:anywhere}
/* A list collected one item per field, with a spreadsheet route */
html body .rowlist-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:8px}
html body .rowlist{display:flex;flex-direction:column;gap:8px;max-height:44vh;overflow-y:auto;padding:2px}
html body .rowlist-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto auto;gap:6px;align-items:center}
html body .rowlist-code{display:inline-flex;align-items:center;justify-content:center;min-width:46px;height:28px;padding:0 8px;border-radius:8px;background:var(--ui-accent-soft);color:var(--ui-accent);font-size:12.5px;font-weight:700}
html body .rowlist-row .btn-icon{width:34px;height:34px;min-width:34px;font-size:15px;line-height:1}
html body .rowlist-row .btn-icon:disabled{opacity:.35;cursor:default}
html body .rowlist-add{margin-top:10px}
html body .rowlist-file{display:flex;flex-direction:column;gap:6px;margin-top:16px;padding:12px 14px;border:1px dashed var(--ui-border-strong);border-radius:12px;background:#f9fafb}
html body .rowlist-file strong{font-size:13.5px;color:var(--ui-text)}
html body .rowlist-file>div{display:flex;flex-wrap:wrap;gap:8px}
html body .rowlist-upload{position:relative;cursor:pointer}
html body .rowlist-upload input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}
html body .rowlist-upload:focus-within{box-shadow:var(--ui-ring)}
html body .rowlist-foot{margin-top:12px}
@media(max-width:520px){html body .rowlist-row{grid-template-columns:auto minmax(0,1fr) auto}html body .rowlist-row [data-rowlist-up],html body .rowlist-row [data-rowlist-down]{display:none}}
/* The way into the institution view stays on the classes page at phone width (other header links fold away there). */
html:not(#_) body .hub-account .btn.hub-inst-btn[data-go]{display:inline-flex!important;align-items:center!important;gap:6px!important}
html:not(#_) body .hub-account .btn.hub-inst-btn[data-go]{width:auto!important;min-width:0!important;padding:0 12px!important;font-size:13.5px!important;white-space:nowrap!important}
html:not(#_) body .hub-account .btn.hub-inst-btn[data-go]>span{display:inline!important}
html:not(#_) body .hub-account .btn.hub-inst-btn[data-go] svg{display:inline-block!important;flex:0 0 auto!important}
@media(max-width:400px){html:not(#_) body .hub-account .btn.hub-inst-btn[data-go]>span{display:none!important}html:not(#_) body .hub-account .btn.hub-inst-btn[data-go]{padding:0 11px!important}}
/* Add students: code, link, QR, or a list */
html body .addst{display:flex;flex-direction:column;gap:16px}
html body .addst h3{margin:0 0 6px;font-size:14px;font-weight:700;color:var(--ui-text)}
html body .addst-open{padding:12px 14px;border:1px solid var(--ui-border);border-radius:14px;background:#f9fafb}
html body .addst-open-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:10px 14px;margin-top:10px}
html body .addst-open-fields[hidden]{display:none}
html body .addst-status{margin:10px 0 0;font-size:13px;color:var(--ui-text-3)}
html body .addst-status.is-open{color:var(--ui-success);font-weight:600}
html body .addst-ways{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
html body .addst-way{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0;padding:14px;border:1px solid var(--ui-border);border-radius:14px;background:#fff}
html body .addst-way .micro{margin:0;flex:1 1 auto}
html body .addst-code{font:800 28px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em;color:var(--ui-text)}
html body .addst-link{margin:0;max-width:100%;font:600 13px ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--ui-accent);overflow-wrap:anywhere}
html body .addst-qr{width:168px;max-width:100%;min-height:168px;align-self:center}
html body .addst-qr canvas,html body .addst-qr img{max-width:100%;height:auto}
html body .addst-btns{display:flex;flex-wrap:wrap;gap:8px}
html body .addst-list{padding-top:14px;border-top:1px solid var(--ui-border)}
html body .addst-list .field{margin-top:10px}
@media(max-width:760px){html body .addst-ways{grid-template-columns:minmax(0,1fr)}html body .addst-open-fields{grid-template-columns:minmax(0,1fr)}}
/* Classes page: join with a class code */
html:not(#_) body .hub-join{margin:0 0 18px;padding:14px 16px;border:1px solid var(--ui-border);border-radius:16px;background:#fff;max-width:560px}
html:not(#_) body .hub-join-row{display:flex;gap:8px;align-items:stretch}
html:not(#_) body .hub-join-row .input{flex:1 1 auto;min-width:0;font:700 18px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.14em;text-transform:uppercase}
html:not(#_) body .hub-join-row .input::placeholder{letter-spacing:.14em;font-weight:500;color:var(--ui-text-4)}
html:not(#_) body .hub-join-note{margin:8px 0 0;font-size:13px;line-height:1.45;color:var(--ui-text-3)}
html:not(#_) body .hub-join-note.is-error{color:var(--ui-danger);font-weight:600}
/* Scan a class QR */
html:not(#_) body .hub-join-row{flex-wrap:wrap}
html:not(#_) body .hub-join-scan{display:inline-flex!important;align-items:center;gap:6px;white-space:nowrap}
html body .scan{display:flex;flex-direction:column;gap:12px}
html body .scan-view{position:relative;width:100%;aspect-ratio:1/1;max-height:60vh;border-radius:16px;overflow:hidden;background:#0c111d}
html body .scan-view video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
html body .scan-frame{position:absolute;inset:14%;border:3px solid rgba(255,255,255,.9);border-radius:18px;box-shadow:0 0 0 100vmax rgba(12,17,29,.35)}
html body .scan-note{margin:0;font-size:14px;line-height:1.45;color:var(--ui-text-2);text-align:center}
