/*
 * CL Learning Labs , workspace shell (presentation layer only)
 *
 * Shared authenticated teacher/student dashboard shell styling. Every rule is
 * scoped beneath .workspace-shell except the explicit mobile scroll-lock body
 * state. Brand colors use approved tokens with literal fallbacks.
 */

.workspace-shell {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  width: 100%;
  height: auto;
  min-height: 100vh;
  min-width: 0;
  max-width: 100%;
  overflow-x: hidden;
  overflow-x: clip;
}

.workspace-shell:not(:has(.essay-coach-page)) {
  background: var(--cll-canvas, #F6F8FB);
  color: var(--cll-ink, #142033);
}

/* Teacher profile and existing-profile edit: presentation-only migration into
 * the shared workspace. First-time registration remains outside this shell
 * because layout.html keeps onboarding_mode pages out of the allowlist. */
.workspace-shell .teacher-profile-page,
.workspace-shell .teacher-registration-form-page {
  width: min(100%, 720px);
  min-width: 0;
  margin: 0 auto;
  padding-top: .5rem;
  padding-bottom: 1.5rem;
  color: var(--cll-ink, #142033);
}

.workspace-shell .teacher-profile-page-header {
  margin-bottom: 1.25rem;
}

.workspace-shell .teacher-profile-page-header h1 {
  margin-bottom: .4rem;
  font-size: clamp(1.65rem, 3.5vw, 2rem);
}

.workspace-shell .teacher-profile-eyebrow {
  margin: 0 0 .35rem;
  color: var(--cll-signal-teal, #0F766E);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.workspace-shell .teacher-profile-card,
.workspace-shell .teacher-registration-form-card {
  color: var(--cll-ink, #142033);
  background: var(--cll-surface, #FFFFFF) !important;
  border: 1px solid var(--cll-border, #D8E0EA) !important;
  border-radius: 14px;
  box-shadow: 0 4px 18px rgba(23, 63, 107, .06);
}

.workspace-shell .teacher-profile-card .card-body,
.workspace-shell .teacher-registration-form-card .card-body {
  padding: clamp(1rem, 2.5vw, 1.5rem);
}

.workspace-shell .teacher-profile-page .teacher-profile-card {
  margin-bottom: 1rem;
}

.workspace-shell .teacher-profile-page h1,
.workspace-shell .teacher-registration-form-page h1,
.workspace-shell .teacher-profile-page h2,
.workspace-shell .teacher-registration-form-page .form-label {
  color: var(--cll-harbor, #173F6B);
}

.workspace-shell .teacher-profile-page .text-muted,
.workspace-shell .teacher-registration-form-page .text-muted {
  color: var(--cll-muted, #59677A) !important;
}

.workspace-shell .teacher-profile-page a,
.workspace-shell .teacher-registration-form-page a {
  color: var(--cll-signal-teal, #0F766E);
}

.workspace-shell .teacher-profile-page .btn,
.workspace-shell .teacher-registration-form-page .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  font-weight: 600;
}

.workspace-shell .teacher-profile-page .btn-primary,
.workspace-shell .teacher-profile-page .btn-outline-primary,
.workspace-shell .teacher-registration-form-page .btn-brand {
  color: #FFFFFF;
  background: var(--cll-harbor, #173F6B);
  border-color: var(--cll-harbor, #173F6B);
}

.workspace-shell .teacher-profile-page .btn-outline-secondary {
  color: #38516A;
  background: #FFFFFF;
  border-color: #738396;
}

.workspace-shell .teacher-profile-page .badge {
  padding: .35rem .55rem;
  font-weight: 700;
}

.workspace-shell .teacher-profile-page .teacher-preference-option {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: .75rem;
  padding: .9rem 0;
  border-top: 1px solid #E0E7EF;
}

.workspace-shell .teacher-profile-page .teacher-preference-fieldset {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

.workspace-shell .teacher-profile-page .teacher-preference-option:first-of-type {
  border-top: 0;
}

.workspace-shell .teacher-profile-page .teacher-preference-option .form-check-input {
  width: 1.15rem;
  height: 1.15rem;
  margin: .15rem 0 0;
  border-color: #738396;
}

.workspace-shell .teacher-profile-page .teacher-preference-option label {
  cursor: pointer;
}

.workspace-shell .teacher-profile-page .teacher-preference-label,
.workspace-shell .teacher-profile-page .teacher-preference-help {
  display: block;
}

.workspace-shell .teacher-profile-page .teacher-preference-label {
  color: var(--cll-harbor, #173F6B);
  font-weight: 700;
}

.workspace-shell .teacher-profile-page .teacher-preference-help {
  margin-top: .15rem;
  color: var(--cll-muted, #59677A);
  font-size: .875rem;
}

.workspace-shell .teacher-profile-page .teacher-profile-details {
  margin-top: 1rem;
}

.workspace-shell .teacher-profile-page .teacher-profile-details summary {
  color: var(--cll-signal-teal, #0F766E);
  cursor: pointer;
  font-weight: 700;
}

.workspace-shell .teacher-profile-page .teacher-profile-data {
  margin-top: .75rem;
}

.workspace-shell .teacher-profile-page .teacher-profile-data > div {
  display: grid;
  grid-template-columns: minmax(9rem, .8fr) minmax(0, 1.2fr);
  gap: 1rem;
  padding: .55rem 0;
  border-top: 1px solid #E0E7EF;
}

.workspace-shell .teacher-profile-page .teacher-profile-data dt {
  color: var(--cll-muted, #59677A);
  font-size: .875rem;
  font-weight: 500;
}

.workspace-shell .teacher-profile-page .teacher-profile-data dd {
  margin: 0;
  font-weight: 600;
  overflow-wrap: anywhere;
}

.workspace-shell .teacher-registration-form-page .form-control,
.workspace-shell .teacher-registration-form-page .form-select {
  min-height: 44px;
  color: var(--cll-ink, #142033);
  background: #FFFFFF;
  border-color: #B9C6D4;
}

.workspace-shell .teacher-profile-page :is(a, button, input, select, textarea):focus-visible,
.workspace-shell .teacher-registration-form-page :is(a, button, input, select, textarea):focus-visible {
  outline: 3px solid var(--cll-focus-ring, #0F766E);
  outline-offset: 3px;
}

@media (max-width: 768px) {
  .workspace-shell .teacher-profile-page,
  .workspace-shell .teacher-registration-form-page {
    width: 100%;
  }
}

@media (max-width: 480px) {
  .workspace-shell .teacher-profile-page .teacher-profile-card .d-flex.justify-content-between,
  .workspace-shell .teacher-profile-page .teacher-profile-card .d-flex.align-items-start {
    align-items: stretch !important;
    flex-direction: column;
    gap: .75rem;
  }

  .workspace-shell .teacher-profile-page .teacher-profile-card .btn,
  .workspace-shell .teacher-registration-form-page .btn-brand {
    width: 100%;
  }

  .workspace-shell .teacher-profile-page .teacher-profile-data > div {
    grid-template-columns: 1fr;
    gap: .15rem;
  }
}

/* Teacher subscription: keep access and billing information in the shared
 * light workspace without changing the route or checkout behavior. */
.workspace-shell .teacher-subscription-page {
  width: min(100%, 800px);
  min-width: 0;
  margin: 0 auto;
  padding-bottom: 1.5rem;
  color: var(--cll-ink, #142033);
}
.workspace-shell .teacher-subscription-header {
  gap: 1rem;
}
.workspace-shell .teacher-subscription-eyebrow {
  color: var(--cll-signal-teal, #0F766E);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.workspace-shell .teacher-subscription-intro,
.workspace-shell .teacher-subscription-page .text-muted {
  color: var(--cll-muted, #59677A) !important;
}
.workspace-shell .teacher-subscription-card {
  color: var(--cll-ink, #142033);
  background: var(--cll-surface, #FFFFFF) !important;
  border: 1px solid var(--cll-border, #D8E0EA) !important;
  border-radius: 14px;
  box-shadow: 0 4px 18px rgba(23, 63, 107, .06);
}
.workspace-shell .teacher-subscription-card h2,
.workspace-shell .teacher-subscription-card h3 {
  color: var(--cll-harbor, #173F6B);
}
.workspace-shell .teacher-subscription-card a {
  color: var(--cll-signal-teal, #0F766E);
}
.workspace-shell .teacher-subscription-card .btn {
  min-height: 40px;
  font-weight: 600;
}
.workspace-shell .teacher-subscription-card .btn-primary {
  color: #FFFFFF;
  background: var(--cll-harbor, #173F6B);
  border-color: var(--cll-harbor, #173F6B);
}
.workspace-shell .teacher-subscription-card .alert {
  color: #24425A;
  background: #EAF6F4;
  border-color: #B9DDD7;
}
.workspace-shell .teacher-subscription-action {
  min-width: 180px;
}
.workspace-shell .teacher-subscription-page :is(a, button, input, select, textarea):focus-visible {
  outline: 3px solid var(--cll-focus-ring, #0F766E);
  outline-offset: 3px;
}
@media (max-width: 560px) {
  .workspace-shell .teacher-subscription-header {
    align-items: stretch !important;
    flex-direction: column;
  }
  .workspace-shell .teacher-subscription-header .btn,
  .workspace-shell .teacher-subscription-action {
    width: 100%;
  }
}

/* Read-only writing assignment preview. */
.workspace-shell .teacher-essay-assignment-preview-page {
  width: min(100%, 900px);
  min-width: 0;
  margin: 0 auto;
  padding-bottom: 1.5rem;
  color: var(--cll-ink, #142033);
}
.workspace-shell .teacher-essay-assignment-preview-actions {
  margin-bottom: 1rem;
}
.workspace-shell .teacher-essay-assignment-preview-actions a {
  color: #38516A;
  background: #FFFFFF;
  border-color: #738396;
}
.workspace-shell .teacher-essay-assignment-preview-card {
  padding: clamp(1rem, 2.5vw, 1.5rem);
  color: var(--cll-ink, #142033);
  background: var(--cll-surface, #FFFFFF);
  border: 1px solid var(--cll-border, #D8E0EA);
  border-radius: 14px;
  box-shadow: 0 4px 18px rgba(23, 63, 107, .06);
}
.workspace-shell .teacher-essay-assignment-preview-eyebrow {
  margin: 0 0 .35rem;
  color: var(--cll-signal-teal, #0F766E);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.workspace-shell .teacher-essay-assignment-preview-note,
.workspace-shell .teacher-essay-assignment-preview-empty {
  color: var(--cll-muted, #59677A);
}
.workspace-shell .teacher-essay-assignment-preview-section {
  margin-top: 1.25rem;
  padding-top: 1rem;
  border-top: 1px solid #E0E7EF;
}
.workspace-shell .teacher-essay-assignment-preview-section h2 {
  margin: 0 0 .6rem;
  color: var(--cll-harbor, #173F6B);
  font-size: 1.05rem;
}
.workspace-shell .teacher-essay-assignment-preview-section h3 {
  margin: 1rem 0 .45rem;
  color: var(--cll-harbor, #173F6B);
  font-size: .9rem;
}
.workspace-shell .teacher-essay-assignment-preview-copy {
  white-space: pre-wrap;
  line-height: 1.6;
}
.workspace-shell .teacher-essay-assignment-preview-attachments {
  margin: 0;
  padding-left: 1.25rem;
}
.workspace-shell .teacher-essay-assignment-preview-attachments span {
  color: var(--cll-muted, #59677A);
}
.workspace-shell .teacher-essay-assignment-preview-agreement {
  margin: 0;
  padding: 1rem;
  color: var(--cll-ink, #142033);
  white-space: pre-wrap;
  background: #F2F5F9;
  border: 1px solid #D8E0EA;
  border-radius: 10px;
  font: inherit;
  line-height: 1.55;
}

/* Teacher writing assignment builder: presentation only; existing form,
 * disclosure, policy, and script contracts remain in the template. */
.workspace-shell .teacher-assign-essay-page {
  width: min(100%, 900px);
  min-width: 0;
  margin: 0 auto;
  color: var(--cll-ink, #142033);
  overflow-wrap: anywhere;
}
.workspace-shell .teacher-assign-essay-page .twa-back {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  margin-bottom: 1rem;
  color: var(--cll-signal-teal, #0F766E);
  font-weight: 700;
  text-decoration: none;
}
.workspace-shell .teacher-assign-essay-page .twa-section {
  margin-bottom: 1.25rem;
  padding: clamp(1rem, 2.5vw, 1.5rem);
  background: var(--cll-surface, #FFFFFF);
  border: 1px solid var(--cll-border, #D8E0EA);
  border-radius: 14px;
  box-shadow: 0 4px 18px rgba(23, 63, 107, .06);
}
.workspace-shell .teacher-assign-essay-page .twa-section-title {
  display: block;
  margin-bottom: 1rem;
  padding-bottom: .6rem;
  color: var(--cll-harbor, #173F6B);
  border-bottom: 1px solid #E0E7EF;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.workspace-shell .teacher-assign-essay-page .form-control,
.workspace-shell .teacher-assign-essay-page .form-select {
  min-height: 44px;
  color: var(--cll-ink, #142033);
  background: #FFFFFF;
  border-color: #B9C6D4;
}
.workspace-shell .teacher-assign-essay-page textarea.form-control { min-height: 180px; }
.workspace-shell .teacher-assign-essay-page .form-text,
.workspace-shell .teacher-assign-essay-page [style*="color: rgba(255"],
.workspace-shell .teacher-assign-essay-page [style*="color:rgba(255"],
.workspace-shell .teacher-assign-essay-page [style*="color: rgba(160"],
.workspace-shell .teacher-assign-essay-page [style*="color:rgba(160"] { color: var(--cll-muted, #59677A) !important; }
.workspace-shell .teacher-assign-essay-page [style*="color: rgba(220"],
.workspace-shell .teacher-assign-essay-page [style*="color:rgba(220"] { color: var(--cll-harbor, #173F6B) !important; }
.workspace-shell .teacher-assign-essay-page [style*="color: rgba(251"],
.workspace-shell .teacher-assign-essay-page [style*="color:rgba(251"] { color: #744B00 !important; }
.workspace-shell .teacher-assign-essay-page [style*="color: rgba(99"],
.workspace-shell .teacher-assign-essay-page [style*="color:rgba(99"] { color: #354A92 !important; }
.workspace-shell .teacher-assign-essay-page [style*="background: rgba(255"],
.workspace-shell .teacher-assign-essay-page [style*="background:rgba(255"] { background: #F6F8FB !important; }
.workspace-shell .teacher-assign-essay-page [style*="border:1px solid rgba(255"],
.workspace-shell .teacher-assign-essay-page [style*="border: 1px solid rgba(255"],
.workspace-shell .teacher-assign-essay-page [style*="border:1px dashed rgba(255"] { border-color: #D8E0EA !important; }
.workspace-shell .teacher-assign-essay-page [style*="border-top: 1px solid rgba(255"] { border-top-color: #D8E0EA !important; }
.workspace-shell .teacher-assign-essay-page #aiAgreementPreview {
  color: var(--cll-ink, #142033) !important;
  background: #F2F5F9 !important;
  border-color: #D8E0EA !important;
}
.workspace-shell .teacher-assign-essay-page .twa-mode-card {
  flex: 1;
  min-width: 200px;
  padding: .75rem .95rem;
  color: var(--cll-ink, #142033);
  background: #FFFFFF;
  border: 1px solid #B9C6D4;
  border-radius: 10px;
  cursor: pointer;
}
.workspace-shell .teacher-assign-essay-page .twa-mode-radio {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.workspace-shell .teacher-assign-essay-page .twa-mode-card:focus-within {
  border-color: var(--cll-focus-ring, #0F766E);
  box-shadow: 0 0 0 3px rgba(15, 118, 110, .24);
}
.workspace-shell .teacher-assign-essay-page .twa-mode-card.is-active { border-color: var(--cll-signal-teal, #0F766E); background: #EAF6F4; }
.workspace-shell .teacher-assign-essay-page .twa-mode-title { color: var(--cll-harbor, #173F6B); font-weight: 700; }
.workspace-shell .teacher-assign-essay-page .twa-mode-sub { color: var(--cll-muted, #59677A); font-size: .76rem; }
.workspace-shell .teacher-assign-essay-page #scopeSubModeWrap {
  padding: .3rem !important;
  background: #F2F5F9 !important;
  border-color: #D8E0EA !important;
}
.workspace-shell .teacher-assign-essay-page .twa-scope-btn,
.workspace-shell .teacher-assign-essay-page .twa-submit,
.workspace-shell .teacher-assign-essay-page .twa-cancel {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-width: 44px;
  min-height: 44px;
  border-radius: 8px;
  font-size: .88rem;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
}
.workspace-shell .teacher-assign-essay-page .twa-scope-btn {
  flex: 1;
  padding: .5rem .85rem;
  color: #38516A;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 6px;
  cursor: pointer;
  transition: background .12s, color .12s, border-color .12s;
}
.workspace-shell .teacher-assign-essay-page .twa-scope-btn:hover {
  color: var(--cll-harbor, #173F6B);
  background: #E7EEF5;
}
.workspace-shell .teacher-assign-essay-page .twa-scope-btn.is-active {
  color: #FFFFFF;
  background: var(--cll-harbor, #173F6B);
  border-color: var(--cll-harbor, #173F6B);
  box-shadow: 0 0 0 2px rgba(23, 63, 107, .14);
}
.workspace-shell .teacher-assign-essay-page .twa-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .75rem;
  margin: .5rem 0 1.5rem;
}
.workspace-shell .teacher-assign-essay-page .twa-submit {
  padding: .625rem 1.4rem;
  color: #FFFFFF;
  background: var(--cll-harbor, #173F6B);
  border: 1px solid var(--cll-harbor, #173F6B);
  cursor: pointer;
}
.workspace-shell .teacher-assign-essay-page .twa-cancel {
  padding: .625rem 1rem;
  color: #38516A;
  background: #FFFFFF;
  border: 1px solid #738396;
}
.workspace-shell .teacher-assign-essay-page :is(a, button, input, select, textarea):focus-visible { outline: 3px solid var(--cll-focus-ring, #0F766E); outline-offset: 3px; }
@media (max-width: 480px) {
  .workspace-shell .teacher-assign-essay-page .twa-actions { align-items: stretch; flex-direction: column; }
  .workspace-shell .teacher-assign-essay-page .twa-submit,
  .workspace-shell .teacher-assign-essay-page .twa-cancel { width: 100%; }
}

/* Teacher assignment operations: presentation-only migration of editing,
 * assignment history, and missing-work review into the shared light shell. */
.workspace-shell .teacher-assignment-edit-page,
.workspace-shell .teacher-essay-assignment-edit-page,
.workspace-shell .teacher-essay-assignment-history-page,
.workspace-shell .teacher-missing-work-page {
  width: min(100%, 1100px);
  min-width: 0;
  margin: 0 auto;
  padding-bottom: 1.5rem;
  color: var(--cll-ink, #142033);
}

.workspace-shell .teacher-assignment-edit-page,
.workspace-shell .teacher-essay-assignment-edit-page {
  max-width: 820px;
}

.workspace-shell .teacher-new-assignment-page {
  width: min(100%, 960px);
  margin: 0 auto;
  padding-bottom: 1.5rem;
  color: var(--cll-ink, #142033);
}

.workspace-shell .teacher-new-assignment-back {
  margin: 0 0 0.75rem;
}

.workspace-shell .teacher-new-assignment-back a {
  color: var(--cll-signal-teal, #0F766E);
  font-weight: 650;
}

.workspace-shell .teacher-new-assignment-card {
  color: var(--cll-ink, #142033);
  background: var(--cll-surface, #FFFFFF) !important;
  border: 1px solid var(--cll-border, #D8E0EA) !important;
  border-radius: 14px;
  box-shadow: 0 4px 18px rgba(23, 63, 107, 0.06);
}

.workspace-shell .teacher-new-assignment-heading {
  margin-bottom: 1.25rem;
}

.workspace-shell .teacher-new-assignment-heading .asgn-card-title {
  color: var(--cll-harbor, #173F6B);
}

.workspace-shell .teacher-new-assignment-heading p,
.workspace-shell .teacher-new-assignment-page .asgn-form-hint {
  color: var(--cll-muted, #59677A);
}

.workspace-shell .teacher-new-assignment-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.workspace-shell .teacher-new-assignment-page .asgn-form-label {
  color: var(--cll-muted, #59677A);
}

.workspace-shell .teacher-new-assignment-page .asgn-form-input,
.workspace-shell .teacher-new-assignment-page .asgn-scope-trigger {
  width: 100%;
  min-height: 44px;
  color: var(--cll-ink, #142033);
  background: #FFFFFF;
  border-color: #B9C6D4;
}

.workspace-shell .teacher-new-assignment-page .asgn-topic-popover {
  color: var(--cll-ink, #142033);
  background: #FFFFFF;
  border-color: var(--cll-border, #D8E0EA);
  box-shadow: 0 12px 28px rgba(20, 32, 51, 0.14);
}

.workspace-shell .teacher-new-assignment-page .asgn-topic-check {
  color: var(--cll-muted, #59677A);
}

.workspace-shell .teacher-new-assignment-actions {
  margin-top: 1.5rem;
}

.workspace-shell .teacher-new-assignment-page .asgn-submit-btn {
  min-height: 44px;
  color: #FFFFFF;
  background: var(--cll-signal-teal, #0F766E);
  border-color: var(--cll-signal-teal, #0F766E);
}

.workspace-shell .teacher-new-assignment-page .asgn-cancel-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  color: #38516A;
  background: #FFFFFF;
  border-color: #738396;
}

.workspace-shell .teacher-new-assignment-page :is(a, button, input, select):focus-visible {
  outline: 3px solid var(--cll-focus-ring, #0F766E);
  outline-offset: 3px;
}

@media (max-width: 768px) {
  .workspace-shell .teacher-new-assignment-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .workspace-shell .teacher-new-assignment-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .workspace-shell .teacher-new-assignment-actions {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.75rem;
  }

  .workspace-shell .teacher-new-assignment-actions :is(button, a) {
    width: 100%;
  }
}

.workspace-shell .teacher-assignment-edit-card,
.workspace-shell .teacher-essay-assignment-edit-card,
.workspace-shell .teacher-essay-assignment-history-card,
.workspace-shell .teacher-missing-work-card {
  color: var(--cll-ink, #142033);
  background: var(--cll-surface, #FFFFFF) !important;
  border: 1px solid var(--cll-border, #D8E0EA) !important;
  border-radius: 14px;
  box-shadow: 0 4px 18px rgba(23, 63, 107, 0.06);
}

.workspace-shell .teacher-assignment-edit-card,
.workspace-shell .teacher-essay-assignment-edit-card,
.workspace-shell .teacher-essay-assignment-history-card > .card-body,
.workspace-shell .teacher-missing-work-card > .card-body {
  padding: clamp(1rem, 2.5vw, 1.4rem);
}

.workspace-shell .teacher-assignment-edit-page a,
.workspace-shell .teacher-essay-assignment-edit-page a,
.workspace-shell .teacher-essay-assignment-history-page a,
.workspace-shell .teacher-missing-work-page a {
  color: var(--cll-signal-teal, #0F766E);
}

.workspace-shell .teacher-assignment-edit-page .asgn-card-title {
  color: var(--cll-harbor, #173F6B);
}

.workspace-shell .teacher-assignment-edit-page .asgn-form-label {
  color: var(--cll-muted, #59677A);
}

.workspace-shell .teacher-assignment-edit-page .asgn-form-input,
.workspace-shell .teacher-essay-assignment-edit-page .form-control,
.workspace-shell .teacher-essay-assignment-edit-page .form-select,
.workspace-shell .teacher-essay-assignment-history-page .form-select,
.workspace-shell .teacher-missing-work-page .form-select {
  min-height: 44px;
  color: var(--cll-ink, #142033);
  background: #FFFFFF;
  border-color: #B9C6D4;
}

.workspace-shell .teacher-assignment-edit-page .asgn-form-static {
  color: #38516A;
  background: #F2F5F9;
  border-color: #D8E0EA;
}

.workspace-shell .teacher-essay-assignment-edit-page textarea.form-control {
  min-height: 7rem;
  line-height: 1.5;
}

.workspace-shell .teacher-essay-assignment-edit-page .form-text,
.workspace-shell .teacher-essay-assignment-edit-page .text-muted,
.workspace-shell .teacher-essay-assignment-edit-page [style*="color:rgba(255"],
.workspace-shell .teacher-essay-assignment-edit-page [style*="color: rgba(255"] {
  color: var(--cll-muted, #59677A) !important;
}

.workspace-shell .teacher-essay-assignment-edit-page [style*="background:rgba(255"],
.workspace-shell .teacher-essay-assignment-edit-page [style*="background: rgba(255"] {
  background: #F6F8FB !important;
}

.workspace-shell .teacher-essay-assignment-edit-page [style*="border-top: 1px solid rgba(255"] {
  border-top-color: #D8E0EA !important;
}

/* The legacy essay templates still contain presentation-only inline values.
 * These selectors cover both spacing variants so those values cannot restore
 * the dark editor palette inside the light workspace. */
.workspace-shell :is(.teacher-assign-essay-page, .teacher-essay-assignment-edit-page) .form-label,
.workspace-shell :is(.teacher-assign-essay-page, .teacher-essay-assignment-edit-page) .twa-mode-title {
  color: var(--cll-harbor, #173F6B) !important;
}
.workspace-shell :is(.teacher-assign-essay-page, .teacher-essay-assignment-edit-page) [style*="color: rgba(255"],
.workspace-shell :is(.teacher-assign-essay-page, .teacher-essay-assignment-edit-page) [style*="color:rgba(255"],
.workspace-shell :is(.teacher-assign-essay-page, .teacher-essay-assignment-edit-page) [style*="color: rgba(160"],
.workspace-shell :is(.teacher-assign-essay-page, .teacher-essay-assignment-edit-page) [style*="color:rgba(160"],
.workspace-shell :is(.teacher-assign-essay-page, .teacher-essay-assignment-edit-page) [style*="color: rgba(220"],
.workspace-shell :is(.teacher-assign-essay-page, .teacher-essay-assignment-edit-page) [style*="color:rgba(220"] {
  color: var(--cll-muted, #59677A) !important;
}
.workspace-shell :is(.teacher-assign-essay-page, .teacher-essay-assignment-edit-page) [style*="color: rgba(99"],
.workspace-shell :is(.teacher-assign-essay-page, .teacher-essay-assignment-edit-page) [style*="color:rgba(99"] {
  color: var(--cll-harbor, #173F6B) !important;
}
.workspace-shell :is(.teacher-assign-essay-page, .teacher-essay-assignment-edit-page) [style*="color: rgba(251"],
.workspace-shell :is(.teacher-assign-essay-page, .teacher-essay-assignment-edit-page) [style*="color:rgba(251"],
.workspace-shell :is(.teacher-assign-essay-page, .teacher-essay-assignment-edit-page) [style*="color: rgba(245"],
.workspace-shell :is(.teacher-assign-essay-page, .teacher-essay-assignment-edit-page) [style*="color:rgba(245"] {
  color: #744B00 !important;
}
.workspace-shell :is(.teacher-assign-essay-page, .teacher-essay-assignment-edit-page) [style*="background: rgba(255"],
.workspace-shell :is(.teacher-assign-essay-page, .teacher-essay-assignment-edit-page) [style*="background:rgba(255"],
.workspace-shell :is(.teacher-assign-essay-page, .teacher-essay-assignment-edit-page) [style*="background: rgba(99"],
.workspace-shell :is(.teacher-assign-essay-page, .teacher-essay-assignment-edit-page) [style*="background:rgba(99"] {
  background: #F6F8FB !important;
}
.workspace-shell :is(.teacher-assign-essay-page, .teacher-essay-assignment-edit-page) [style*="border: 1px solid rgba(255"],
.workspace-shell :is(.teacher-assign-essay-page, .teacher-essay-assignment-edit-page) [style*="border:1px solid rgba(255"],
.workspace-shell :is(.teacher-assign-essay-page, .teacher-essay-assignment-edit-page) [style*="border: 1px dashed rgba(255"],
.workspace-shell :is(.teacher-assign-essay-page, .teacher-essay-assignment-edit-page) [style*="border:1px dashed rgba(255"] {
  border-color: #D8E0EA !important;
}

.workspace-shell .teacher-essay-assignment-edit-page .form-check {
  min-height: 44px;
  padding-top: 0.45rem;
}

.workspace-shell .teacher-essay-assignment-edit-page .form-check-input {
  min-width: 1.15rem;
  min-height: 1.15rem;
}

.workspace-shell .teacher-assignment-edit-page .asgn-submit-btn,
.workspace-shell .teacher-essay-assignment-edit-page .btn-primary,
.workspace-shell .teacher-essay-assignment-history-page .btn-primary {
  min-height: 44px;
  color: #FFFFFF !important;
  background: var(--cll-harbor, #173F6B);
  border-color: var(--cll-harbor, #173F6B);
}

.workspace-shell .teacher-assignment-edit-page .asgn-cancel-link,
.workspace-shell .teacher-essay-assignment-edit-page .btn-outline-secondary,
.workspace-shell .teacher-essay-assignment-history-page .btn-outline-light,
.workspace-shell .teacher-missing-work-page .btn-outline-light,
.workspace-shell .teacher-missing-work-page .btn-outline-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  color: #38516A !important;
  background: #FFFFFF;
  border-color: #738396;
}

.workspace-shell .teacher-essay-assignment-history-actions,
.workspace-shell .teacher-missing-work-page .d-flex.justify-content-between {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.workspace-shell .teacher-essay-assignment-history-actions .btn {
  margin-left: 0 !important;
}

.workspace-shell .teacher-essay-assignment-history-filter .form-select {
  width: min(100%, 20rem);
}

.workspace-shell .teacher-essay-assignment-history-table-wrap,
.workspace-shell .teacher-missing-work-table-wrap {
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.workspace-shell .teacher-essay-assignment-history-page .table,
.workspace-shell .teacher-missing-work-page .table {
  --bs-table-bg: transparent;
  --bs-table-color: #24394F;
  --bs-table-border-color: #DCE4EC;
}

.workspace-shell .teacher-essay-assignment-history-page .table {
  min-width: 59rem;
}

.workspace-shell .teacher-missing-work-page .table {
  min-width: 44rem;
}

.workspace-shell .teacher-essay-assignment-history-page .table thead th,
.workspace-shell .teacher-missing-work-page .table thead th {
  color: #38516A;
  font-size: 0.75rem;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.workspace-shell .teacher-essay-assignment-history-page .table td,
.workspace-shell .teacher-essay-assignment-history-page .table th,
.workspace-shell .teacher-missing-work-page .table td,
.workspace-shell .teacher-missing-work-page .table th {
  padding: 0.75rem;
}

.workspace-shell .teacher-essay-assignment-history-page .text-muted,
.workspace-shell .teacher-missing-work-page .text-muted {
  color: var(--cll-muted, #59677A) !important;
}

.workspace-shell .teacher-essay-assignment-history-page .bg-success,
.workspace-shell .teacher-missing-work-page .bg-success {
  background-color: #0B5D43 !important;
}

.workspace-shell .teacher-essay-assignment-history-page .bg-warning,
.workspace-shell .teacher-missing-work-page .bg-warning {
  color: #1F2937 !important;
  background-color: #F6C451 !important;
}

.workspace-shell .teacher-essay-assignment-history-page .bg-danger,
.workspace-shell .teacher-missing-work-page .bg-danger {
  background-color: #A12A32 !important;
}

.workspace-shell .teacher-missing-work-filters .card-body {
  padding: clamp(0.85rem, 2vw, 1rem);
}

.workspace-shell .teacher-missing-work-page .form-check {
  min-height: 44px;
  padding-top: 0.45rem;
}

.workspace-shell .teacher-missing-work-page .form-check-input {
  min-width: 1.15rem;
  min-height: 1.15rem;
}

.workspace-shell .teacher-assignment-edit-page :is(a, button, input, select, textarea):focus-visible,
.workspace-shell .teacher-essay-assignment-edit-page :is(a, button, input, select, textarea):focus-visible,
.workspace-shell .teacher-essay-assignment-history-page :is(a, button, input, select):focus-visible,
.workspace-shell .teacher-missing-work-page :is(a, button, input, select):focus-visible {
  outline: 3px solid var(--cll-focus-ring, #0F766E);
  outline-offset: 3px;
  box-shadow: none;
}

@media (prefers-reduced-motion: reduce) {
  .workspace-shell .teacher-assignment-edit-page *,
  .workspace-shell .teacher-essay-assignment-edit-page *,
  .workspace-shell .teacher-essay-assignment-history-page *,
  .workspace-shell .teacher-missing-work-page * {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}

@media (max-width: 768px) {
  .workspace-shell .teacher-assignment-edit-page .asgn-form-row {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .workspace-shell .teacher-essay-assignment-history-actions,
  .workspace-shell .teacher-missing-work-page .d-flex.justify-content-between {
    align-items: stretch !important;
    flex-direction: column;
  }

  .workspace-shell .teacher-essay-assignment-history-actions .btn,
  .workspace-shell .teacher-missing-work-page .d-flex.justify-content-between .btn {
    width: 100%;
  }
}

@media (max-width: 480px) {
  .workspace-shell .teacher-assignment-edit-card,
  .workspace-shell .teacher-essay-assignment-edit-card,
  .workspace-shell .teacher-essay-assignment-history-card > .card-body,
  .workspace-shell .teacher-missing-work-card > .card-body {
    padding: 0.9rem;
  }

  .workspace-shell .teacher-assignment-edit-page .asgn-form-actions,
  .workspace-shell .teacher-essay-assignment-edit-page .row > .col-12:last-child {
    display: flex;
    align-items: stretch;
    flex-direction: column;
    gap: 0.75rem;
  }

  .workspace-shell .teacher-assignment-edit-page .asgn-submit-btn,
  .workspace-shell .teacher-assignment-edit-page .asgn-cancel-link,
  .workspace-shell .teacher-essay-assignment-edit-page .btn {
    width: 100%;
    margin-left: 0 !important;
  }
}

.workspace-shell .workspace-shell__main {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-width: 0;
  min-height: 100vh;
  max-width: 100%;
}

.workspace-shell:not(:has(.essay-coach-page)) .workspace-shell__main {
  background: var(--cll-canvas, #F6F8FB);
}

.workspace-shell .workspace-shell__surface {
  max-width: 100%;
  background: var(--cll-surface, #FFFFFF);
  border: 1px solid var(--cll-border, #D8E0EA);
  border-radius: 12px;
}

/* Teacher assignment detail: a presentation-only migration of the existing
 * progress, outcome, preview, and lifecycle controls into the workspace. */
.workspace-shell .teacher-assignment-detail-page {
  width: min(100%, 1160px);
  margin: 0 auto;
  color: var(--cll-ink, #142033);
}

.workspace-shell .teacher-assignment-detail-header,
.workspace-shell .teacher-assignment-detail-summary-row,
.workspace-shell .teacher-assignment-detail-lifecycle,
.workspace-shell .teacher-assignment-detail-lifecycle-actions,
.workspace-shell .teacher-assignment-detail-summary-status,
.workspace-shell .teacher-assignment-detail-summary-actions,
.workspace-shell .teacher-assignment-detail-preview {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.workspace-shell .teacher-assignment-detail-header {
  justify-content: space-between;
  margin-bottom: 1rem;
}

.workspace-shell .teacher-assignment-detail-back {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: #0d655e;
  font-weight: 700;
  text-decoration: none;
}

.workspace-shell .teacher-assignment-detail-back:hover {
  color: #084e48;
  text-decoration: underline;
}

.workspace-shell .teacher-assignment-detail-preview {
  justify-content: flex-end;
}

.workspace-shell .teacher-assignment-detail-preview-note,
.workspace-shell .teacher-assignment-detail-meta,
.workspace-shell .teacher-assignment-detail-answer-summary,
.workspace-shell .teacher-assignment-detail-unit-note,
.workspace-shell .teacher-assignment-detail-unit-title {
  color: #52657a;
}

.workspace-shell .teacher-assignment-detail-preview-note {
  max-width: 31rem;
  font-size: 0.84rem;
}

.workspace-shell .teacher-assignment-detail-card,
.workspace-shell .teacher-assignment-detail-metric-card {
  margin-bottom: 1rem;
  border: 1px solid var(--cll-border, #d8e0ea);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 4px 18px rgba(23, 63, 107, 0.06);
}

.workspace-shell .teacher-assignment-detail-card > .card-body {
  padding: clamp(1rem, 2.5vw, 1.4rem);
}

.workspace-shell .teacher-assignment-detail-summary-row,
.workspace-shell .teacher-assignment-detail-lifecycle {
  justify-content: space-between;
}

.workspace-shell .teacher-assignment-detail-summary-status {
  flex: 1 1 28rem;
}

.workspace-shell .teacher-assignment-detail-summary-actions {
  justify-content: flex-end;
}

.workspace-shell .teacher-assignment-detail-completion {
  color: var(--cll-harbor, #173f6b);
  font-size: 0.94rem;
  font-weight: 700;
}

.workspace-shell .teacher-assignment-detail-missing {
  background-color: #59677A !important;
  color: #fff;
  font-size: 0.75rem;
}

.workspace-shell .teacher-assignment-detail-meta {
  font-size: 0.88rem;
}

.workspace-shell .teacher-assignment-detail-page .btn,
.workspace-shell .teacher-assignment-detail-page .form-select,
.workspace-shell .teacher-assignment-detail-page .asgn-view-btn {
  min-height: 44px;
}

.workspace-shell .teacher-assignment-detail-page .btn,
.workspace-shell .teacher-assignment-detail-page .asgn-view-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
}

.workspace-shell .teacher-assignment-detail-page .btn-outline-light,
.workspace-shell .teacher-assignment-detail-page .asgn-view-btn {
  color: #0d655e !important;
  border-color: #0d655e;
  background: #fff;
}

.workspace-shell .teacher-assignment-detail-page .btn-outline-light:hover,
.workspace-shell .teacher-assignment-detail-page .asgn-view-btn:hover {
  color: #fff !important;
  border-color: #0d655e;
  background: #0d655e;
}

.workspace-shell .teacher-assignment-detail-page .btn-outline-secondary {
  color: #38516a;
  border-color: #738396;
  background: #fff;
}

.workspace-shell .teacher-assignment-detail-page .btn-outline-secondary:hover {
  color: #fff;
  border-color: #38516a;
  background: #38516a;
}

.workspace-shell .teacher-assignment-detail-page .btn-outline-warning {
  color: #805500;
  border-color: #b77a00;
  background: #fff;
}

.workspace-shell .teacher-assignment-detail-page .btn-outline-success {
  color: #12633f;
  border-color: #198754;
  background: #fff;
}

.workspace-shell .teacher-assignment-detail-page .btn:focus-visible,
.workspace-shell .teacher-assignment-detail-page .form-select:focus-visible,
.workspace-shell .teacher-assignment-detail-page .asgn-view-btn:focus-visible,
.workspace-shell .teacher-assignment-detail-back:focus-visible {
  outline: 3px solid var(--cll-focus-ring, #0f766e);
  outline-offset: 3px;
  box-shadow: none;
}

.workspace-shell .teacher-assignment-detail-label {
  margin: 0 0 0.5rem;
  color: #38516a;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.workspace-shell .teacher-assignment-detail-question-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
  color: #24394f;
  font-size: 0.92rem;
  line-height: 1.7;
}

.workspace-shell .teacher-assignment-detail-answer-summary {
  margin-top: 0.25rem;
  font-size: 0.84rem;
}

.workspace-shell .teacher-assignment-detail-instructions {
  color: #344a61;
  font-size: 0.9rem;
  line-height: 1.6;
  padding: 0.75rem;
  border: 1px solid #d8e0ea;
  border-radius: 8px;
  background: #f6f8fb;
}

.workspace-shell .teacher-assignment-detail-copy-instructions {
  margin-top: 0.5rem;
}

.workspace-shell .teacher-assignment-detail-unit-results h2 {
  margin: 0 0 0.5rem;
  color: var(--cll-harbor, #173f6b);
  font-size: 1rem;
}

.workspace-shell .teacher-assignment-detail-unit-note {
  margin-bottom: 1rem;
  font-size: 0.88rem;
}

.workspace-shell .teacher-assignment-detail-unit-list {
  display: grid;
  gap: 0.65rem;
}

.workspace-shell .teacher-assignment-detail-unit-row {
  display: grid;
  grid-template-columns: minmax(12rem, 1fr) minmax(9rem, 2fr) minmax(4.5rem, auto);
  align-items: center;
  gap: 0.75rem;
}

.workspace-shell .teacher-assignment-detail-unit-name,
.workspace-shell .teacher-assignment-detail-unit-score {
  font-size: 0.85rem;
}

.workspace-shell .teacher-assignment-detail-unit-score {
  color: #43566b;
  text-align: right;
}

.workspace-shell .teacher-assignment-detail-unit-bar {
  position: relative;
  height: 18px;
  overflow: hidden;
  border-radius: 4px;
  background: #e5ebf1;
}

.workspace-shell .teacher-assignment-detail-unit-bar > span {
  position: absolute;
  top: 0;
  left: 8px;
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 18px;
  color: #000 !important;
}

.workspace-shell .teacher-assignment-detail-results .table-responsive,
.workspace-shell .teacher-assignment-detail-breakdown .table-responsive {
  max-width: 100%;
  overflow-x: auto;
}

.workspace-shell .teacher-assignment-detail-page .table {
  --bs-table-bg: transparent;
  --bs-table-color: #24394f;
  --bs-table-border-color: #dce4ec;
  min-width: 43rem;
}

.workspace-shell .teacher-assignment-detail-page .table thead th {
  color: #38516a;
  font-size: 0.75rem;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.workspace-shell .teacher-assignment-detail-page .table td,
.workspace-shell .teacher-assignment-detail-page .table th {
  padding: 0.75rem;
}

.workspace-shell .asgn-last-activity {
  padding-left: 2rem !important;
  text-align: right;
  white-space: nowrap;
}

.workspace-shell .asgn-last-activity-text {
  color: #24394f !important;
  font-size: 0.88rem;
  font-weight: 600;
}

.workspace-shell .asgn-last-activity-empty {
  color: #66778a !important;
  font-size: 0.88rem;
}

.workspace-shell .teacher-assignment-detail-view-cell {
  padding-left: 1rem !important;
  text-align: right;
}

.workspace-shell .asgn-view-btn {
  padding: 0.3rem 0.85rem;
  border: 1px solid #0d655e;
  border-radius: 6px;
  text-decoration: none;
  white-space: nowrap;
}

.workspace-shell .teacher-assignment-detail-breakdown {
  margin-bottom: 1rem;
}

.workspace-shell .teacher-assignment-detail-breakdown > .btn {
  color: #38516a;
  background: #fff;
}

.workspace-shell .teacher-assignment-detail-metric-card {
  margin-bottom: 0;
}

.workspace-shell .teacher-assignment-detail-metric-card > .card-body {
  padding: 0.75rem;
}

.workspace-shell .teacher-assignment-detail-progress {
  width: 80px;
  height: 6px;
}

.workspace-shell .teacher-assignment-detail-lifecycle {
  margin-bottom: 1rem;
}

.workspace-shell .teacher-assignment-detail-lifecycle-actions {
  justify-content: flex-end;
}

.workspace-shell .teacher-assignment-detail-lifecycle .input-group {
  align-items: stretch;
}

.workspace-shell .teacher-assignment-detail-lifecycle .form-select {
  min-width: 8rem;
  border-color: #738396;
}

/* Teacher assignment preview: a read-only presentation of the persisted
 * question set. It deliberately contains no student-answer affordance. */
.workspace-shell .teacher-assignment-preview-page {
  width: min(100%, 860px);
  margin: 0 auto;
  color: var(--cll-ink, #142033);
}

.workspace-shell .teacher-assignment-preview-header,
.workspace-shell .teacher-assignment-preview-meta,
.workspace-shell .teacher-assignment-preview-navigation {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.workspace-shell .teacher-assignment-preview-header,
.workspace-shell .teacher-assignment-preview-navigation {
  justify-content: space-between;
}

.workspace-shell .teacher-assignment-preview-header {
  align-items: flex-end;
  margin-bottom: 1rem;
}

.workspace-shell .teacher-assignment-preview-back {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: #0d655e;
  font-weight: 700;
  text-decoration: none;
}

.workspace-shell .teacher-assignment-preview-back:hover {
  color: #084e48;
  text-decoration: underline;
}

.workspace-shell .teacher-assignment-preview-kicker,
.workspace-shell .teacher-assignment-preview-section-heading > p {
  margin: 0;
  color: #287d73;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.workspace-shell .teacher-assignment-preview-header h2,
.workspace-shell .teacher-assignment-preview-section-heading h3 {
  margin: 0;
  color: var(--cll-harbor, #173f6b);
}

.workspace-shell .teacher-assignment-preview-header h2 {
  font-size: clamp(1.35rem, 3vw, 1.8rem);
}

.workspace-shell .teacher-assignment-preview-position {
  color: #38516a;
  font-size: 0.9rem;
  font-weight: 700;
  white-space: nowrap;
}

.workspace-shell .teacher-assignment-preview-notice,
.workspace-shell .teacher-assignment-preview-card,
.workspace-shell .teacher-assignment-preview-key {
  margin-bottom: 1rem;
  border: 1px solid var(--cll-border, #d8e0ea);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 4px 18px rgba(23, 63, 107, 0.06);
}

.workspace-shell .teacher-assignment-preview-notice {
  padding: 1rem 1.1rem;
  border-color: #9dc9c4;
  border-left: 4px solid #0d655e;
  background: #edf8f6;
}

.workspace-shell .teacher-assignment-preview-notice h3 {
  margin: 0 0 0.3rem;
  color: #124d48;
  font-size: 0.95rem;
}

.workspace-shell .teacher-assignment-preview-notice p {
  margin: 0;
  color: #284d4a;
  font-size: 0.9rem;
  line-height: 1.55;
}

.workspace-shell .teacher-assignment-preview-meta {
  margin-bottom: 1rem;
}

.workspace-shell .teacher-assignment-preview-meta .badge {
  padding: 0.45rem 0.65rem;
  font-size: 0.76rem;
}

.workspace-shell .teacher-assignment-preview-section-heading {
  margin-bottom: 0.5rem;
}

.workspace-shell .teacher-assignment-preview-section-heading h3 {
  font-size: 1.05rem;
}

.workspace-shell .teacher-assignment-preview-card > .card-body,
.workspace-shell .teacher-assignment-preview-key > .card-body {
  padding: clamp(1rem, 3vw, 1.5rem);
}

.workspace-shell .teacher-assignment-preview-stimulus {
  margin-bottom: 1rem;
  padding: 1rem;
  border: 1px solid #d8e0ea;
  border-left: 4px solid #5c8fc4;
  border-radius: 8px;
  background: #f6f8fb;
  color: #24394f;
}

.workspace-shell .teacher-assignment-preview-stimulus--image {
  text-align: center;
}

.workspace-shell .teacher-assignment-preview-stimulus-copy {
  line-height: 1.7;
}

.workspace-shell .teacher-assignment-preview-stimulus img {
  max-width: 100%;
  max-height: 400px;
  object-fit: contain;
  border-radius: 4px;
}

.workspace-shell .teacher-assignment-preview-card .student-mc-prompt {
  color: #142033;
  font-size: 1.1rem;
  line-height: 1.55;
}

.workspace-shell .teacher-assignment-preview-choices {
  display: grid;
  gap: 0.65rem;
}

.workspace-shell .teacher-assignment-preview-choice {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  padding: 0.9rem 1rem;
  border: 1px solid #cbd7e3;
  border-radius: 10px;
  background: #fff;
  color: #24394f;
  line-height: 1.5;
  cursor: default;
  transition: none;
  transform: none;
}

.workspace-shell .teacher-assignment-preview-choice:hover,
.workspace-shell .teacher-assignment-preview-choice:active {
  background: #fff;
  border-color: #cbd7e3 !important;
  cursor: default;
  transform: none;
}

.workspace-shell .teacher-assignment-preview-choice > span:first-child {
  min-width: 1.5rem;
  color: #173f6b;
}

.workspace-shell .teacher-assignment-preview-explanation {
  white-space: pre-wrap;
}

.workspace-shell .teacher-assignment-preview-support-note {
  margin-top: 1rem;
  color: #52657a;
  font-size: 0.88rem;
  line-height: 1.5;
}

.workspace-shell .teacher-assignment-preview-key summary {
  min-height: 44px;
  padding: 0.85rem 1rem;
  color: #173f6b;
  font-weight: 700;
  cursor: pointer;
}

.workspace-shell .teacher-assignment-preview-key summary:focus-visible,
.workspace-shell .teacher-assignment-preview-back:focus-visible,
.workspace-shell .teacher-assignment-preview-navigation .btn:focus-visible {
  outline: 3px solid var(--cll-focus-ring, #0f766e);
  outline-offset: 3px;
  box-shadow: none;
}

.workspace-shell .teacher-assignment-preview-navigation {
  margin-bottom: 1rem;
}

.workspace-shell .teacher-assignment-preview-navigation .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  font-weight: 700;
}

.workspace-shell .teacher-assignment-preview-navigation .btn-outline-light {
  color: #0d655e !important;
  border-color: #0d655e;
  background: #fff;
}

.workspace-shell .teacher-assignment-preview-navigation .btn-outline-light:hover {
  color: #fff !important;
  border-color: #0d655e;
  background: #0d655e;
}

@media (max-width: 700px) {
  .workspace-shell .teacher-assignment-detail-header,
  .workspace-shell .teacher-assignment-detail-summary-row,
  .workspace-shell .teacher-assignment-detail-lifecycle {
    align-items: stretch;
    flex-direction: column;
  }

  .workspace-shell .teacher-assignment-detail-preview,
  .workspace-shell .teacher-assignment-detail-summary-actions,
  .workspace-shell .teacher-assignment-detail-lifecycle-actions {
    justify-content: stretch;
  }

  .workspace-shell .teacher-assignment-detail-preview-link,
  .workspace-shell .teacher-assignment-detail-summary-actions .btn,
  .workspace-shell .teacher-assignment-detail-lifecycle > .btn,
  .workspace-shell .teacher-assignment-detail-lifecycle-actions > .btn,
  .workspace-shell .teacher-assignment-detail-lifecycle-actions > form > .btn {
    flex: 1 1 12rem;
  }

  .workspace-shell .teacher-assignment-detail-unit-row {
    grid-template-columns: 1fr;
    gap: 0.35rem;
  }

  .workspace-shell .teacher-assignment-detail-unit-score {
    text-align: left;
  }

  .workspace-shell .teacher-assignment-detail-lifecycle .input-group {
    width: 100%;
  }

  .workspace-shell .teacher-assignment-preview-header {
    align-items: stretch;
    flex-direction: column;
  }

  .workspace-shell .teacher-assignment-preview-navigation .btn {
    flex: 1 1 12rem;
  }
}

/* Package 11: contextual teacher class overview. */
.workspace-shell .class-overview-page {
  display: grid;
  gap: 1rem;
  max-width: 1080px;
  margin: 0 auto;
}

.workspace-shell .class-overview-actions,
.workspace-shell .class-overview-card-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
}

.workspace-shell .class-overview-actions {
  max-width: 1080px;
  margin: 0 auto 1rem;
}

.workspace-shell .class-overview-actions .btn,
.workspace-shell .class-overview-card-actions .btn {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.workspace-shell .class-overview-card {
  margin: 0;
  padding: 1.25rem;
  border: 1px solid var(--cll-border, #d8e0ea);
  border-radius: 14px;
  background: #fff;
  color: var(--cll-harbor, #173f6b);
  box-shadow: 0 4px 18px rgba(23, 63, 107, 0.06);
}

.workspace-shell .class-overview-card h2 {
  margin: 0 0 0.5rem;
  color: var(--cll-harbor, #173f6b);
  font-size: 1.1rem;
}

.workspace-shell .class-overview-card p {
  color: #43566b;
}

.workspace-shell .class-overview-kicker {
  margin: 0 0 0.25rem;
  color: #287d73 !important;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.workspace-shell .class-overview-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.75rem;
  margin: 1rem 0;
}

.workspace-shell .class-overview-stats > div {
  padding: 0.85rem;
  border-radius: 10px;
  background: #f6f8fb;
}

.workspace-shell .class-overview-stats dt {
  color: #5c6d7e;
  font-size: 0.75rem;
  font-weight: 600;
}

.workspace-shell .class-overview-stats dd {
  margin: 0.15rem 0 0;
  color: var(--cll-harbor, #173f6b);
  font-size: 1.3rem;
  font-weight: 700;
}

.workspace-shell .class-overview-code {
  letter-spacing: 0.12em;
}

.workspace-shell .class-overview-readiness {
  border-left: 4px solid #2f8f83;
}

.workspace-shell .class-overview-readiness-status,
.workspace-shell .class-overview-readiness-state,
.workspace-shell .class-overview-readiness-next {
  margin-bottom: 0.75rem;
}

.workspace-shell .class-overview-readiness-next {
  color: var(--cll-harbor, #173f6b);
}

.workspace-shell .class-overview-readiness-methodology {
  max-width: 100%;
  margin-top: 1rem;
  border-top: 1px solid var(--cll-border, #d8e0ea);
}

.workspace-shell .class-overview-readiness-methodology > summary {
  min-height: 44px;
  padding: 0.75rem 0;
  color: var(--cll-harbor, #173f6b);
  font-weight: 700;
  cursor: pointer;
  overflow-wrap: anywhere;
}

.workspace-shell .class-overview-readiness-methodology > summary:focus-visible {
  border-radius: 4px;
  outline: 3px solid var(--cll-focus-ring, #0f766e);
  outline-offset: 3px;
}

.workspace-shell .class-overview-readiness-methodology__body {
  max-width: 100%;
  padding: 0 0 0.25rem;
}

.workspace-shell .class-overview-evidence-note {
  margin-bottom: 0;
  font-size: 0.85rem;
}

.workspace-shell details.class-overview-details {
  padding: 0;
}

.workspace-shell .class-overview-details > summary {
  min-height: 52px;
  padding: 1rem 1.25rem;
  color: var(--cll-harbor, #173f6b);
  font-weight: 700;
  cursor: pointer;
}

.workspace-shell .class-overview-details-body {
  padding: 0 1.25rem 1.25rem;
}

.workspace-shell .class-overview-skill-list,
.workspace-shell .class-overview-activity {
  margin: 0 0 1rem;
  padding-left: 1.25rem;
}

.workspace-shell .class-overview-activity li {
  display: grid;
  grid-template-columns: minmax(8rem, 1fr) auto minmax(8rem, 1fr) auto auto;
  gap: 0.75rem;
  padding: 0.5rem 0;
  border-bottom: 1px solid #e4e9ef;
}

@media (max-width: 700px) {
  .workspace-shell .class-overview-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .workspace-shell .class-overview-actions .btn,
  .workspace-shell .class-overview-card-actions .btn {
    flex: 1 1 10rem;
  }

  .workspace-shell .class-overview-activity li {
    grid-template-columns: 1fr;
    gap: 0.2rem;
  }
}

@media (max-width: 360px) {
  .workspace-shell .class-overview-stats {
    grid-template-columns: 1fr;
  }

  .workspace-shell .class-overview-card {
    padding: 1rem;
  }
}

/* Create Class page: keep the setup form aligned with the shared shell. */
.workspace-shell .teacher-new-class-page {
  width: min(100%, 720px);
  margin: 0 auto;
}

.workspace-shell .teacher-new-class-back {
  margin-bottom: 1rem;
}

.workspace-shell .teacher-new-class-back .btn,
.workspace-shell .teacher-new-class-actions .btn {
  min-height: 44px;
}

.workspace-shell .teacher-new-class-card {
  padding: clamp(1.25rem, 4vw, 2.5rem);
}

.workspace-shell .teacher-new-class-card h2 {
  margin-bottom: 0.5rem;
  color: var(--cll-harbor, #173F6B);
  font-size: clamp(1.35rem, 3vw, 1.75rem);
}

.workspace-shell .teacher-new-class-card > p {
  margin-bottom: 1.5rem;
  color: var(--cll-muted, #59677A);
}

.workspace-shell .teacher-new-class-form {
  display: grid;
  gap: 0.75rem;
}

.workspace-shell .teacher-new-class-form label {
  margin-bottom: 0.1rem;
  color: var(--cll-ink, #142033);
  font-weight: 600;
}

.workspace-shell .teacher-new-class-form .form-control,
.workspace-shell .teacher-new-class-form .form-select {
  min-height: 44px;
  border-color: var(--cll-border, #D8E0EA);
  background-color: #FFFFFF;
  color: var(--cll-ink, #142033);
}

.workspace-shell .teacher-new-class-form .form-select option {
  background-color: #FFFFFF;
  color: var(--cll-ink, #142033);
}

.workspace-shell .teacher-new-class-form .form-control:focus,
.workspace-shell .teacher-new-class-form .form-select:focus {
  border-color: var(--cll-signal-teal, #0F766E);
  box-shadow: 0 0 0 0.2rem rgba(15, 118, 110, 0.16);
}

.workspace-shell .teacher-new-class-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  margin-top: 0.5rem;
}

.workspace-shell .teacher-new-class-actions .btn-primary {
  background: var(--cll-signal-teal, #0F766E);
  border-color: var(--cll-signal-teal, #0F766E);
}

@media (max-width: 575.98px) {
  .workspace-shell .teacher-new-class-page {
    padding-bottom: 1rem;
  }

  .workspace-shell .teacher-new-class-back {
    margin-bottom: 0.75rem;
  }

  .workspace-shell .teacher-new-class-card {
    padding: 1.25rem;
  }

  .workspace-shell .teacher-new-class-actions {
    display: grid;
  }

  .workspace-shell .teacher-new-class-actions .btn {
    width: 100%;
  }
}

.workspace-shell .workspace-shell__sidebar {
  flex: 0 0 232px;
  width: 232px;
  max-width: 100vw;
  background: var(--cll-harbor, #173F6B);
  color: var(--cll-navigation-foreground, #FFFFFF);
  transition: width 200ms ease, flex-basis 200ms ease, transform 200ms ease;
}

.workspace-shell .workspace-shell__sidebar a {
  color: inherit;
}

.workspace-shell--collapsed .workspace-shell__sidebar {
  flex-basis: 72px;
  width: 72px;
}

.workspace-shell--collapsed .workspace-shell__nav-label {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

.workspace-shell .workspace-shell__nav-link {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  min-height: 44px;
  padding: 0.5rem 1rem;
  color: var(--cll-navigation-foreground, #FFFFFF);
  text-decoration: none;
  border-left: 3px solid transparent;
}

.workspace-shell .workspace-shell__nav-link:hover {
  background: rgba(255, 255, 255, 0.08);
  text-decoration: none;
}

.workspace-shell .workspace-shell__nav-link--active,
.workspace-shell .workspace-shell__nav-link[aria-current="page"] {
  border-left-color: var(--cll-signal-teal, #0F766E);
  background: rgba(15, 118, 110, 0.32);
  font-weight: 600;
}

.workspace-shell .workspace-shell__current-flag {
  display: inline-block;
  margin-left: auto;
  padding: 0.1rem 0.45rem;
  border-radius: 999px;
  background: var(--cll-signal-teal, #0F766E);
  color: var(--cll-surface, #FFFFFF);
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1.4;
}

.workspace-shell .workspace-shell__toggle,
.workspace-shell .workspace-shell__drawer-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
  padding: 0.5rem;
  border: 1px solid var(--cll-border, #D8E0EA);
  border-radius: 8px;
  background: var(--cll-surface, #FFFFFF);
  color: var(--cll-ink, #142033);
  cursor: pointer;
}

.workspace-shell .workspace-shell__toggle:hover,
.workspace-shell .workspace-shell__drawer-button:hover {
  background: var(--cll-canvas, #F6F8FB);
}

.workspace-shell :focus-visible {
  outline: 3px solid var(--cll-focus-ring, #0F766E);
  outline-offset: 2px;
}

.workspace-shell :focus:not(:focus-visible) {
  outline: none;
}

.workspace-shell .workspace-shell__backdrop {
  display: none;
}

@media (max-width: 991.98px) {
  .workspace-shell .workspace-shell__main {
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  .workspace-shell .workspace-shell__sidebar {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    z-index: 1200;
    width: min(232px, 85vw);
    flex-basis: auto;
    transform: translateX(-100%);
    box-shadow: none;
  }

  .workspace-shell--drawer-open .workspace-shell__sidebar {
    transform: translateX(0);
    box-shadow: 0 8px 24px rgba(20, 32, 51, 0.35);
  }

  .workspace-shell .workspace-shell__backdrop {
    display: block;
    position: fixed;
    inset: 0;
    z-index: 1190;
    background: rgba(20, 32, 51, 0.5);
    opacity: 0;
    visibility: hidden;
    transition: opacity 200ms ease, visibility 200ms ease;
  }

  .workspace-shell--drawer-open .workspace-shell__backdrop {
    opacity: 1;
    visibility: visible;
  }

  body.workspace-shell-drawer-open {
    overflow: hidden;
  }
}

@media (max-width: 320px) {
  .workspace-shell .workspace-shell__sidebar {
    width: 100vw;
  }

  .workspace-shell .workspace-shell__main {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .workspace-shell,
  .workspace-shell *,
  .workspace-shell *::before,
  .workspace-shell *::after {
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
  }
}

/* Flask/Jinja integration adapter for the approved dashboard page family. */
.workspace-shell .workspace-sidebar {
  /* Keep navigation visible while the workspace content scrolls. The
   * mobile breakpoint below intentionally switches this to a drawer. */
  position: sticky;
  top: 0;
  align-self: flex-start;
  z-index: 1025;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  height: 100vh;
  max-height: 100vh;
  min-height: 100vh;
  padding: 1.5rem 0.75rem;
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;
}

.workspace-shell .workspace-sidebar-header {
  position: relative;
  display: block;
  min-height: 142px;
  padding: 0 0.15rem;
}

.workspace-shell .workspace-brand {
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  align-items: center;
  gap: 0.3rem;
  min-width: 0;
  min-height: 0;
  text-align: center;
  text-decoration: none;
}

.workspace-shell .workspace-brand-logo {
  display: block;
  flex: 0 0 auto;
  width: auto;
  height: 72px;
  max-width: 72px;
  object-fit: contain;
}

.workspace-shell .workspace-brand-copy {
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  justify-content: center;
  gap: 0.2rem;
  min-width: 0;
}

.workspace-shell .workspace-brand-name {
  font-family: "Newsreader", Georgia, "Times New Roman", serif;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  line-height: 1.35;
  white-space: nowrap;
}

.workspace-shell .workspace-brand-role,
.workspace-shell .workspace-nav-label {
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 1.4;
  text-transform: uppercase;
  white-space: nowrap;
}

.workspace-shell .workspace-brand-role {
  margin-top: 0.7rem;
}

.workspace-shell .workspace-nav-label {
  margin: 1rem 0.75rem 0.2rem;
  color: rgba(255, 255, 255, 0.72);
}

.workspace-shell .workspace-nav {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}

.workspace-shell .workspace-nav-item .workspace-nav-text {
  color: rgba(255, 255, 255, 0.86);
  font-family: inherit;
  font-size: 0.9rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.4;
  text-transform: none;
}

.workspace-shell .workspace-nav-item.workspace-shell__nav-link--active .workspace-nav-text,
.workspace-shell .workspace-nav-item[aria-current="page"] .workspace-nav-text {
  color: #FFFFFF;
  font-weight: 500;
}

.workspace-shell .workspace-nav-icon {
  display: inline-flex;
  flex: 0 0 22px;
  align-items: center;
  justify-content: center;
  width: 22px;
}

.workspace-shell .workspace-nav-icon svg {
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.75;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.workspace-shell .workspace-sidebar-collapse {
  position: absolute;
  top: 0;
  right: 0;
  color: #FFFFFF;
  background: transparent;
  border-color: rgba(255, 255, 255, 0.25);
}

.workspace-shell .workspace-sidebar-close {
  display: none;
  margin-left: auto;
  color: #FFFFFF;
  background: transparent;
  border-color: rgba(255, 255, 255, 0.25);
}

.workspace-shell .workspace-control-label {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

.workspace-shell--collapsed .workspace-brand-copy,
.workspace-shell--collapsed .workspace-nav-label,
.workspace-shell--collapsed .workspace-nav-text,
.workspace-shell--collapsed .workspace-shell__current-flag {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

.workspace-shell--collapsed .workspace-sidebar-header {
  min-height: 132px;
  padding: 0;
}

.workspace-shell--collapsed .workspace-brand {
  padding-top: 0.15rem;
}

.workspace-shell--collapsed .workspace-brand-logo {
  height: 32px;
  max-width: 26px;
}

.workspace-shell--collapsed .workspace-sidebar-collapse svg {
  transform: rotate(180deg);
}

.workspace-shell--collapsed .workspace-sidebar-collapse {
  top: 44px;
  right: 50%;
  transform: translateX(50%);
}

.workspace-shell--collapsed .workspace-shell__nav-link {
  justify-content: center;
  padding-inline: 0.6rem;
}

.workspace-shell .workspace-mobile-toggle {
  display: none;
}

.workspace-shell .workspace-mobile-brand {
  display: none;
  align-items: center;
  justify-content: center;
  flex: 0 0 44px;
  width: 44px;
  min-height: 44px;
  padding: 0.25rem;
  color: var(--cll-harbor, #173F6B);
  border-radius: 8px;
  text-decoration: none;
}

.workspace-shell .workspace-mobile-brand:hover {
  background: var(--cll-canvas, #F6F8FB);
  text-decoration: none;
}

.workspace-shell .workspace-mobile-brand-logo {
  display: block;
  width: auto;
  height: 32px;
  max-width: 28px;
  object-fit: contain;
}

.workspace-shell .app-nav {
  min-height: 72px;
  color: var(--cll-ink, #142033);
  background: var(--cll-surface, #FFFFFF);
  border-bottom: 1px solid var(--cll-border, #D8E0EA);
  box-shadow: none;
}

.workspace-shell .app-nav .container-xl {
  position: relative;
}

.workspace-shell .app-nav .navbar-brand,
.workspace-shell .app-nav #topNav {
  display: none !important;
}

.workspace-shell .app-nav .btn-outline-light {
  color: var(--cll-ink, #142033);
  border-color: var(--cll-border, #D8E0EA);
}

.workspace-shell .workspace-top-feedback {
  position: absolute;
  left: 50%;
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  margin-right: 0 !important;
  padding: 0.45rem 0.8rem;
  color: #FFFFFF !important;
  background: var(--cll-signal-teal, #0F766E);
  border: 1px solid var(--cll-signal-teal, #0F766E);
  border-radius: 999px;
  font-weight: 500;
  text-decoration: none;
  transform: translateX(-50%);
}

.workspace-shell .workspace-top-feedback:hover {
  color: #FFFFFF !important;
  background: var(--cll-signal-teal-hover, #0C655F);
  border-color: var(--cll-signal-teal-hover, #0C655F);
  text-decoration: none;
}

.workspace-shell .workspace-topbar-actions {
  margin-left: auto;
}

.workspace-shell .workspace-account-toggle {
  min-height: 44px;
  min-width: 44px;
  padding: 0.5rem 0.85rem;
  color: #FFFFFF !important;
  background: var(--cll-harbor, #173F6B) !important;
  border-color: var(--cll-harbor, #173F6B) !important;
  border-radius: 999px;
  box-shadow: none !important;
}

.workspace-shell .workspace-account-toggle:hover,
.workspace-shell .workspace-account-toggle[aria-expanded="true"] {
  color: #FFFFFF !important;
  background: #123457 !important;
  border-color: var(--cll-signal-teal, #0F766E) !important;
}

.workspace-shell .workspace-account-toggle:focus-visible {
  outline: 3px solid var(--cll-focus-ring, #0F766E);
  outline-offset: 3px;
  box-shadow: 0 0 0 2px #FFFFFF !important;
}

.workspace-shell .app-header {
  color: var(--cll-ink, #142033);
  background: transparent !important;
  border: 0 !important;
}

.workspace-shell .app-header .container-xl {
  padding-top: 1.75rem !important;
  padding-bottom: 0.75rem !important;
}

.workspace-shell .app-title {
  color: var(--cll-ink, #142033);
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 2rem;
}

.workspace-shell .app-subtitle,
.workspace-shell .text-muted {
  color: var(--cll-muted, #59677A) !important;
}

/* Feedback is a real workspace destination, not a legacy standalone form. */
.workspace-shell .feedback-page {
  width: min(100%, 1080px);
  margin: 0 auto;
  padding: 0 0 2rem;
  color: var(--cll-ink, #142033);
}

.workspace-shell .feedback-page__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(240px, .75fr);
  gap: clamp(1rem, 3vw, 2rem);
  align-items: start;
}

.workspace-shell .feedback-page__main,
.workspace-shell .feedback-page__aside {
  min-width: 0;
  padding: clamp(1.25rem, 3vw, 2rem);
  border: 1px solid var(--cll-border, #D8E0EA);
  border-radius: 16px;
  background: var(--cll-surface, #FFFFFF);
  box-shadow: 0 5px 20px rgba(23, 63, 107, .06);
}

.workspace-shell .feedback-page__eyebrow {
  margin-bottom: .35rem;
  color: var(--cll-signal-teal, #0F766E);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.workspace-shell .feedback-page h2 {
  margin: 0;
  color: var(--cll-harbor, #173F6B);
  font-size: clamp(1.35rem, 2.6vw, 1.8rem);
  font-weight: 500;
  line-height: 1.2;
}

.workspace-shell .feedback-page__intro {
  max-width: 62ch;
  margin: .75rem 0 1.25rem;
  color: var(--cll-muted, #59677A);
  line-height: 1.65;
}

.workspace-shell .feedback-page__context {
  display: grid;
  gap: .18rem;
  margin-bottom: 1.25rem;
  padding: .9rem 1rem;
  border-left: 4px solid var(--cll-signal-teal, #0F766E);
  border-radius: 9px;
  background: rgba(15, 118, 110, .07);
}

.workspace-shell .feedback-page__context-label,
.workspace-shell .feedback-page__field-note {
  color: var(--cll-muted, #59677A);
  font-size: .78rem;
}

.workspace-shell .feedback-page__context strong {
  color: var(--cll-harbor, #173F6B);
  font-size: .96rem;
  font-weight: 700;
}

.workspace-shell .feedback-page__context-note {
  color: var(--cll-muted, #59677A);
  font-size: .78rem;
  line-height: 1.45;
}

.workspace-shell .feedback-page__form {
  display: grid;
  gap: 1rem;
}

.workspace-shell .feedback-page__field {
  display: grid;
  gap: .4rem;
}

.workspace-shell .feedback-page__field label {
  color: var(--cll-ink, #142033);
  font-size: .9rem;
  font-weight: 700;
}

.workspace-shell .feedback-page__field .form-select,
.workspace-shell .feedback-page__field .form-control {
  min-height: 46px;
  color: var(--cll-ink, #142033);
  background: #FFFFFF;
  border-color: #B9C6D4;
}

.workspace-shell .feedback-page__field textarea.form-control {
  min-height: 150px;
  resize: vertical;
}

.workspace-shell .feedback-page__field .form-select:focus,
.workspace-shell .feedback-page__field .form-control:focus {
  border-color: var(--cll-signal-teal, #0F766E);
  box-shadow: 0 0 0 3px rgba(15, 118, 110, .14);
}

.workspace-shell .feedback-page__field-note {
  line-height: 1.45;
}

.workspace-shell .feedback-page__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .8rem 1rem;
  margin-top: .15rem;
}

.workspace-shell .feedback-page__submit,
.workspace-shell .feedback-page__back {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  border-radius: 8px;
  font-weight: 700;
  text-decoration: none;
}

.workspace-shell .feedback-page__submit {
  padding: .65rem 1.1rem;
  color: #FFFFFF;
  background: var(--cll-signal-teal, #0F766E);
  border: 1px solid var(--cll-signal-teal, #0F766E);
}

.workspace-shell .feedback-page__submit:hover {
  color: #FFFFFF;
  background: var(--cll-signal-teal-hover, #0C655F);
  border-color: var(--cll-signal-teal-hover, #0C655F);
}

.workspace-shell .feedback-page__back {
  padding: .5rem .25rem;
  color: var(--cll-harbor, #173F6B);
}

.workspace-shell .feedback-page__back:hover {
  color: var(--cll-signal-teal, #0F766E);
}

.workspace-shell .feedback-page__aside {
  border-top: 4px solid var(--cll-warm-accent, #C57A12);
}

.workspace-shell .feedback-page__aside-mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  margin-bottom: .8rem;
  color: #FFFFFF;
  background: var(--cll-signal-teal, #0F766E);
  border-radius: 50%;
  font-size: 1.05rem;
  font-weight: 700;
}

.workspace-shell .feedback-page__aside h2 {
  font-size: 1.25rem;
}

.workspace-shell .feedback-page__aside p,
.workspace-shell .feedback-page__aside li {
  color: var(--cll-muted, #59677A);
  font-size: .88rem;
  line-height: 1.55;
}

.workspace-shell .feedback-page__aside p {
  margin: .75rem 0;
}

.workspace-shell .feedback-page__aside ul {
  display: grid;
  gap: .55rem;
  margin: 0;
  padding-left: 1.1rem;
}

.workspace-shell .feedback-page__aside li::marker {
  color: var(--cll-warm-accent, #C57A12);
}

.workspace-shell .feedback-page__thanks {
  padding-top: .9rem;
  border-top: 1px solid var(--cll-border, #D8E0EA);
  color: var(--cll-harbor, #173F6B) !important;
  font-weight: 700;
}

.workspace-shell .feedback-page :is(a, button, select, textarea):focus-visible {
  outline: 3px solid var(--cll-focus-ring, #0F766E);
  outline-offset: 3px;
}

@media (max-width: 760px) {
  .workspace-shell .feedback-page__grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 480px) {
  .workspace-shell .feedback-page__actions {
    align-items: stretch;
    flex-direction: column;
  }

  .workspace-shell .feedback-page__submit,
  .workspace-shell .feedback-page__back {
    width: 100%;
  }
}

.workspace-shell .workspace-class-link {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: var(--cll-harbor, #173F6B);
  font-size: 0.84rem;
  font-weight: 700;
  text-decoration: underline;
  text-decoration-color: rgba(23, 63, 107, 0.35);
  text-decoration-thickness: 1px;
  text-underline-offset: 0.22em;
}

.workspace-shell .workspace-class-link:hover {
  color: var(--cll-signal-teal, #0F766E);
  text-decoration-color: currentColor;
}

.workspace-shell .workspace-class-link:focus-visible {
  border-radius: 4px;
  outline: 3px solid var(--cll-focus-ring, #0F766E);
  outline-offset: 3px;
}

.workspace-shell #mainContent {
  flex: 1 1 auto;
  min-width: 0;
}

.workspace-shell .workspace-notice {
  margin-bottom: 0.75rem;
  padding: 0.85rem 1rem;
  color: var(--cll-ink, #142033);
  background: var(--cll-surface, #FFFFFF);
  border: 1px solid var(--cll-border, #D8E0EA) !important;
  border-left-width: 4px !important;
  border-radius: 10px;
  box-shadow: none !important;
  line-height: 1.5;
}

.workspace-shell .workspace-notice--warning {
  color: var(--cll-warm-accent-text, #7A4800);
  background: rgba(197, 122, 18, 0.08);
  border-color: rgba(197, 122, 18, 0.28) !important;
  border-left-color: var(--cll-warm-accent, #C57A12) !important;
}

.workspace-shell .workspace-notice--success,
.workspace-shell .workspace-notice--info,
.workspace-shell .workspace-notice--primary {
  background: rgba(15, 118, 110, 0.07);
  border-color: rgba(15, 118, 110, 0.22) !important;
  border-left-color: var(--cll-signal-teal, #0F766E) !important;
}

.workspace-shell .workspace-notice--danger {
  color: #7A271A;
  background: #FFF4F2;
  border-color: #F4C7C0 !important;
  border-left-color: #B42318 !important;
}

.workspace-shell .workspace-notice:last-child {
  margin-bottom: 0;
}

.workspace-shell .workspace-shell__main > footer.text-center.py-1.small {
  max-width: none;
  width: 100%;
  margin: auto 0 0 !important;
  padding: 1rem 1.25rem !important;
  color: var(--cll-muted, #59677A) !important;
  background: transparent !important;
  border: 0 !important;
  border-top: 1px solid var(--cll-border, #D8E0EA) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.workspace-shell .workspace-shell__main > footer.text-center.py-1.small a {
  color: var(--cll-signal-teal, #0F766E) !important;
}

.workspace-shell .workspace-shell__main > footer .cl-brand {
  font-family: "Newsreader", Georgia, "Times New Roman", serif;
  font-weight: 600;
}

.workspace-shell .zone-card {
  color: var(--cll-ink, #142033);
  background: var(--cll-surface, #FFFFFF) !important;
  border: 1px solid var(--cll-border, #D8E0EA) !important;
  border-radius: 14px;
  box-shadow: none !important;
}

.workspace-shell:not(:has(.essay-coach-page)) #mainContent .card,
.workspace-shell #welcome-card,
.workspace-shell .class-overview-card,
.workspace-shell .zone-details[open] {
  color: var(--cll-ink, #142033);
  background: var(--cll-surface, #FFFFFF) !important;
  background-image: none !important;
  border-color: var(--cll-border, #D8E0EA) !important;
  box-shadow: none !important;
}

.workspace-shell #welcome-card,
.workspace-shell #pilot-congrats-banner {
  border-left: 4px solid var(--cll-signal-teal, #0F766E) !important;
}

.workspace-shell .workspace-welcome-title {
  margin: 0 0 0.2rem;
  color: var(--cll-harbor, #173F6B);
  font-size: 0.92rem;
  font-weight: 800;
  line-height: 1.35;
}

.workspace-shell .workspace-welcome-copy {
  color: var(--cll-muted, #59677A);
  font-size: 0.82rem;
  line-height: 1.55;
}

.workspace-shell:not(:has(.essay-coach-page)) #mainContent .card:hover,
.workspace-shell .class-overview-card:hover,
.workspace-shell .zone-clickable:hover {
  border-color: var(--cll-signal-teal, #0F766E) !important;
  box-shadow: 0 8px 20px rgba(20, 32, 51, 0.08) !important;
}

.workspace-shell .class-overview-name {
  color: var(--cll-ink, #142033) !important;
}

.workspace-shell .class-overview-subject,
.workspace-shell .class-overview-card [style*="160"] {
  color: var(--cll-signal-teal, #0F766E) !important;
}

.workspace-shell .class-overview-stat {
  color: var(--cll-muted, #59677A) !important;
  background: var(--cll-canvas, #F6F8FB) !important;
  border-color: var(--cll-border, #D8E0EA) !important;
}

.workspace-shell .class-overview-stat-warn {
  color: var(--cll-warm-accent-text, #7A4800) !important;
  background: rgba(197, 122, 18, 0.08) !important;
  border-color: rgba(197, 122, 18, 0.28) !important;
}

.workspace-shell .zone-title,
.workspace-shell .zone-title a,
.workspace-shell .zone-title-link,
.workspace-shell .zone-item,
.workspace-shell .asgn-title,
.workspace-shell .snapshot-stat-val {
  color: var(--cll-ink, #142033) !important;
}

.workspace-shell .zone-card .zone-header {
  position: relative;
  align-items: center;
  min-height: 1.75rem;
  padding-bottom: 0.45rem;
  padding-left: 0.85rem;
  border-bottom-color: var(--cll-border, #D8E0EA);
}

.workspace-shell .zone-card .zone-header::before {
  position: absolute;
  top: 0.15rem;
  bottom: 0.6rem;
  left: 0;
  width: 4px;
  min-height: 1rem;
  background: var(--cll-signal-teal, #0F766E);
  border-radius: 999px;
  content: "";
}

.workspace-shell .zone-card .zone-title,
.workspace-shell .zone-card .zone-title a,
.workspace-shell .zone-card .zone-title-link {
  color: var(--cll-harbor, #173F6B) !important;
}

.workspace-shell .zone-card .zone-item[style*="255"],
.workspace-shell .zone-card .zone-item [style*="255"] {
  color: var(--cll-muted, #59677A) !important;
}

.workspace-shell .zone-card .zone-item a.text-decoration-none {
  color: var(--cll-ink, #142033) !important;
}

.workspace-shell .zone-card [style*="160"] {
  color: var(--cll-muted, #59677A) !important;
}

.workspace-shell .zone-card [style*="251"] {
  color: var(--cll-warm-accent-text, #7A4800) !important;
}

.workspace-shell .zone-card [style*="239"] {
  color: #B42318 !important;
}

.workspace-shell .zone-card a[style*="129"] {
  color: var(--cll-signal-teal, #0F766E) !important;
}

.workspace-shell:not(:has(.essay-coach-page)) #mainContent [style*="255"] {
  color: var(--cll-muted, #59677A) !important;
}

.workspace-shell:not(:has(.essay-coach-page)) #mainContent [style*="160"] {
  color: var(--cll-muted, #59677A) !important;
}

.workspace-shell:not(:has(.essay-coach-page)) #mainContent a[style*="160"],
.workspace-shell:not(:has(.essay-coach-page)) #mainContent a[style*="129"],
.workspace-shell:not(:has(.essay-coach-page)) #mainContent [style*="99"] {
  color: var(--cll-signal-teal, #0F766E) !important;
}

.workspace-shell #welcome-card [style*="255"],
.workspace-shell #pilot-congrats-banner h5,
.workspace-shell #pilot-congrats-banner strong {
  color: var(--cll-ink, #142033) !important;
}

.workspace-shell #pilot-congrats-banner p {
  color: var(--cll-muted, #59677A) !important;
}

.workspace-shell .zone-footer,
.workspace-shell .zone-footer a,
.workspace-shell .see-all-link {
  color: var(--cll-signal-teal, #0F766E) !important;
}

.workspace-shell .zone-empty,
.workspace-shell .asgn-meta,
.workspace-shell .snapshot-stat-label {
  color: var(--cll-muted, #59677A) !important;
}

.workspace-shell .snapshot-row,
.workspace-shell .snapshot-stat {
  background: var(--cll-canvas, #F6F8FB);
  border-color: var(--cll-border, #D8E0EA);
}

.workspace-shell .zone-details[open] summary:hover,
.workspace-shell .asgn-row:hover,
.workspace-shell .yw-row:hover {
  background: var(--cll-canvas, #F6F8FB);
}

.workspace-shell .zone-chevron {
  color: var(--cll-signal-teal, #0F766E);
}

.workspace-shell .dash-btn-primary,
.workspace-shell .btn-primary {
  color: #FFFFFF;
  background: var(--cll-harbor, #173F6B);
  border-color: var(--cll-harbor, #173F6B);
  box-shadow: none;
}

.workspace-shell .dash-btn-primary:hover,
.workspace-shell .btn-primary:hover {
  color: #FFFFFF;
  background: var(--cll-harbor-hover, #123457);
  border-color: var(--cll-harbor-hover, #123457);
  box-shadow: none;
}

.workspace-shell .dash-btn-secondary,
.workspace-shell .dash-link,
.workspace-shell .class-title-dropdown {
  color: var(--cll-muted, #59677A);
  background: rgba(15, 118, 110, 0.08);
  border-color: rgba(23, 63, 107, 0.46);
  font-weight: 600;
}

.workspace-shell .dash-btn-secondary:hover,
.workspace-shell .dash-link:hover,
.workspace-shell .class-title-dropdown:hover,
.workspace-shell .class-title-dropdown[aria-expanded="true"] {
  color: var(--cll-signal-teal, #0F766E);
  background: var(--cll-canvas, #F6F8FB);
  border-color: var(--cll-signal-teal, #0F766E);
}

.workspace-shell .dash-toolbar-sep {
  color: var(--cll-border, #D8E0EA);
}

.workspace-shell .checkin-bar {
  color: var(--cll-muted, #59677A);
  background: var(--cll-canvas, #F6F8FB);
  border-color: var(--cll-border, #D8E0EA);
}

.workspace-shell .checkin-bar a {
  color: var(--cll-signal-teal, #0F766E);
}

.workspace-shell .checkin-bar .checkin-dismiss {
  color: var(--cll-muted, #59677A);
}

.workspace-shell .dash-action-btn {
  min-height: 44px;
  color: #FFFFFF;
  background: var(--cll-harbor, #173F6B);
  border-color: var(--cll-harbor, #173F6B);
}

.workspace-shell .dash-action-btn:hover {
  color: #FFFFFF;
  background: var(--cll-harbor-hover, #123457);
  border-color: var(--cll-harbor-hover, #123457);
}

.workspace-shell .dash-action-btn-primary {
  color: #FFFFFF;
  background: var(--cll-harbor, #173F6B);
  border-color: var(--cll-harbor, #173F6B);
}

.workspace-shell #mainContent .btn-outline-light,
.workspace-shell #mainContent .btn-outline-success {
  min-height: 44px;
  color: var(--cll-signal-teal, #0F766E);
  background: rgba(15, 118, 110, 0.08);
  border-color: rgba(15, 118, 110, 0.48);
  font-weight: 600;
}

.workspace-shell #mainContent .btn-outline-light:hover,
.workspace-shell #mainContent .btn-outline-success:hover {
  color: #FFFFFF;
  background: var(--cll-signal-teal-hover, #0C655F);
  border-color: var(--cll-signal-teal-hover, #0C655F);
}

.workspace-shell .dash-class-label {
  color: var(--cll-muted, #59677A);
}

.workspace-shell .dash-class-select {
  color: var(--cll-ink, #142033);
  background-color: var(--cll-surface, #FFFFFF);
  border-color: var(--cll-border, #D8E0EA);
  background-image: none;
  appearance: auto;
}

.workspace-shell .app-dropdown {
  color: var(--cll-ink, #142033);
  background: var(--cll-surface, #FFFFFF);
  border-color: var(--cll-border, #D8E0EA);
  box-shadow: 0 14px 32px rgba(20, 32, 51, 0.16);
}

.workspace-shell .app-dropdown .dropdown-item {
  color: var(--cll-ink, #142033);
}

.workspace-shell .app-dropdown .dropdown-item:hover,
.workspace-shell .app-dropdown .dropdown-item:focus,
.workspace-shell .app-dropdown .dropdown-item.active {
  color: var(--cll-harbor, #173F6B);
  background: var(--cll-canvas, #F6F8FB);
}

.workspace-shell .app-dropdown .dropdown-divider {
  border-color: var(--cll-border, #D8E0EA) !important;
}

.workspace-shell .zone-badge {
  color: var(--cll-signal-teal, #0F766E);
  background: #FFFFFF;
  border-color: var(--cll-signal-teal, #0F766E);
}

.workspace-shell .workspace-assignment-type {
  color: #FFFFFF !important;
  background: var(--cll-signal-teal, #0F766E) !important;
  text-transform: uppercase;
}

.workspace-shell .zone-dot-info,
.workspace-shell .progress-track > div {
  background: var(--cll-signal-teal, #0F766E) !important;
}

/* Demo mode is a quiet white header, separate from the sample workspace. */
.workspace-shell .demo-banner {
  background: #FFFFFF;
  border-bottom-color: var(--cll-border, #D8E0EA);
  box-shadow: 0 1px 8px rgba(20, 32, 51, 0.05);
}

.workspace-shell .demo-banner-badge {
  color: var(--cll-harbor, #173F6B);
  background: #F0F7F7;
  border-color: #B7D8D6;
}

.workspace-shell .demo-banner-msg {
  color: var(--cll-muted, #53657D);
}

.workspace-shell .demo-banner-exit {
  color: var(--cll-harbor, #173F6B);
  background: #FFFFFF;
  border-color: #9AB4CD;
}

.workspace-shell .demo-banner-exit:hover {
  color: var(--cll-harbor-hover, #123457);
  background: var(--cll-canvas, #F6F8FB);
  border-color: var(--cll-harbor, #173F6B);
}

.workspace-shell .demo-tour-card {
  color: var(--cll-ink, #142033);
  background: var(--cll-surface, #FFFFFF);
  border-color: var(--cll-border, #D8E0EA);
  box-shadow: 0 14px 32px rgba(20, 32, 51, 0.18);
}

.workspace-shell .demo-tour-card h3 {
  color: var(--cll-ink, #142033);
}

.workspace-shell .demo-tour-card .demo-tour-step-label {
  color: var(--cll-signal-teal, #0F766E);
}

.workspace-shell .demo-tour-btn-primary {
  color: #FFFFFF;
  background: var(--cll-harbor, #173F6B);
}

.workspace-shell .demo-tour-btn-primary:hover {
  background: var(--cll-harbor-hover, #123457);
}

.workspace-shell .demo-tour-btn-secondary {
  color: var(--cll-signal-teal, #0F766E);
  background: var(--cll-canvas, #F6F8FB);
  border: 1px solid var(--cll-border, #D8E0EA);
}

.workspace-shell .demo-tour-btn-secondary:hover {
  color: var(--cll-signal-teal-hover, #0C655F);
  background: #FFFFFF;
}

.workspace-shell .demo-tour-btn-skip,
.workspace-shell .demo-tour-btn-mute,
.workspace-shell .demo-tour-btn-pause,
.workspace-shell .demo-tour-btn-replay {
  color: var(--cll-muted, #59677A);
}

.workspace-shell [data-demo-tour].demo-tour-highlight {
  outline-color: var(--cll-signal-teal, #0F766E);
  background: rgba(15, 118, 110, 0.04);
  box-shadow:
    0 0 0 4px rgba(15, 118, 110, 0.14),
    0 0 24px rgba(15, 118, 110, 0.2);
}

/* Help is a workspace tool, not a second competing brand treatment. */
.workspace-shell #cl-chat-fab {
  height: 50px;
  min-width: 50px;
  padding: 0 1rem 0 0.55rem;
  color: #FFFFFF;
  background: var(--cll-harbor, #173F6B);
  background-image: none;
  border: 1px solid rgba(255, 255, 255, 0.24);
  box-shadow: 0 8px 20px rgba(20, 32, 51, 0.2);
}

.workspace-shell #cl-chat-fab::before,
.workspace-shell .cl-chat-header-info::before {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  color: #FFFFFF;
  background: var(--cll-signal-teal, #0F766E);
  border-radius: 50%;
  content: "?";
  font-size: 1rem;
  font-weight: 700;
  line-height: 1;
}

.workspace-shell #cl-chat-fab img,
.workspace-shell .cl-chat-header-info img {
  display: none;
}

.workspace-shell #cl-chat-fab:hover {
  background: var(--cll-harbor-hover, #123457);
  transform: translateY(-1px);
}

.workspace-shell #cl-chat-window {
  color: var(--cll-ink, #142033);
  background: var(--cll-surface, #FFFFFF);
  border-color: var(--cll-border, #D8E0EA);
  box-shadow: 0 18px 48px rgba(20, 32, 51, 0.22);
}

.workspace-shell .cl-chat-header {
  background: var(--cll-surface, #FFFFFF);
  border-bottom-color: var(--cll-border, #D8E0EA);
}

.workspace-shell .cl-chat-header-info {
  color: var(--cll-ink, #142033);
}

.workspace-shell .cl-chat-header-info::before {
  width: 26px;
  height: 26px;
  font-size: 0.86rem;
}

.workspace-shell .cl-chat-close {
  min-width: 44px;
  min-height: 44px;
  color: var(--cll-muted, #59677A);
  border-radius: 8px;
}

.workspace-shell .cl-chat-close:hover {
  color: var(--cll-ink, #142033);
  background: var(--cll-canvas, #F6F8FB);
}

.workspace-shell .cl-chat-messages {
  background: var(--cll-canvas, #F6F8FB);
}

.workspace-shell .cl-chat-bubble {
  color: var(--cll-ink, #142033);
}

.workspace-shell .cl-chat-msg-user .cl-chat-bubble {
  color: #FFFFFF;
  background: var(--cll-harbor, #173F6B);
}

.workspace-shell .cl-chat-msg-bot .cl-chat-bubble {
  color: var(--cll-ink, #142033);
  background: var(--cll-surface, #FFFFFF);
  border: 1px solid var(--cll-border, #D8E0EA);
}

.workspace-shell .cl-chat-input-row {
  background: var(--cll-surface, #FFFFFF);
  border-top-color: var(--cll-border, #D8E0EA);
}

.workspace-shell .cl-chat-input-row input {
  min-height: 44px;
  color: var(--cll-ink, #142033);
  background: var(--cll-surface, #FFFFFF);
  border-color: var(--cll-border, #D8E0EA);
}

.workspace-shell .cl-chat-input-row input::placeholder {
  color: var(--cll-muted, #59677A);
}

.workspace-shell .cl-chat-input-row input:focus {
  border-color: var(--cll-signal-teal, #0F766E);
  box-shadow: 0 0 0 3px rgba(15, 118, 110, 0.14);
}

.workspace-shell .cl-chat-input-row button {
  min-width: 44px;
  min-height: 44px;
  color: var(--cll-signal-teal, #0F766E);
}

.workspace-shell .cl-chat-input-row button:hover {
  color: var(--cll-signal-teal-hover, #0C655F);
}

.workspace-shell .cl-chat-quick-btn {
  min-height: 36px;
  color: var(--cll-signal-teal, #0F766E);
  background: rgba(15, 118, 110, 0.06);
  border-color: rgba(15, 118, 110, 0.28);
}

.workspace-shell .cl-chat-quick-btn:hover {
  color: var(--cll-signal-teal-hover, #0C655F);
  background: rgba(15, 118, 110, 0.12);
}

.workspace-shell .cl-fb-btn {
  color: var(--cll-muted, #59677A);
  border-color: var(--cll-border, #D8E0EA);
}

.workspace-shell .cl-fb-btn.cl-fb-active {
  color: var(--cll-signal-teal, #0F766E);
  background: rgba(15, 118, 110, 0.08);
  border-color: var(--cll-signal-teal, #0F766E);
}

.workspace-shell .cl-typing-dots span {
  background: var(--cll-signal-teal, #0F766E);
}

.workspace-shell .cl-chat-history-sep {
  color: var(--cll-muted, #59677A);
}

.workspace-shell .cl-chat-history-sep span {
  background: var(--cll-canvas, #F6F8FB);
}

.workspace-shell .cl-chat-feedback-nudge {
  color: var(--cll-signal-teal, #0F766E);
}

/* Student assignments page , approved workspace page family. */
.workspace-shell .student-assignments-page {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
  width: 100%;
  max-width: 1180px;
  min-width: 0;
  margin: 0 auto;
}

.workspace-shell .student-assignment-section {
  min-width: 0;
}

.workspace-shell .student-assignment-section__header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
}

.workspace-shell .student-assignment-eyebrow {
  margin: 0 0 0.2rem;
  color: var(--cll-signal-teal, #0F766E);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.workspace-shell .student-assignment-section__header h2 {
  margin: 0;
  color: var(--cll-ink, #142033);
  font-size: clamp(1.2rem, 2vw, 1.5rem);
  font-weight: 700;
  letter-spacing: -0.015em;
}

.workspace-shell .student-assignment-count {
  flex: 0 0 auto;
  padding: 0.3rem 0.7rem;
  color: var(--cll-muted, #59677A);
  background: var(--cll-surface, #FFFFFF);
  border: 1px solid var(--cll-border, #D8E0EA);
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 600;
}

.workspace-shell .student-assignment-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  min-width: 0;
}

.workspace-shell .student-assignment-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 100%;
  padding: 1.25rem;
  box-shadow: 0 8px 24px rgba(20, 32, 51, 0.06);
}

.workspace-shell .student-assignment-card--active {
  border-color: var(--cll-signal-teal, #0F766E);
  box-shadow:
    0 0 0 2px rgba(15, 118, 110, 0.08),
    0 8px 24px rgba(20, 32, 51, 0.08);
}

.workspace-shell .student-assignment-card--past {
  box-shadow: none;
}

.workspace-shell .student-assignment-card--writing {
  border-top: 3px solid var(--cll-warm-accent, #C57A12);
}

.workspace-shell .workspace-assignment-type--writing {
  color: var(--cll-warm-accent-text, #7A4800) !important;
  background: rgba(197, 122, 18, 0.14) !important;
  border: 1px solid rgba(197, 122, 18, 0.32);
}

.workspace-shell .student-assignment-card__topline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  min-height: 28px;
  margin-bottom: 0.8rem;
}

.workspace-shell .student-assignment-card h3 {
  margin: 0;
  overflow-wrap: anywhere;
  color: var(--cll-ink, #142033);
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.35;
}

.workspace-shell .student-assignment-class {
  margin: 0.3rem 0 1rem;
  color: var(--cll-muted, #59677A);
  font-size: 0.88rem;
}

.workspace-shell .student-assignment-details {
  display: grid;
  gap: 0.55rem;
  margin: 0 0 1rem;
}

.workspace-shell .student-assignment-details > div {
  display: grid;
  grid-template-columns: minmax(64px, auto) minmax(0, 1fr);
  gap: 0.65rem;
  align-items: baseline;
}

.workspace-shell .student-assignment-details dt,
.workspace-shell .student-assignment-result span {
  color: var(--cll-muted, #59677A);
  font-size: 0.78rem;
  font-weight: 600;
}

.workspace-shell .student-assignment-details dd {
  min-width: 0;
  margin: 0;
  overflow-wrap: anywhere;
  color: var(--cll-ink, #142033);
  font-size: 0.88rem;
  font-weight: 600;
}

.workspace-shell .student-assignment-status {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 0.2rem 0.55rem;
  border: 1px solid transparent;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 1.2;
  white-space: nowrap;
}

.workspace-shell .student-assignment-status--active {
  color: var(--cll-signal-teal-hover, #0C655F);
  background: rgba(15, 118, 110, 0.08);
  border-color: rgba(15, 118, 110, 0.25);
}

.workspace-shell .student-assignment-status--overdue {
  margin-left: 0.3rem;
  color: #8F1D16;
  background: #FFF1F0;
  border-color: #F3B8B4;
}

.workspace-shell .student-assignment-status--completed {
  color: #14613D;
  background: #EDF8F1;
  border-color: #AED9BE;
}

.workspace-shell .student-assignment-status--closed {
  color: var(--cll-muted, #59677A);
  background: var(--cll-canvas, #F6F8FB);
  border-color: var(--cll-border, #D8E0EA);
}

.workspace-shell .student-assignment-status--submitted {
  color: var(--cll-signal-teal-hover, #0C655F);
  background: rgba(15, 118, 110, 0.08);
  border-color: rgba(15, 118, 110, 0.25);
}

.workspace-shell .student-assignment-status--not-started {
  color: var(--cll-warm-accent-text, #7A4800);
  background: rgba(197, 122, 18, 0.08);
  border-color: rgba(197, 122, 18, 0.25);
}

.workspace-shell .student-assignment-progress {
  margin-top: auto;
  padding-top: 0.35rem;
}

.workspace-shell .student-assignment-progress__label {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.4rem;
  color: var(--cll-muted, #59677A);
  font-size: 0.78rem;
}

.workspace-shell .student-assignment-progress__label strong {
  color: var(--cll-ink, #142033);
}

.workspace-shell .student-assignment-progress .progress {
  height: 7px;
  overflow: hidden;
  background: var(--cll-border, #D8E0EA);
  border-radius: 999px;
}

.workspace-shell .student-assignment-progress .progress-bar {
  background: var(--cll-signal-teal, #0F766E);
}

.workspace-shell .student-assignment-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  margin-top: 1.1rem;
}

.workspace-shell .student-assignment-actions .btn,
.workspace-shell .student-assignment-card > .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0.55rem 0.9rem;
  border-radius: 8px;
  font-weight: 600;
}

.workspace-shell .student-assignment-actions .btn-primary {
  color: #FFFFFF;
  background: var(--cll-harbor, #173F6B);
  border-color: var(--cll-harbor, #173F6B);
}

.workspace-shell .student-assignment-actions .btn-primary:hover {
  background: var(--cll-harbor-hover, #123457);
  border-color: var(--cll-harbor-hover, #123457);
}

.workspace-shell .student-assignment-result {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.75rem;
  margin: auto 0 1rem;
  padding-top: 0.75rem;
  color: var(--cll-ink, #142033);
}

.workspace-shell .student-assignment-empty {
  padding: 2rem;
  text-align: center;
}

.workspace-shell .student-assignment-empty h3 {
  margin: 0 0 0.35rem;
  color: var(--cll-ink, #142033);
  font-size: 1.05rem;
}

.workspace-shell .student-assignment-empty p {
  margin: 0;
  color: var(--cll-muted, #59677A);
}

.workspace-shell .student-assignments-back {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  gap: 0.4rem;
  min-height: 44px;
  color: var(--cll-signal-teal, #0F766E);
  font-weight: 600;
  text-decoration: none;
}

.workspace-shell .student-assignments-back:hover {
  color: var(--cll-signal-teal-hover, #0C655F);
  text-decoration: underline;
}

/* Student assignment states , completion and recoverable deep-link outcomes. */
.workspace-shell .student-assignment-state-page {
  display: grid;
  gap: 1rem;
  width: 100%;
  max-width: 720px;
  min-width: 0;
  margin: 0 auto;
  padding: 0.25rem 0 2rem;
}

.workspace-shell .student-assignment-state-card,
.workspace-shell .assignment-complete-breakdown {
  min-width: 0;
  padding: clamp(1.25rem, 4vw, 2.5rem);
  color: var(--cll-ink, #142033);
  background: var(--cll-surface, #FFFFFF);
  border: 1px solid var(--cll-border, #D8E0EA);
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(20, 32, 51, 0.06);
}

.workspace-shell .student-assignment-state-card {
  text-align: center;
}

.workspace-shell .student-assignment-state-card__header {
  max-width: 42rem;
  margin: 0 auto;
}

.workspace-shell .student-assignment-state-icon {
  display: grid;
  place-items: center;
  width: 3.25rem;
  height: 3.25rem;
  margin: 0 auto 0.9rem;
  background: rgba(15, 118, 110, 0.1);
  border: 1px solid rgba(15, 118, 110, 0.28);
  border-radius: 999px;
  font-size: 1.55rem;
  line-height: 1;
}

.workspace-shell .student-assignment-state-icon--closed {
  background: var(--cll-canvas, #F6F8FB);
  border-color: var(--cll-border, #D8E0EA);
}

.workspace-shell .student-assignment-state-icon--not-enrolled {
  background: rgba(197, 122, 18, 0.1);
  border-color: rgba(197, 122, 18, 0.3);
}

.workspace-shell .student-assignment-state-card h2 {
  margin: 0;
  overflow-wrap: anywhere;
  color: var(--cll-harbor, #173F6B);
  font-size: clamp(1.3rem, 3vw, 1.75rem);
  font-weight: 750;
  letter-spacing: -0.02em;
  line-height: 1.3;
}

.workspace-shell .student-assignment-state-card__assignment {
  margin: 0.4rem auto 0;
  overflow-wrap: anywhere;
  color: var(--cll-muted, #59677A);
  font-size: 0.92rem;
  line-height: 1.5;
}

.workspace-shell .student-assignment-state-card__copy {
  max-width: 52ch;
  margin: 1.25rem auto 0;
  overflow-wrap: anywhere;
  color: var(--cll-muted, #59677A);
  font-size: 0.94rem;
  line-height: 1.6;
}

.workspace-shell .assignment-complete-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.7rem;
  width: min(100%, 34rem);
  margin: 1.5rem auto 1.1rem;
}

.workspace-shell .assignment-complete-metric {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 0.85rem 0.6rem;
  color: var(--cll-harbor, #173F6B);
  background: var(--cll-canvas, #F6F8FB);
  border: 1px solid var(--cll-border, #D8E0EA);
  border-radius: 9px;
}

.workspace-shell .assignment-complete-metric dt {
  order: 2;
  margin: 0.25rem 0 0;
  overflow-wrap: anywhere;
  color: var(--cll-muted, #59677A);
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 1.3;
}

.workspace-shell .assignment-complete-metric dd {
  order: 1;
  margin: 0;
  overflow-wrap: anywhere;
  font-size: clamp(1.4rem, 5vw, 2rem);
  font-weight: 800;
  letter-spacing: -0.035em;
  line-height: 1;
}

.workspace-shell .assignment-complete-metric--correct {
  color: #14613D;
}

.workspace-shell .assignment-complete-metric--accuracy-strong,
.workspace-shell .assignment-complete-message--strong {
  color: #14613D;
}

.workspace-shell .assignment-complete-metric--accuracy-steady,
.workspace-shell .assignment-complete-message--steady {
  color: var(--cll-warm-accent-text, #7A4800);
}

.workspace-shell .assignment-complete-metric--accuracy-review,
.workspace-shell .assignment-complete-message--review {
  color: #8F1D16;
}

.workspace-shell .assignment-complete-message {
  max-width: 56ch;
  margin: 0 auto;
  font-size: 0.94rem;
  font-weight: 650;
  line-height: 1.55;
}

.workspace-shell .assignment-complete-note {
  max-width: 56ch;
  margin: 1rem auto 0;
  padding: 0.75rem 0.85rem;
  overflow-wrap: anywhere;
  color: var(--cll-ink, #142033);
  background: #FFF9ED;
  border: 1px solid rgba(197, 122, 18, 0.35);
  border-radius: 8px;
  font-size: 0.84rem;
  line-height: 1.5;
}

.workspace-shell .assignment-state-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.65rem;
  margin-top: 1.5rem;
}

.workspace-shell .assignment-state-actions .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  max-width: 100%;
  padding: 0.55rem 0.9rem;
  border-radius: 8px;
  font-weight: 700;
  line-height: 1.3;
}

.workspace-shell .assignment-state-actions .btn-primary {
  color: #FFFFFF;
  background: var(--cll-harbor, #173F6B);
  border-color: var(--cll-harbor, #173F6B);
}

.workspace-shell .assignment-state-actions .btn-primary:hover {
  color: #FFFFFF;
  background: var(--cll-harbor-hover, #123457);
  border-color: var(--cll-harbor-hover, #123457);
}

.workspace-shell .assignment-state-actions .btn-outline-primary {
  color: var(--cll-harbor, #173F6B);
  background: var(--cll-surface, #FFFFFF);
  border-color: var(--cll-harbor, #173F6B);
}

.workspace-shell .assignment-state-actions .btn-outline-primary:hover,
.workspace-shell .assignment-state-actions .btn-outline-secondary:hover {
  color: #FFFFFF;
  background: var(--cll-harbor-hover, #123457);
  border-color: var(--cll-harbor-hover, #123457);
}

.workspace-shell .assignment-state-actions .btn-outline-secondary {
  color: var(--cll-muted, #59677A);
  background: var(--cll-surface, #FFFFFF);
  border-color: var(--cll-border, #D8E0EA);
}

.workspace-shell .assignment-complete-breakdown {
  padding: clamp(1.15rem, 3vw, 1.5rem);
}

.workspace-shell .assignment-complete-breakdown h3 {
  margin: 0;
  color: var(--cll-harbor, #173F6B);
  font-size: 1.05rem;
  font-weight: 750;
  line-height: 1.4;
}

.workspace-shell .assignment-complete-breakdown__intro {
  max-width: 62ch;
  margin: 0.35rem 0 1rem;
  color: var(--cll-muted, #59677A);
  font-size: 0.88rem;
  line-height: 1.55;
}

.workspace-shell .assignment-complete-unit-list {
  display: grid;
  gap: 0.75rem;
  margin: 0 0 1rem;
  padding-left: 1.25rem;
}

.workspace-shell .assignment-complete-unit-list li {
  min-width: 0;
  padding-left: 0.15rem;
}

.workspace-shell .assignment-complete-unit-list__title,
.workspace-shell .assignment-complete-all-units-title {
  overflow-wrap: anywhere;
  color: var(--cll-ink, #142033);
  font-size: 0.88rem;
  font-weight: 700;
  line-height: 1.45;
}

.workspace-shell .assignment-complete-unit-list__detail {
  margin-top: 0.15rem;
  overflow-wrap: anywhere;
  color: var(--cll-muted, #59677A);
  font-size: 0.82rem;
  line-height: 1.5;
}

.workspace-shell .assignment-complete-unit-list__action {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  max-width: 100%;
  color: var(--cll-signal-teal, #0F766E);
  font-size: 0.82rem;
  font-weight: 700;
  line-height: 1.3;
  text-decoration: none;
}

.workspace-shell .assignment-complete-unit-list__action:hover {
  color: var(--cll-signal-teal-hover, #0C655F);
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

.workspace-shell .assignment-complete-all-units-title {
  margin-bottom: 0.55rem;
}

.workspace-shell .assignment-complete-unit-grid {
  display: grid;
  gap: 0.65rem;
  min-width: 0;
}

.workspace-shell .assignment-complete-unit-row {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) auto;
  gap: 0.65rem;
  align-items: center;
  min-width: 0;
  padding: 0.7rem;
  background: var(--cll-canvas, #F6F8FB);
  border: 1px solid var(--cll-border, #D8E0EA);
  border-radius: 8px;
}

.workspace-shell .assignment-complete-unit-row__name {
  min-width: 0;
  overflow-wrap: anywhere;
  color: var(--cll-ink, #142033);
  font-size: 0.8rem;
  line-height: 1.4;
}

.workspace-shell .assignment-complete-unit-row__name span:first-child {
  font-weight: 700;
}

.workspace-shell .assignment-complete-unit-row__name span:last-child,
.workspace-shell .assignment-complete-unit-row__score {
  color: var(--cll-muted, #59677A);
}

.workspace-shell .assignment-complete-unit-bar {
  position: relative;
  height: 1.2rem;
  min-width: 0;
  overflow: hidden;
  background: var(--cll-border, #D8E0EA);
  border-radius: 999px;
}

.workspace-shell .assignment-complete-unit-bar__fill {
  height: 100%;
}

.workspace-shell .assignment-complete-unit-bar__label {
  position: absolute;
  inset: 0 auto 0 0.5rem;
  display: flex;
  align-items: center;
  color: #FFFFFF;
  font-size: 0.7rem;
  font-weight: 800;
  line-height: 1;
}

.workspace-shell .assignment-complete-unit-bar--yellow .assignment-complete-unit-bar__label {
  color: var(--cll-ink, #142033);
}

.workspace-shell .assignment-complete-unit-row__score {
  white-space: nowrap;
  font-size: 0.78rem;
  font-weight: 700;
  text-align: right;
}

.workspace-shell .assignment-complete-topic-breakdown {
  margin-top: 1rem;
}

.workspace-shell .assignment-complete-topic-breakdown > .btn {
  min-height: 44px;
  color: var(--cll-harbor, #173F6B);
  border-color: var(--cll-harbor, #173F6B);
  font-size: 0.8rem;
  font-weight: 700;
}

.workspace-shell .assignment-complete-topic-breakdown > .btn:hover {
  color: #FFFFFF;
  background: var(--cll-harbor-hover, #123457);
  border-color: var(--cll-harbor-hover, #123457);
}

.workspace-shell .assignment-complete-topic-table-wrap {
  width: 100%;
  min-width: 0;
  overflow-x: auto;
}

.workspace-shell .assignment-complete-topic-table {
  width: 100%;
  margin: 0;
  color: var(--cll-ink, #142033);
  font-size: 0.8rem;
  table-layout: fixed;
}

.workspace-shell .assignment-complete-topic-table th,
.workspace-shell .assignment-complete-topic-table td {
  overflow-wrap: anywhere;
  vertical-align: middle;
}

.workspace-shell .assignment-complete-topic-table th:not(:first-child),
.workspace-shell .assignment-complete-topic-table td:not(:first-child) {
  width: 4.7rem;
  text-align: right;
}

.workspace-shell .assignment-complete-topic-accuracy {
  font-weight: 750;
}

.workspace-shell .assignment-complete-topic-accuracy--green {
  color: #14613D;
}

.workspace-shell .assignment-complete-topic-accuracy--yellow {
  color: var(--cll-warm-accent-text, #7A4800);
}

.workspace-shell .assignment-complete-topic-accuracy--red {
  color: #8F1D16;
}

.workspace-shell .student-assignment-state-page a:focus-visible,
.workspace-shell .student-assignment-state-page button:focus-visible {
  border-radius: 5px;
  outline: 3px solid var(--cll-focus-ring, #0F766E);
  outline-offset: 3px;
}

@media (max-width: 479.98px) {
  .workspace-shell .student-assignment-state-page {
    padding-bottom: 1.5rem;
  }

  .workspace-shell .student-assignment-state-card,
  .workspace-shell .assignment-complete-breakdown {
    padding: 1.15rem;
  }

  .workspace-shell .assignment-state-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .workspace-shell .assignment-state-actions .btn {
    width: 100%;
  }

  .workspace-shell .assignment-complete-unit-row {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
    gap: 0.5rem;
  }

  .workspace-shell .assignment-complete-topic-table th:not(:first-child),
  .workspace-shell .assignment-complete-topic-table td:not(:first-child) {
    width: 3.8rem;
  }
}

@media (max-width: 359px) {
  .workspace-shell .assignment-complete-metrics,
  .workspace-shell .assignment-state-actions,
  .workspace-shell .assignment-complete-unit-row {
    grid-template-columns: minmax(0, 1fr);
  }

  .workspace-shell .assignment-complete-metric {
    padding: 0.75rem;
  }

  .workspace-shell .assignment-complete-unit-row__score {
    text-align: left;
  }

  .workspace-shell .assignment-complete-topic-table {
    font-size: 0.74rem;
  }

  .workspace-shell .assignment-complete-topic-table th:not(:first-child),
  .workspace-shell .assignment-complete-topic-table td:not(:first-child) {
    width: 3.35rem;
  }
}

/* Student writing assignment detail , one clear next step, with the
   teacher-selected boundary visible before students begin drafting. */
.workspace-shell .student-essay-assignment-detail-header .container-xl {
  padding-top: 1.25rem !important;
  padding-bottom: 0.75rem !important;
}

.workspace-shell .student-essay-assignment-detail__header-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem;
  margin-top: 0.35rem;
  color: var(--cll-muted, #59677A);
  font-size: 0.82rem;
  line-height: 1.45;
}

.workspace-shell .student-essay-assignment-detail__meta-separator {
  color: var(--cll-border, #D8E0EA);
}

.workspace-shell .student-essay-assignment-detail-page {
  display: grid;
  gap: 1rem;
  width: 100%;
  max-width: 860px;
  min-width: 0;
  margin: 0 auto;
  padding: 0.25rem 0 2rem;
}

.workspace-shell .student-essay-assignment-detail-page .sead-back {
  display: inline-flex;
  align-items: center;
  align-self: start;
  min-height: 44px;
  max-width: 100%;
  color: var(--cll-signal-teal, #0F766E);
  font-size: 0.86rem;
  font-weight: 700;
  line-height: 1.35;
  text-decoration: none;
}

.workspace-shell .student-essay-assignment-detail-page .sead-back:hover {
  color: var(--cll-signal-teal-hover, #0C655F);
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

.workspace-shell .student-essay-assignment-detail-page .sead-card {
  min-width: 0;
  margin: 0;
  padding: clamp(1rem, 2.5vw, 1.5rem);
  color: var(--cll-ink, #142033);
  background: var(--cll-surface, #FFFFFF);
  border: 1px solid var(--cll-border, #D8E0EA);
  border-radius: 12px;
  box-shadow: none;
}

.workspace-shell .student-essay-assignment-detail-page .sead-section-title {
  margin: 0 0 0.85rem;
  padding: 0 0 0.55rem 0.75rem;
  color: var(--cll-harbor, #173F6B);
  border-bottom: 1px solid var(--cll-border, #D8E0EA);
  font-size: 0.8rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  line-height: 1.35;
  text-transform: none;
}

.workspace-shell .student-essay-assignment-detail-page .sead-section-title::before {
  display: inline-block;
  width: 3px;
  height: 1.05rem;
  margin: 0.05rem 0.45rem 0 -0.75rem;
  vertical-align: -0.18rem;
  background: var(--cll-signal-teal, #0F766E);
  border-radius: 999px;
  content: "";
}

.workspace-shell .student-essay-assignment-detail-page .sead-prompt-body {
  min-width: 0;
  overflow-wrap: anywhere;
  color: var(--cll-ink, #142033);
  font-size: 0.98rem;
  line-height: 1.65;
  white-space: pre-wrap;
}

.workspace-shell .student-essay-assignment-detail-page .sead-prompt-details > summary,
.workspace-shell .student-essay-assignment-detail-page .sead-more-details > summary,
.workspace-shell .student-essay-assignment-detail-page .sead-agreement-details > summary {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  max-width: 100%;
  padding: 0.4rem 0;
  overflow-wrap: anywhere;
  color: var(--cll-signal-teal, #0F766E);
  cursor: pointer;
  font-size: 0.88rem;
  font-weight: 750;
  line-height: 1.4;
  list-style: none;
}

.workspace-shell .student-essay-assignment-detail-page .sead-prompt-details > summary::-webkit-details-marker,
.workspace-shell .student-essay-assignment-detail-page .sead-more-details > summary::-webkit-details-marker,
.workspace-shell .student-essay-assignment-detail-page .sead-agreement-details > summary::-webkit-details-marker {
  display: none;
}

.workspace-shell .student-essay-assignment-detail-page .sead-prompt-details > summary::after,
.workspace-shell .student-essay-assignment-detail-page .sead-more-details > summary::after,
.workspace-shell .student-essay-assignment-detail-page .sead-agreement-details > summary::after {
  flex: 0 0 auto;
  margin-left: 0.45rem;
  color: currentColor;
  content: "\25BE";
  transition: transform 120ms ease;
}

.workspace-shell .student-essay-assignment-detail-page .sead-prompt-details[open] > summary::after,
.workspace-shell .student-essay-assignment-detail-page .sead-more-details[open] > summary::after,
.workspace-shell .student-essay-assignment-detail-page .sead-agreement-details[open] > summary::after {
  transform: rotate(180deg);
}

.workspace-shell .student-essay-assignment-detail-page .sead-prompt-details:not([open]) .sead-prompt-hide-label,
.workspace-shell .student-essay-assignment-detail-page .sead-prompt-details[open] .sead-prompt-show-label {
  display: none;
}

.workspace-shell .student-essay-assignment-detail-page .sead-prompt-details .sead-prompt-body {
  padding-top: 0.65rem;
}

.workspace-shell .student-essay-assignment-detail-page .sead-contract-summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.65rem;
  min-width: 0;
}

.workspace-shell .student-essay-assignment-detail-page .sead-contract-summary-item,
.workspace-shell .student-essay-assignment-detail-page .sead-contract-item {
  min-width: 0;
  padding: 0.8rem 0.9rem;
  color: var(--cll-ink, #142033);
  background: var(--cll-canvas, #F6F8FB);
  border: 1px solid var(--cll-border, #D8E0EA);
  border-radius: 9px;
}

.workspace-shell .student-essay-assignment-detail-page .sead-contract-label {
  margin-bottom: 0.25rem;
  color: var(--cll-muted, #59677A);
  font-size: 0.72rem;
  font-weight: 750;
  letter-spacing: 0.04em;
  line-height: 1.35;
  text-transform: uppercase;
}

.workspace-shell .student-essay-assignment-detail-page .sead-contract-value {
  overflow-wrap: anywhere;
  color: var(--cll-harbor, #173F6B);
  font-size: 0.93rem;
  font-weight: 750;
  line-height: 1.4;
}

.workspace-shell .student-essay-assignment-detail-page .sead-contract-detail {
  margin-top: 0.35rem;
  overflow-wrap: anywhere;
  color: var(--cll-muted, #59677A);
  font-size: 0.84rem;
  line-height: 1.55;
}

.workspace-shell .student-essay-assignment-detail-page .sead-essential-boundary {
  margin: 0.8rem 0 0;
  padding: 0.85rem 0.95rem;
  color: var(--cll-ink, #142033);
  background: rgba(15, 118, 110, 0.06);
  border: 1px solid rgba(15, 118, 110, 0.22);
  border-left: 3px solid var(--cll-signal-teal, #0F766E);
  border-radius: 9px;
  font-size: 0.9rem;
  line-height: 1.55;
}

.workspace-shell .student-essay-assignment-detail-page .sead-notice {
  min-width: 0;
  margin-top: 0.8rem;
  padding: 0.85rem 0.95rem;
  overflow-wrap: anywhere;
  color: var(--cll-ink, #142033);
  background: rgba(15, 118, 110, 0.06);
  border: 1px solid rgba(15, 118, 110, 0.22);
  border-left: 3px solid var(--cll-signal-teal, #0F766E);
  border-radius: 9px;
  font-size: 0.88rem;
  line-height: 1.55;
}

.workspace-shell .student-essay-assignment-detail-page .sead-more-details {
  min-width: 0;
  margin-top: 0.9rem;
  border-top: 1px solid var(--cll-border, #D8E0EA);
}

.workspace-shell .student-essay-assignment-detail-page .sead-more-details-body {
  padding-top: 0.7rem;
}

.workspace-shell .student-essay-assignment-detail-page .sead-contract-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.7rem;
  min-width: 0;
}

.workspace-shell .student-essay-assignment-detail-page .sead-agreement {
  min-width: 0;
  margin-top: 0.85rem;
  padding: 1rem;
  color: var(--cll-ink, #142033);
  background: var(--cll-canvas, #F6F8FB);
  border: 1px solid var(--cll-border, #D8E0EA);
  border-radius: 10px;
}

.workspace-shell .student-essay-assignment-detail-page .sead-agreement-title {
  color: var(--cll-harbor, #173F6B);
  font-size: 0.96rem;
  font-weight: 800;
  line-height: 1.4;
}

.workspace-shell .student-essay-assignment-detail-page .sead-agreement-summary {
  margin: 0.5rem 0 0;
  overflow-wrap: anywhere;
  color: var(--cll-muted, #59677A);
  font-size: 0.88rem;
  line-height: 1.6;
}

.workspace-shell .student-essay-assignment-detail-page .sead-agreement-details {
  margin-top: 0.55rem;
}

.workspace-shell .student-essay-assignment-detail-page .sead-agreement-text {
  max-width: 100%;
  margin: 0.45rem 0 0;
  padding: 0.8rem;
  overflow-wrap: anywhere;
  color: var(--cll-ink, #142033);
  background: var(--cll-surface, #FFFFFF);
  border: 1px solid var(--cll-border, #D8E0EA);
  border-radius: 8px;
  font-family: inherit;
  font-size: 0.84rem;
  line-height: 1.6;
  white-space: pre-wrap;
}

.workspace-shell .student-essay-assignment-detail-page .sead-data-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem 1rem;
  margin-top: 0.65rem;
}

.workspace-shell .student-essay-assignment-detail-page .sead-data-links a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  max-width: 100%;
  overflow-wrap: anywhere;
  color: var(--cll-signal-teal, #0F766E);
  font-size: 0.84rem;
  font-weight: 700;
  line-height: 1.4;
  text-underline-offset: 0.18em;
}

.workspace-shell .student-essay-assignment-detail-page .sead-action-wrap {
  display: flex;
  justify-content: flex-start;
  min-width: 0;
  margin: 0;
}

.workspace-shell .student-essay-assignment-detail-page .sead-action-wrap .sead-notice {
  width: 100%;
  margin-top: 0;
}

.workspace-shell .student-essay-assignment-detail-page .sead-primary-btn,
.workspace-shell .student-essay-assignment-detail-page .sead-history-view {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  border-radius: 8px;
  font-weight: 750;
  line-height: 1.25;
  text-decoration: none;
}

.workspace-shell .student-essay-assignment-detail-page .sead-primary-btn {
  max-width: 100%;
  padding: 0.7rem 1rem;
  color: #FFFFFF;
  background: var(--cll-harbor, #173F6B);
  border: 1px solid var(--cll-harbor, #173F6B);
  box-shadow: none;
  font-size: 0.94rem;
}

.workspace-shell .student-essay-assignment-detail-page .sead-primary-btn:hover {
  color: #FFFFFF;
  background: var(--cll-harbor-hover, #123457);
  border-color: var(--cll-harbor-hover, #123457);
}

.workspace-shell .student-essay-assignment-detail-page .sead-history-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr) auto;
  align-items: center;
  gap: 0.75rem;
  min-width: 0;
  margin-top: 0.6rem;
  padding: 0.8rem 0.9rem;
  color: var(--cll-ink, #142033);
  background: var(--cll-canvas, #F6F8FB);
  border: 1px solid var(--cll-border, #D8E0EA);
  border-radius: 9px;
}

.workspace-shell .student-essay-assignment-detail-page .sead-history-meta {
  display: grid;
  gap: 0.15rem;
  min-width: 0;
}

.workspace-shell .student-essay-assignment-detail-page .sead-history-attempt {
  overflow-wrap: anywhere;
  color: var(--cll-harbor, #173F6B);
  font-size: 0.88rem;
  font-weight: 750;
  line-height: 1.4;
}

.workspace-shell .student-essay-assignment-detail-page .sead-history-time,
.workspace-shell .student-essay-assignment-detail-page .sead-history-score,
.workspace-shell .student-essay-assignment-detail-page .sead-empty {
  overflow-wrap: anywhere;
  color: var(--cll-muted, #59677A);
  font-size: 0.8rem;
  line-height: 1.5;
}

.workspace-shell .student-essay-assignment-detail-page .sead-history-view {
  min-width: 8rem;
  padding: 0.55rem 0.8rem;
  color: var(--cll-signal-teal, #0F766E);
  background: var(--cll-surface, #FFFFFF);
  border: 1px solid rgba(15, 118, 110, 0.52);
  font-size: 0.8rem;
}

.workspace-shell .student-essay-assignment-detail-page .sead-history-view:hover {
  color: #FFFFFF;
  background: var(--cll-signal-teal-hover, #0C655F);
  border-color: var(--cll-signal-teal-hover, #0C655F);
}

.workspace-shell .student-essay-assignment-detail-page .sead-empty {
  padding: 1rem 0;
  text-align: center;
}

.workspace-shell .student-essay-assignment-detail-page a:focus-visible,
.workspace-shell .student-essay-assignment-detail-page summary:focus-visible {
  border-radius: 4px;
  outline: 3px solid var(--cll-focus-ring, #0F766E);
  outline-offset: 3px;
}

@media (max-width: 900px) {
  .workspace-shell .student-essay-assignment-detail-page .sead-contract-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .workspace-shell .student-essay-assignment-detail-header .container-xl {
    padding-top: 0.95rem !important;
    padding-bottom: 0.55rem !important;
  }

  .workspace-shell .student-essay-assignment-detail-page {
    gap: 0.85rem;
    padding: 0 0 1.5rem;
  }

  .workspace-shell .student-essay-assignment-detail-page .sead-card {
    padding: 1rem;
  }

  .workspace-shell .student-essay-assignment-detail-page .sead-contract-grid,
  .workspace-shell .student-essay-assignment-detail-page .sead-history-row {
    grid-template-columns: minmax(0, 1fr);
  }

  .workspace-shell .student-essay-assignment-detail-page .sead-history-view,
  .workspace-shell .student-essay-assignment-detail-page .sead-primary-btn {
    width: 100%;
  }

  .workspace-shell .student-essay-assignment-detail-page .sead-history-view {
    min-width: 0;
  }
}

/* Student submission detail , approved workspace page family. */
.workspace-shell .student-submission-detail-page {
  display: grid;
  gap: 1rem;
  width: 100%;
  max-width: 980px;
  min-width: 0;
  margin: 0 auto;
  padding-bottom: 1.5rem;
}

.workspace-shell .student-submission-detail-back {
  display: flex;
  align-items: center;
  min-height: 44px;
}

.workspace-shell .student-submission-detail-back a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: var(--cll-signal-teal, #0F766E);
  font-weight: 600;
}

.workspace-shell .student-submission-detail-back a:hover {
  color: var(--cll-signal-teal-hover, #0C655F);
  text-decoration: underline !important;
  text-underline-offset: 0.18em;
}

.workspace-shell .student-submission-detail-hero,
.workspace-shell .student-submission-detail-card {
  min-width: 0;
  margin-bottom: 0 !important;
  box-shadow: 0 8px 24px rgba(20, 32, 51, 0.06);
}

.workspace-shell .student-submission-detail-hero .card-body,
.workspace-shell .student-submission-detail-card .card-body {
  padding: clamp(1rem, 3vw, 1.35rem);
}

.workspace-shell .student-submission-detail-hero .feedback-score-header {
  min-width: 0;
}

.workspace-shell .student-submission-detail-hero .feedback-score-header > div:first-child {
  min-width: 0;
}

.workspace-shell .student-submission-detail-identity {
  min-width: 0;
}

.workspace-shell .student-submission-detail-identity h1 {
  margin: 0;
  overflow-wrap: anywhere;
  color: var(--cll-ink, #142033);
  font-size: clamp(1.05rem, 2.5vw, 1.3rem) !important;
  line-height: 1.35;
}

.workspace-shell .student-submission-detail-page .feedback-score-ring {
  flex: 0 0 90px;
  width: 90px;
  height: 90px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  font-weight: 700;
}

.workspace-shell .student-submission-detail-page .feedback-section {
  min-width: 0;
  border-radius: 10px;
  padding: 1rem 1.15rem;
  margin-bottom: 1rem;
}

.workspace-shell .student-submission-detail-page .feedback-section-title {
  font-size: 0.8rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-bottom: 0.5rem;
}

/* The legacy template carries dark-surface inline foregrounds. Keep its
 * existing status language and conditionals, but give the light workspace
 * surfaces readable equivalents. */
.workspace-shell .student-submission-detail-page [style*="color: rgba(255,255,255"] {
  color: var(--cll-ink, #142033) !important;
}

.workspace-shell .student-submission-detail-page [style*="color: rgba(34,197,94"],
.workspace-shell .student-submission-detail-page [style*="color: rgba(34,170,80"] {
  color: #0B5D43 !important;
}

.workspace-shell .student-submission-detail-page [style*="color: rgba(251,191,36"],
.workspace-shell .student-submission-detail-page [style*="color: rgba(200,160,20"],
.workspace-shell .student-submission-detail-page [style*="color: rgba(180,140,20"] {
  color: #744B00 !important;
}

.workspace-shell .student-submission-detail-page [style*="color: rgba(239,68,68"] {
  color: #A12A32 !important;
}

.workspace-shell .student-submission-detail-page [style*="color: rgba(129,140,248"],
.workspace-shell .student-submission-detail-page [style*="color: rgba(99,102,241"] {
  color: #354A92 !important;
}

.workspace-shell .student-submission-detail-page .feedback-component {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.3rem 0.65rem;
  border-radius: 6px;
  font-size: 0.78rem;
  font-weight: 500;
  margin: 0.2rem 0.25rem 0.2rem 0;
  overflow-wrap: anywhere;
}

.workspace-shell .student-submission-detail-page .feedback-next-step {
  padding: 0.6rem 0.85rem;
  border-radius: 8px;
  margin-bottom: 0.5rem;
  font-size: 0.85rem;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.workspace-shell .student-submission-detail-page .attempt-card {
  border-radius: 8px;
  padding: 0.75rem 1rem;
  margin-bottom: 0.5rem;
  transition: background 0.15s;
}

.workspace-shell .student-submission-detail-page .attempt-card:hover {
  background: rgba(20, 32, 51, 0.04) !important;
}

.workspace-shell .student-submission-detail-page .feedback-score-actions .btn,
.workspace-shell .student-submission-detail-page .attempt-card .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  border-radius: 8px;
  font-weight: 600;
}

.workspace-shell .student-submission-detail-page summary {
  min-height: 44px;
  color: var(--cll-ink, #142033) !important;
}

.workspace-shell .student-submission-detail-page summary:focus-visible,
.workspace-shell .student-submission-detail-back a:focus-visible,
.workspace-shell .student-submission-detail-page .btn:focus-visible {
  outline: 3px solid var(--cll-focus-ring, #0F766E);
  outline-offset: 3px;
}

@media (max-width: 767px) {
  .workspace-shell .student-submission-detail-hero .feedback-score-header,
  .workspace-shell .student-submission-detail-hero .feedback-score-header > div:first-child,
  .workspace-shell .student-submission-detail-page .feedback-columns {
    align-items: stretch !important;
    flex-direction: column !important;
  }

  .workspace-shell .student-submission-detail-hero .feedback-score-header {
    gap: 1rem !important;
  }

  .workspace-shell .student-submission-detail-hero .feedback-score-actions {
    justify-content: stretch !important;
  }

  .workspace-shell .student-submission-detail-hero .feedback-score-actions .btn {
    width: 100%;
  }

  .workspace-shell .student-submission-detail-page .feedback-section {
    padding: 0.9rem;
  }
}

@media (max-width: 359px) {
  .workspace-shell .student-submission-detail-page {
    gap: 0.75rem;
  }

  .workspace-shell .student-submission-detail-hero .card-body,
  .workspace-shell .student-submission-detail-card .card-body {
    padding: 0.85rem;
  }
}

@media (max-width: 359px) {
  .workspace-shell .student-essay-assignment-detail__header-meta {
    gap: 0.3rem;
    font-size: 0.78rem;
  }

  .workspace-shell .student-essay-assignment-detail-page .sead-card {
    padding: 0.85rem;
  }

  .workspace-shell .student-essay-assignment-detail-page .sead-contract-summary {
    grid-template-columns: minmax(0, 1fr);
  }

  .workspace-shell .student-essay-assignment-detail-page .sead-contract-summary-item,
  .workspace-shell .student-essay-assignment-detail-page .sead-contract-item,
  .workspace-shell .student-essay-assignment-detail-page .sead-agreement,
  .workspace-shell .student-essay-assignment-detail-page .sead-history-row {
    padding: 0.75rem;
  }
}

/* The detail template retains a small set of legacy inline dark-surface
 * declarations for non-workspace rendering. These scoped important rules
 * translate only this page when it is inside the light student shell. */
.workspace-shell .student-essay-assignment-detail-page .sead-page,
.workspace-shell .student-essay-assignment-detail-page .sead-card {
  color: var(--cll-ink, #142033) !important;
  background: var(--cll-surface, #FFFFFF) !important;
  border-color: var(--cll-border, #D8E0EA) !important;
  box-shadow: none !important;
}

.workspace-shell .student-essay-assignment-detail-page h2,
.workspace-shell .student-essay-assignment-detail-page .sead-section-title,
.workspace-shell .student-essay-assignment-detail-page .sead-agreement-title,
.workspace-shell .student-essay-assignment-detail-page .sead-contract-value,
.workspace-shell .student-essay-assignment-detail-page .sead-history-attempt {
  color: var(--cll-harbor, #173F6B) !important;
}

.workspace-shell .student-essay-assignment-detail-page .sead-contract-label {
  color: var(--cll-muted, #59677A) !important;
}

.workspace-shell .student-essay-assignment-detail-page .sead-header-meta,
.workspace-shell .student-essay-assignment-detail-page .sead-prompt-body,
.workspace-shell .student-essay-assignment-detail-page .sead-contract-intro,
.workspace-shell .student-essay-assignment-detail-page .sead-contract-detail,
.workspace-shell .student-essay-assignment-detail-page .sead-agreement-summary,
.workspace-shell .student-essay-assignment-detail-page .sead-history-time,
.workspace-shell .student-essay-assignment-detail-page .sead-history-score,
.workspace-shell .student-essay-assignment-detail-page .sead-empty,
.workspace-shell .student-essay-assignment-detail-page [style*="color: rgba(255,255,255"],
.workspace-shell .student-essay-assignment-detail-page [style*="color:rgba(255,255,255"] {
  color: var(--cll-muted, #59677A) !important;
}

.workspace-shell .student-essay-assignment-detail-page .sead-meta-sep {
  color: var(--cll-border, #D8E0EA) !important;
}

.workspace-shell .student-essay-assignment-detail-page .sead-contract-item,
.workspace-shell .student-essay-assignment-detail-page .sead-agreement,
.workspace-shell .student-essay-assignment-detail-page .sead-history-row {
  color: var(--cll-ink, #142033) !important;
  background: var(--cll-canvas, #F6F8FB) !important;
  border-color: var(--cll-border, #D8E0EA) !important;
}

.workspace-shell .student-essay-assignment-detail-page .sead-badge {
  color: #354A92 !important;
  background: #EEF1FF !important;
  border-color: #B9C2EE !important;
}

.workspace-shell .student-essay-assignment-detail-page .sead-agreement-text {
  color: var(--cll-ink, #142033) !important;
  background: var(--cll-surface, #FFFFFF) !important;
  border-color: var(--cll-border, #D8E0EA) !important;
}

.workspace-shell .student-essay-assignment-detail-page .sead-more-details > summary,
.workspace-shell .student-essay-assignment-detail-page .sead-prompt-details > summary,
.workspace-shell .student-essay-assignment-detail-page .sead-agreement-details > summary {
  color: var(--cll-signal-teal, #0F766E) !important;
}

.workspace-shell .student-essay-assignment-detail-page .sead-essential-boundary,
.workspace-shell .student-essay-assignment-detail-page .sead-notice {
  color: var(--cll-ink, #142033) !important;
  background: rgba(15, 118, 110, .06) !important;
  border-color: rgba(15, 118, 110, .22) !important;
}

.workspace-shell .student-essay-assignment-detail-page .sead-primary-btn {
  color: #FFFFFF !important;
  background: var(--cll-harbor, #173F6B) !important;
  border-color: var(--cll-harbor, #173F6B) !important;
  box-shadow: none !important;
}

/* Writing context cards use the light workspace palette explicitly. */
.workspace-shell #mainContent .student-writing-context-card {
  color: var(--cll-ink, #142033);
  background: var(--cll-surface, #FFFFFF) !important;
  border-color: var(--cll-border, #D8E0EA) !important;
}

.workspace-shell #mainContent .student-writing-process-card,
.workspace-shell #mainContent .student-writing-teacher-note-card {
  border-left: 3px solid var(--cll-signal-teal, #0F766E) !important;
}

.workspace-shell #mainContent .student-writing-feedback-card {
  background: rgba(15, 118, 110, 0.04) !important;
  border-color: rgba(15, 118, 110, 0.22) !important;
}

.workspace-shell #mainContent .student-writing-pilot-feedback-card {
  border-left: 3px solid var(--cll-warm-accent, #C57A12) !important;
}

.workspace-shell .student-writing-card-title {
  color: var(--cll-ink, #142033);
}

.workspace-shell .student-writing-card-meta,
.workspace-shell .student-writing-card-disclosure,
.workspace-shell .student-writing-card-copy {
  color: var(--cll-muted, #59677A);
}

.workspace-shell .student-writing-card-meta strong {
  color: var(--cll-ink, #142033);
}

.workspace-shell .student-writing-feedback-action {
  min-width: 65px;
  min-height: 44px;
}

.workspace-shell .student-writing-feedback-input {
  width: min(100%, 280px);
  min-height: 44px;
  color: var(--cll-ink, #142033);
  background: var(--cll-surface, #FFFFFF);
  border-color: var(--cll-border, #D8E0EA);
}

.workspace-shell .student-writing-pilot-feedback-input {
  width: min(100%, 300px);
}

.workspace-shell .student-writing-feedback-input::placeholder {
  color: var(--cll-muted, #59677A);
  opacity: 1;
}

.workspace-shell .student-writing-feedback-input:focus {
  color: var(--cll-ink, #142033);
  background: var(--cll-surface, #FFFFFF);
  border-color: var(--cll-signal-teal, #0F766E);
  box-shadow: 0 0 0 0.2rem rgba(15, 118, 110, 0.16);
}

/* Student writing history , grouped by assignment, newest attempt first. */
.workspace-shell .student-writing-history-page {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  width: 100%;
  max-width: 1180px;
  min-width: 0;
  margin: 0 auto;
}

.workspace-shell .student-writing-history-card {
  padding: 1.25rem;
}

.workspace-shell .student-writing-history-card > h2 {
  margin: 0;
  color: var(--cll-ink, #142033);
  font-size: clamp(1.2rem, 2vw, 1.5rem);
  font-weight: 700;
}

.workspace-shell .student-writing-history-card > p {
  margin: 0.35rem 0 1.15rem;
  color: var(--cll-muted, #59677A);
}

.workspace-shell .student-writing-history-group {
  min-width: 0;
  padding-top: 1rem;
  border-top: 1px solid var(--cll-border, #D8E0EA);
}

.workspace-shell .student-writing-history-group:first-of-type {
  padding-top: 0;
  border-top: 0;
}

.workspace-shell .student-writing-history-group__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.7rem;
}

.workspace-shell .student-writing-history-group__title {
  min-width: 0;
  overflow-wrap: anywhere;
  color: var(--cll-ink, #142033);
  font-size: 1rem;
  font-weight: 700;
}

.workspace-shell .student-writing-history-group__meta {
  margin-top: 0.2rem;
  color: var(--cll-muted, #59677A);
  font-size: 0.8rem;
}

.workspace-shell .student-writing-history-attempt {
  min-width: 0;
  padding: 0.9rem;
  background: var(--cll-canvas, #F6F8FB);
  border: 1px solid var(--cll-border, #D8E0EA);
  border-radius: 10px;
}

.workspace-shell .student-writing-history-attempt--latest {
  border-left: 3px solid var(--cll-signal-teal, #0F766E);
}

.workspace-shell .student-writing-history-attempt__topline {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.workspace-shell .student-writing-history-attempt__label {
  color: var(--cll-ink, #142033);
  font-size: 0.88rem;
  font-weight: 700;
}

.workspace-shell .student-writing-history-attempt__date {
  margin-top: 0.15rem;
  color: var(--cll-muted, #59677A);
  font-size: 0.76rem;
}

.workspace-shell .student-writing-history-attempt__feedback {
  margin-top: 0.7rem;
  color: var(--cll-ink, #142033);
  font-size: 0.86rem;
  line-height: 1.5;
}

.workspace-shell .student-writing-history-attempt__components {
  margin-top: 0.65rem;
}

.workspace-shell .student-writing-history-attempt__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  margin-top: 0.75rem;
}

.workspace-shell .student-writing-history-attempt__actions .btn {
  min-height: 44px;
}

.workspace-shell .student-writing-assignment-list {
  display: grid;
  gap: 0.7rem;
}

.workspace-shell .student-writing-assignment-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(9rem, auto) auto;
  align-items: center;
  gap: 0.85rem;
  min-width: 0;
  padding: 0.8rem 0.9rem;
  background: var(--cll-canvas, #F6F8FB);
  border: 1px solid var(--cll-border, #D8E0EA);
  border-radius: 9px;
}

.workspace-shell .student-writing-assignment-row__main,
.workspace-shell .student-writing-assignment-row__meta {
  min-width: 0;
  overflow-wrap: anywhere;
}

.workspace-shell .student-writing-assignment-row__meta {
  display: grid;
  gap: 0.25rem;
}

.workspace-shell .student-writing-assignment-row__action {
  min-height: 44px;
  white-space: nowrap;
}

.workspace-shell .student-writing-history-older {
  margin-top: 0.7rem;
  border-top: 1px solid var(--cll-border, #D8E0EA);
}

.workspace-shell .student-writing-history-older > summary {
  display: flex;
  align-items: center;
  min-height: 44px;
  padding: 0.55rem 0;
  overflow-wrap: anywhere;
  color: var(--cll-signal-teal, #0F766E);
  font-size: 0.86rem;
  font-weight: 700;
  cursor: pointer;
}

.workspace-shell .student-writing-history-older > summary:focus-visible {
  outline: 3px solid var(--cll-focus-ring, #0F766E);
  outline-offset: 2px;
}

.workspace-shell .student-writing-history-older__body {
  display: grid;
  gap: 0.65rem;
  padding-bottom: 0.1rem;
}

@media (max-width: 767.98px) {
  .workspace-shell .student-writing-history-attempt__topline > * {
    min-width: 0;
  }

  .workspace-shell .student-writing-history-attempt__topline > .d-flex {
    justify-content: flex-start !important;
  }

  .workspace-shell .student-writing-history-attempt__topline .badge {
    white-space: normal;
    overflow-wrap: anywhere;
  }
}

/* Student Practice choice page , two clear, keyboard-operable paths. */
.workspace-shell .student-practice-choice-page {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
  width: 100%;
  max-width: 980px;
  min-width: 0;
  margin: 0 auto;
}

.workspace-shell .practice-choice-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 320px;
  padding: 1.5rem;
  color: var(--cll-ink, #142033);
  text-decoration: none;
  box-shadow: 0 8px 24px rgba(20, 32, 51, 0.06);
  transition:
    border-color 160ms ease,
    box-shadow 160ms ease,
    transform 160ms ease;
}

.workspace-shell .practice-choice-card:hover {
  color: var(--cll-ink, #142033);
  text-decoration: none;
  border-color: rgba(15, 118, 110, 0.42);
  box-shadow: 0 14px 30px rgba(20, 32, 51, 0.1);
  transform: translateY(-2px);
}

.workspace-shell .practice-choice-card:focus-visible {
  color: var(--cll-ink, #142033);
  outline: 3px solid var(--cll-focus-ring, #0F766E);
  outline-offset: 3px;
}

.workspace-shell .practice-choice-card--primary {
  border-color: var(--cll-signal-teal, #0F766E);
  box-shadow:
    0 0 0 2px rgba(15, 118, 110, 0.07),
    0 8px 24px rgba(20, 32, 51, 0.08);
}

.workspace-shell .practice-choice-card__number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: flex-start;
  min-width: 38px;
  min-height: 28px;
  padding: 0.2rem 0.55rem;
  color: var(--cll-signal-teal, #0F766E);
  background: rgba(15, 118, 110, 0.08);
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
}

.workspace-shell .practice-choice-card__content {
  display: flex;
  flex-direction: column;
  gap: 0.7rem;
  margin: 1.4rem 0 1.75rem;
}

.workspace-shell .practice-choice-card__title {
  color: var(--cll-ink, #142033);
  font-size: clamp(1.3rem, 2.4vw, 1.65rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.25;
}

.workspace-shell .practice-choice-card__description {
  color: var(--cll-muted, #59677A);
  font-size: 0.94rem;
  line-height: 1.65;
}

.workspace-shell .practice-choice-card__action {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  width: 100%;
  min-height: 48px;
  margin-top: auto;
  padding: 0.65rem 0.9rem;
  color: #FFFFFF;
  background: var(--cll-harbor, #173F6B);
  border: 1px solid var(--cll-harbor, #173F6B);
  border-radius: 8px;
  font-size: 0.92rem;
  font-weight: 700;
}

.workspace-shell .practice-choice-card:hover .practice-choice-card__action {
  background: var(--cll-harbor-hover, #123457);
  border-color: var(--cll-harbor-hover, #123457);
}

.workspace-shell .practice-choice-card__action--secondary {
  color: var(--cll-harbor, #173F6B);
  background: var(--cll-surface, #FFFFFF);
  border-color: var(--cll-harbor, #173F6B);
}

.workspace-shell .practice-choice-card:hover
  .practice-choice-card__action--secondary {
  color: #FFFFFF;
}

/* Shared student setup form (Practice by Unit, Quiz Setup) , one focused decision on a white surface. */
.workspace-shell .student-setup-page {
  display: flex;
  justify-content: center;
  width: 100%;
  min-width: 0;
}

.workspace-shell .student-setup-form {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  width: 100%;
  max-width: 460px;
  min-width: 0;
  padding: 1.75rem;
  box-shadow: 0 8px 24px rgba(20, 32, 51, 0.06);
}

.workspace-shell .student-setup-form__field {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  min-width: 0;
}

.workspace-shell .student-setup-form__label {
  color: var(--cll-ink, #142033);
  font-size: 0.92rem;
  font-weight: 700;
}

.workspace-shell .student-setup-form__select {
  width: 100%;
  min-width: 0;
  min-height: 44px;
  padding: 0.55rem 0.75rem;
  color: var(--cll-ink, #142033);
  background: var(--cll-surface, #FFFFFF);
  border: 1px solid var(--cll-border, #D8E0EA);
  border-radius: 8px;
  font-size: 0.95rem;
}

.workspace-shell .student-setup-form__select:focus-visible {
  border-color: var(--cll-signal-teal, #0F766E);
  outline: 3px solid var(--cll-focus-ring, #0F766E);
  outline-offset: 2px;
}

.workspace-shell .student-setup-form__actions {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  min-width: 0;
}

.workspace-shell .student-setup-form__submit,
.workspace-shell .student-setup-form__secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 48px;
  padding: 0.65rem 1rem;
  border-radius: 8px;
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  cursor: pointer;
}

.workspace-shell .student-setup-form__submit {
  color: #FFFFFF;
  background: var(--cll-harbor, #173F6B);
  border: 1px solid var(--cll-harbor, #173F6B);
}

.workspace-shell .student-setup-form__submit:hover {
  background: var(--cll-harbor-hover, #123457);
  border-color: var(--cll-harbor-hover, #123457);
}

.workspace-shell .student-setup-form__secondary {
  color: var(--cll-harbor, #173F6B);
  background: var(--cll-surface, #FFFFFF);
  border: 1px solid var(--cll-harbor, #173F6B);
}

.workspace-shell .student-setup-form__secondary:hover {
  color: #FFFFFF;
  background: var(--cll-harbor-hover, #123457);
  border-color: var(--cll-harbor-hover, #123457);
}

.workspace-shell .student-setup-form__submit:focus-visible,
.workspace-shell .student-setup-form__secondary:focus-visible {
  outline: 3px solid var(--cll-focus-ring, #0F766E);
  outline-offset: 3px;
}

/* Quiz Results , one clear result followed by an explicit next choice. */
.workspace-shell .quiz-results-page {
  display: flex;
  justify-content: center;
  width: 100%;
  min-width: 0;
}

.workspace-shell .quiz-result-card {
  width: 100%;
  max-width: 720px;
  min-width: 0;
  padding: clamp(1.5rem, 4vw, 2.75rem);
  text-align: center;
  box-shadow: 0 8px 24px rgba(20, 32, 51, 0.06);
}

.workspace-shell .quiz-result-card__header {
  max-width: 48rem;
  margin: 0 auto 1.5rem;
}

.workspace-shell .quiz-result-eyebrow {
  margin: 0 0 0.35rem;
  color: var(--cll-signal-teal, #0F766E);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.workspace-shell .quiz-result-card h2 {
  margin: 0;
  overflow-wrap: anywhere;
  color: var(--cll-ink, #142033);
  font-size: clamp(1.3rem, 3vw, 1.75rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.3;
}

.workspace-shell .quiz-result-score {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 0.75rem;
  width: min(100%, 360px);
  margin: 0 auto 1.15rem;
  padding: 1.1rem 1.25rem;
  color: var(--cll-harbor, #173F6B);
  background: var(--cll-canvas, #F6F8FB);
  border: 1px solid var(--cll-border, #D8E0EA);
  border-radius: 12px;
}

.workspace-shell .quiz-result-score__value {
  font-size: clamp(2.35rem, 8vw, 4rem);
  font-weight: 800;
  letter-spacing: -0.045em;
  line-height: 1;
}

.workspace-shell .quiz-result-score__percentage {
  padding: 0.3rem 0.65rem;
  color: var(--cll-signal-teal, #0F766E);
  background: rgba(15, 118, 110, 0.1);
  border-radius: 999px;
  font-size: 0.95rem;
  font-weight: 800;
  white-space: nowrap;
}

.workspace-shell .quiz-result-message {
  margin: 0;
  color: var(--cll-ink, #142033);
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.55;
}

.workspace-shell .quiz-result-completed {
  margin: 0.45rem 0 1.75rem;
  color: var(--cll-muted, #59677A);
  font-size: 0.82rem;
}

.workspace-shell .quiz-result-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
  width: 100%;
  max-width: 540px;
  margin: 0 auto;
}

.workspace-shell .quiz-result-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  min-height: 48px;
  padding: 0.7rem 1rem;
  border: 1px solid var(--cll-harbor, #173F6B);
  border-radius: 8px;
  font-size: 0.92rem;
  font-weight: 700;
  line-height: 1.25;
  text-align: center;
  text-decoration: none;
}

.workspace-shell .quiz-result-action--primary {
  color: #FFFFFF;
  background: var(--cll-harbor, #173F6B);
}

.workspace-shell .quiz-result-action--primary:hover {
  color: #FFFFFF;
  background: var(--cll-harbor-hover, #123457);
  border-color: var(--cll-harbor-hover, #123457);
}

.workspace-shell .quiz-result-action--secondary {
  color: var(--cll-harbor, #173F6B);
  background: var(--cll-surface, #FFFFFF);
}

.workspace-shell .quiz-result-action--secondary:hover {
  color: #FFFFFF;
  background: var(--cll-harbor-hover, #123457);
  border-color: var(--cll-harbor-hover, #123457);
}

.workspace-shell .quiz-result-action:focus-visible,
.workspace-shell .quiz-result-home:focus-visible {
  outline: 3px solid var(--cll-focus-ring, #0F766E);
  outline-offset: 3px;
}

.workspace-shell .quiz-result-home {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  margin-top: 0.75rem;
  color: var(--cll-muted, #59677A);
  font-size: 0.86rem;
  font-weight: 700;
  text-underline-offset: 0.2em;
}

.workspace-shell .quiz-result-home:hover {
  color: var(--cll-harbor, #173F6B);
}

/* Student Progress page , descriptive evidence, not a verdict. */
.workspace-shell .student-progress-page {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  width: 100%;
  max-width: 1080px;
  min-width: 0;
  margin: 0 auto;
}

.workspace-shell .student-progress-card {
  min-width: 0;
  padding: 1.5rem;
  box-shadow: 0 8px 24px rgba(20, 32, 51, 0.06);
}

.workspace-shell .student-progress-card__header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
}

.workspace-shell .student-progress-eyebrow {
  margin: 0 0 0.2rem;
  color: var(--cll-signal-teal, #0F766E);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.workspace-shell .student-progress-card h2 {
  margin: 0;
  color: var(--cll-ink, #142033);
  font-size: clamp(1.15rem, 2vw, 1.4rem);
  font-weight: 700;
  letter-spacing: -0.015em;
}

.workspace-shell .student-progress-review-all,
.workspace-shell .student-progress-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0.5rem 0.8rem;
  color: var(--cll-harbor, #173F6B);
  background: var(--cll-surface, #FFFFFF);
  border: 1px solid var(--cll-harbor, #173F6B);
  border-radius: 8px;
  font-size: 0.82rem;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
}

.workspace-shell .student-progress-review-all:hover,
.workspace-shell .student-progress-action:hover {
  color: #FFFFFF;
  background: var(--cll-harbor-hover, #123457);
  border-color: var(--cll-harbor-hover, #123457);
  text-decoration: none;
}

.workspace-shell .student-progress-filter {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.55rem;
  margin-bottom: 0.85rem;
}

.workspace-shell .student-progress-filter label {
  color: var(--cll-muted, #59677A);
  font-size: 0.8rem;
  font-weight: 700;
}

.workspace-shell .student-progress-filter select {
  min-height: 44px;
  max-width: min(100%, 20rem);
  padding: 0.5rem 2rem 0.5rem 0.7rem;
  color: var(--cll-ink, #142033);
  background: var(--cll-surface, #FFFFFF);
  border: 1px solid var(--cll-border, #D8E0EA);
  border-radius: 8px;
  font-size: 0.84rem;
  font-weight: 600;
}

.workspace-shell .student-progress-filter select:focus-visible {
  border-color: var(--cll-signal-teal, #0F766E);
}

.workspace-shell .student-progress-scope {
  max-width: 76ch;
  margin: 0 0 1.25rem;
  color: var(--cll-muted, #59677A);
  font-size: 0.82rem;
  line-height: 1.6;
}

.workspace-shell .student-progress-topics {
  display: grid;
  gap: 0.75rem;
}

.workspace-shell .student-progress-topic {
  display: grid;
  grid-template-columns:
    minmax(190px, 1.2fr)
    minmax(180px, 1fr)
    auto;
  gap: 1rem;
  align-items: center;
  min-width: 0;
  padding: 1rem;
  background: var(--cll-canvas, #F6F8FB);
  border: 1px solid var(--cll-border, #D8E0EA);
  border-radius: 10px;
}

.workspace-shell .student-progress-topic__identity,
.workspace-shell .student-progress-topic__evidence {
  min-width: 0;
}

.workspace-shell .student-progress-topic__identity h3 {
  margin: 0;
  overflow-wrap: anywhere;
  color: var(--cll-ink, #142033);
  font-size: 0.9rem;
  font-weight: 700;
  line-height: 1.4;
}

.workspace-shell .student-progress-topic__identity p {
  margin: 0.25rem 0 0;
  color: var(--cll-muted, #59677A);
  font-size: 0.75rem;
}

.workspace-shell .student-progress-topic__evidence-line {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem;
  margin-bottom: 0.45rem;
}

.workspace-shell .student-progress-topic__evidence-line strong {
  color: var(--cll-ink, #142033);
  font-size: 0.82rem;
}

.workspace-shell .progress-evidence-label {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 0.2rem 0.55rem;
  border: 1px solid transparent;
  border-radius: 999px;
  font-size: 0.7rem;
  font-weight: 700;
  line-height: 1.2;
}

.workspace-shell .progress-evidence-label--review {
  color: #8F1D16;
  background: #FFF1F0;
  border-color: #F3B8B4;
}

.workspace-shell .progress-evidence-label--developing {
  color: #744800;
  background: #FFF7E8;
  border-color: #EBCB91;
}

.workspace-shell .progress-evidence-label--building {
  color: var(--cll-muted, #59677A);
  background: var(--cll-surface, #FFFFFF);
  border-color: var(--cll-border, #D8E0EA);
}

.workspace-shell .progress-evidence-label--accurate {
  color: #14613D;
  background: #EDF8F1;
  border-color: #AED9BE;
}

.workspace-shell .student-progress-meter {
  height: 8px;
  overflow: hidden;
  background: var(--cll-border, #D8E0EA);
  border-radius: 999px;
}

.workspace-shell .student-progress-meter span {
  display: block;
  height: 100%;
  background: var(--cll-signal-teal, #0F766E);
  border-radius: inherit;
}

.workspace-shell .student-progress-meter[data-evidence-band="weak"] span {
  background: #B42318;
}

.workspace-shell .student-progress-meter[data-evidence-band="developing"] span {
  background: var(--cll-warm-accent, #C57A12);
}

.workspace-shell .student-progress-topic__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.5rem;
}

.workspace-shell .student-progress-action--primary {
  color: #FFFFFF;
  background: var(--cll-harbor, #173F6B);
}

.workspace-shell .student-progress-empty {
  padding: 1.5rem;
  text-align: center;
  background: var(--cll-canvas, #F6F8FB);
  border-radius: 10px;
}

.workspace-shell .student-progress-empty h3 {
  margin: 0 0 0.3rem;
  color: var(--cll-ink, #142033);
  font-size: 1rem;
}

.workspace-shell .student-progress-empty p {
  margin: 0;
  color: var(--cll-muted, #59677A);
  font-size: 0.85rem;
}

.workspace-shell .student-progress-writing {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
}

.workspace-shell .student-progress-writing > div {
  max-width: 72ch;
}

.workspace-shell .student-progress-writing p:last-child {
  margin: 0.65rem 0 0;
  color: var(--cll-muted, #59677A);
  font-size: 0.87rem;
  line-height: 1.6;
}

@media (max-width: 991.98px) {
  .workspace-shell .workspace-mobile-toggle {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    min-width: 44px;
    min-height: 44px;
    padding: 0.5rem 0.75rem;
    color: var(--cll-ink, #142033);
    background: #FFFFFF;
    border: 1px solid var(--cll-border, #D8E0EA);
    border-radius: 8px;
  }

  .workspace-shell .workspace-mobile-brand {
    display: inline-flex;
  }

  .workspace-shell .workspace-mobile-toggle svg {
    width: 20px;
    height: 20px;
  }

  .workspace-shell .workspace-sidebar {
    position: fixed;
    z-index: 1200;
    height: auto;
    max-height: none;
    overflow-y: auto;
  }

  .workspace-shell .workspace-sidebar-collapse {
    display: none;
  }

  .workspace-shell .workspace-sidebar-close {
    display: inline-flex;
  }

  .workspace-shell .app-nav .navbar-toggler:not(.workspace-mobile-toggle) {
    display: none;
  }

  .workspace-shell .app-header .container-xl,
  .workspace-shell #mainContent {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .workspace-shell .student-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .workspace-shell .student-grid > .zone-card {
    min-width: 0;
  }

  .workspace-shell .workspace-shell__main > footer.text-center.py-1.small {
    padding-bottom: 5.5rem !important;
  }

  .workspace-shell #cl-chat-fab {
    right: 16px;
    bottom: 16px;
  }

  .workspace-shell #cl-chat-window {
    right: 16px;
    bottom: 16px;
  }
}

@media (max-width: 320px) {
  .workspace-shell .workspace-sidebar-header {
    position: relative;
    padding-right: 0;
  }

  .workspace-shell .workspace-brand {
    flex-direction: column;
    align-items: center;
    gap: 0.35rem;
    padding-right: 0;
  }

  .workspace-shell .workspace-brand-copy {
    width: 100%;
    align-items: center;
  }

  .workspace-shell .workspace-brand-name,
  .workspace-shell .workspace-brand-role {
    white-space: normal;
    overflow-wrap: anywhere;
  }

  .workspace-shell .workspace-brand-logo {
    height: 48px;
    max-width: 40px;
  }

  .workspace-shell .workspace-sidebar-close {
    position: absolute;
    top: 0;
    right: 0;
    margin-left: 0;
  }

  .workspace-shell .workspace-mobile-toggle > span,
  .workspace-shell .workspace-account-toggle-label {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
  }
}

@media (max-width: 767.98px) {
  .workspace-shell .student-assignment-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .workspace-shell .student-practice-choice-page {
    grid-template-columns: minmax(0, 1fr);
    max-width: 620px;
  }

  .workspace-shell .practice-choice-card {
    min-height: 0;
  }

  .workspace-shell .student-progress-topic {
    grid-template-columns: minmax(0, 1fr);
    align-items: stretch;
  }

  .workspace-shell .student-progress-topic__actions {
    justify-content: flex-start;
  }

  .workspace-shell .student-progress-writing {
    align-items: flex-start;
    flex-direction: column;
  }

  .workspace-shell .student-assignment-section__header {
    align-items: flex-start;
  }

  .workspace-shell .student-writing-assignment-row {
    grid-template-columns: minmax(0, 1fr);
  }

  .workspace-shell .student-writing-assignment-row__action {
    width: 100%;
  }
}

@media (max-width: 420px) {
  .workspace-shell .student-assignment-card {
    padding: 1rem;
  }

  .workspace-shell .student-assignment-section__header {
    flex-direction: column;
    gap: 0.65rem;
  }

  .workspace-shell .student-assignment-details > div {
    grid-template-columns: minmax(54px, auto) minmax(0, 1fr);
  }

  .workspace-shell .student-assignment-actions,
  .workspace-shell .student-assignment-actions form,
  .workspace-shell .student-assignment-actions .btn {
    width: 100%;
  }

  .workspace-shell .practice-choice-card {
    padding: 1.15rem;
  }

  .workspace-shell .student-setup-form {
    padding: 1.15rem;
  }

  .workspace-shell .quiz-result-card {
    padding: 1.25rem 1rem;
  }

  .workspace-shell .quiz-result-score {
    align-items: center;
    flex-direction: column;
    gap: 0.65rem;
  }

  .workspace-shell .quiz-result-actions {
    grid-template-columns: minmax(0, 1fr);
  }

  .workspace-shell .student-progress-card {
    padding: 1rem;
  }

  .workspace-shell .student-progress-card__header {
    align-items: flex-start;
    flex-direction: column;
  }

  .workspace-shell .student-progress-topic__actions,
  .workspace-shell .student-progress-action {
    width: 100%;
  }
}

/* Active quiz-taking workspace */
.workspace-shell .quiz-taking-page {
  width: 100%;
  max-width: 900px;
  margin: 0 auto;
  padding: 0.25rem 0 2rem;
}

.workspace-shell .quiz-taking-progress {
  margin-bottom: 1rem;
}

.workspace-shell .quiz-taking-progress__labels {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 0.45rem;
  color: var(--cll-muted, #59677A);
  font-size: 0.8rem;
  font-weight: 650;
}

.workspace-shell .quiz-taking-progress__bar {
  display: block;
  width: 100%;
  height: 8px;
  overflow: hidden;
  appearance: none;
  -webkit-appearance: none;
  background: var(--cll-border, #D8E0EA);
  border: 0;
  border-radius: 999px;
}

.workspace-shell .quiz-taking-progress__bar::-webkit-progress-bar {
  background: var(--cll-border, #D8E0EA);
  border-radius: 999px;
}

.workspace-shell .quiz-taking-progress__bar::-webkit-progress-value {
  background: var(--cll-signal-teal, #0F766E);
  border-radius: 999px;
}

.workspace-shell .quiz-taking-progress__bar::-moz-progress-bar {
  background: var(--cll-signal-teal, #0F766E);
  border-radius: 999px;
}

.workspace-shell .quiz-taking-progress__session {
  margin: 0.45rem 0 0;
  color: var(--cll-muted, #59677A);
  font-size: 0.76rem;
}

.workspace-shell .quiz-question-card {
  overflow: hidden;
  border: 1px solid var(--cll-border, #D8E0EA);
  border-radius: 14px;
  box-shadow: 0 10px 28px rgba(20, 32, 51, 0.07);
}

.workspace-shell .quiz-question-card > .card-body {
  padding: clamp(1.2rem, 3vw, 2rem);
}

.workspace-shell .quiz-stimulus {
  margin-bottom: 1.35rem;
  padding: clamp(1rem, 2.5vw, 1.35rem);
  color: var(--cll-ink, #142033);
  background: var(--cll-canvas, #F6F8FB);
  border: 1px solid var(--cll-border, #D8E0EA);
  border-radius: 10px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 0.96rem;
  line-height: 1.7;
}

.workspace-shell .quiz-stimulus-image-wrap {
  margin-bottom: 0.75rem;
  text-align: center;
}

.workspace-shell .quiz-stimulus-image {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 520px;
  margin: 0 auto;
  border: 1px solid var(--cll-border, #D8E0EA);
  border-radius: 8px;
  object-fit: contain;
}

.workspace-shell .quiz-stimulus-image-fallback {
  padding: 1rem;
  color: var(--cll-muted, #59677A);
  background: var(--cll-surface, #FFFFFF);
  border: 1px dashed var(--cll-border-strong, #B8C4D2);
  border-radius: 8px;
  font-family: Inter, system-ui, sans-serif;
  font-size: 0.86rem;
  font-style: italic;
  line-height: 1.5;
  text-align: left;
  white-space: pre-wrap;
}

.workspace-shell .quiz-stimulus-caption {
  margin: 0.65rem 0 0;
  color: var(--cll-ink, #142033);
  font-size: 0.84rem;
  line-height: 1.5;
}

.workspace-shell .quiz-stimulus-text > :last-child {
  margin-bottom: 0;
}

.workspace-shell .quiz-stimulus-source {
  margin: 0.75rem 0 0;
  color: var(--cll-muted, #59677A);
  font-family: Inter, system-ui, sans-serif;
  font-size: 0.78rem;
  line-height: 1.5;
}

.workspace-shell .quiz-question-prompt {
  max-width: 74ch;
  margin: 0 0 1.25rem;
  color: var(--cll-ink, #142033);
  font-size: clamp(1.05rem, 2.2vw, 1.24rem);
  font-weight: 700;
  line-height: 1.55;
}

.workspace-shell .quiz-result-status {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  min-height: 36px;
  margin: 0 0 1rem;
  padding: 0.4rem 0.7rem;
  border: 1px solid;
  border-radius: 999px;
  font-size: 0.84rem;
  font-weight: 750;
  line-height: 1.2;
}

.workspace-shell .quiz-result-status--correct {
  color: #14613D;
  background: #EDF8F1;
  border-color: #AED9BE;
}

.workspace-shell .quiz-result-status--incorrect {
  color: var(--cll-warm-accent-text, #7A4800);
  background: rgba(197, 122, 18, 0.08);
  border-color: rgba(197, 122, 18, 0.32);
}

.workspace-shell .quiz-answer-list {
  display: grid;
  gap: 0.7rem;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

.workspace-shell .quiz-answer-choice {
  position: relative;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 0.75rem;
  align-items: center;
  min-height: 54px;
  margin: 0;
  padding: 0.7rem 0.9rem !important;
  color: var(--cll-ink, #142033);
  background: var(--cll-surface, #FFFFFF);
  border: 1px solid var(--cll-border, #D8E0EA) !important;
  border-radius: 9px;
  box-shadow: none;
  cursor: pointer;
}

.workspace-shell .quiz-answer-choice:hover {
  background: rgba(15, 118, 110, 0.04);
  border-color: var(--cll-signal-teal, #0F766E) !important;
  box-shadow: none;
  transform: none;
}

.workspace-shell .quiz-answer-choice .form-check-input {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: 0 !important;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
}

.workspace-shell .quiz-answer-choice__letter {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  color: var(--cll-harbor, #173F6B);
  background: var(--cll-canvas, #F6F8FB);
  border: 1px solid var(--cll-border-strong, #B8C4D2);
  border-radius: 50%;
  font-size: 0.8rem;
  font-weight: 750;
}

.workspace-shell .quiz-answer-choice__text {
  min-width: 0;
  overflow-wrap: anywhere;
  color: inherit;
  font-size: 0.94rem;
  line-height: 1.55;
}

.workspace-shell .quiz-answer-choice:has(input:not(:disabled):checked) {
  background: rgba(15, 118, 110, 0.06);
  border-color: var(--cll-signal-teal, #0F766E) !important;
  box-shadow: 0 0 0 2px rgba(15, 118, 110, 0.1);
}

.workspace-shell .quiz-answer-choice:has(input:not(:disabled):checked) .quiz-answer-choice__letter {
  color: #FFFFFF;
  background: var(--cll-signal-teal, #0F766E);
  border-color: var(--cll-signal-teal, #0F766E);
}

.workspace-shell .quiz-answer-choice:has(input:focus-visible) {
  outline: 3px solid var(--cll-focus-ring, #0F766E);
  outline-offset: 3px;
}

.workspace-shell .quiz-answer-choice.choice-correct {
  background: #EDF8F1 !important;
  border-color: #79BF95 !important;
}

.workspace-shell .quiz-answer-choice.choice-correct .quiz-answer-choice__letter {
  color: #FFFFFF;
  background: #247A4D;
  border-color: #247A4D;
}

.workspace-shell .quiz-answer-choice.choice-wrong {
  background: #FFF1F0 !important;
  border-color: #D95C59 !important;
}

.workspace-shell .quiz-answer-choice.choice-wrong .quiz-answer-choice__letter {
  color: #FFFFFF;
  background: #A93232;
  border-color: #A93232;
}

.workspace-shell .quiz-primary-actions,
.workspace-shell .quiz-secondary-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  margin-top: 1.15rem;
}

.workspace-shell .quiz-primary-action,
.workspace-shell .quiz-secondary-action,
.workspace-shell .quiz-quit-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0.55rem 0.95rem;
  border-radius: 8px;
  font-family: Inter, system-ui, sans-serif;
  font-size: 0.88rem;
  font-weight: 700;
  line-height: 1.25;
  text-decoration: none;
}

.workspace-shell .quiz-primary-action {
  min-height: 48px;
  padding-inline: 1.2rem;
  color: #FFFFFF;
  background: var(--cll-harbor, #173F6B);
  border: 1px solid var(--cll-harbor, #173F6B);
}

.workspace-shell .quiz-primary-action:hover {
  color: #FFFFFF;
  background: var(--cll-harbor-hover, #123457);
  border-color: var(--cll-harbor-hover, #123457);
}

.workspace-shell .quiz-secondary-action {
  color: var(--cll-signal-teal, #0F766E);
  background: var(--cll-surface, #FFFFFF);
  border: 1px solid var(--cll-signal-teal, #0F766E);
}

.workspace-shell .quiz-secondary-action:hover {
  color: #FFFFFF;
  background: var(--cll-signal-teal-hover, #0C655F);
  border-color: var(--cll-signal-teal-hover, #0C655F);
}

.workspace-shell .quiz-secondary-action--compact {
  min-height: 40px;
  margin-top: 0.75rem;
  padding: 0.45rem 0.75rem;
  font-size: 0.82rem;
}

.workspace-shell .quiz-quit-form {
  margin-top: 0.55rem;
}

.workspace-shell .quiz-quit-action {
  padding-left: 0;
  color: var(--cll-muted, #59677A);
  background: transparent;
  border: 0;
}

.workspace-shell .quiz-quit-action:hover {
  color: var(--cll-ink, #142033);
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

.workspace-shell .quiz-primary-action:focus-visible,
.workspace-shell .quiz-secondary-action:focus-visible,
.workspace-shell .quiz-quit-action:focus-visible {
  outline: 3px solid var(--cll-focus-ring, #0F766E);
  outline-offset: 3px;
}

.workspace-shell .quiz-insights-card {
  color: var(--cll-ink, #142033);
  background: var(--cll-surface, #FFFFFF);
  border: 1px solid var(--cll-border, #D8E0EA);
  border-radius: 10px;
}

.workspace-shell .quiz-insights-card .insight-tabs {
  border-bottom-color: var(--cll-border, #D8E0EA);
}

.workspace-shell .quiz-insights-card .tab-btn {
  min-height: 40px;
  color: var(--cll-muted, #59677A);
}

.workspace-shell .quiz-insights-card .tab-btn:hover {
  color: var(--cll-signal-teal, #0F766E);
  background: rgba(15, 118, 110, 0.05);
}

.workspace-shell .quiz-insights-card .tab-btn.active {
  color: var(--cll-harbor, #173F6B);
  background: rgba(15, 118, 110, 0.08);
}

.workspace-shell .quiz-explanation,
.workspace-shell .quiz-expanded-explanation {
  color: var(--cll-ink, #142033);
  line-height: 1.65;
  white-space: pre-wrap;
}

.workspace-shell .quiz-expanded-explanation {
  margin-top: 0.75rem;
}

.workspace-shell .quiz-visualization {
  height: 340px;
}

@media (max-width: 640px) {
  .workspace-shell:has(.quiz-taking-page) #cl-chat-fab {
    top: 11px;
    right: auto;
    bottom: auto;
    left: calc(50% - 25px);
    justify-content: center;
    width: 50px;
    padding: 0;
  }

  .workspace-shell:has(.quiz-taking-page) #cl-chat-fab .cl-chat-fab-label {
    display: none;
  }

  .workspace-shell .quiz-taking-progress__labels {
    gap: 0.5rem;
    font-size: 0.74rem;
  }

  .workspace-shell .quiz-question-card > .card-body {
    padding: 1.05rem;
  }

  .workspace-shell .quiz-stimulus {
    padding: 0.9rem;
    font-size: 0.9rem;
  }

  .workspace-shell .quiz-answer-choice {
    grid-template-columns: 30px minmax(0, 1fr);
    gap: 0.65rem;
    padding: 0.65rem 0.7rem !important;
  }

  .workspace-shell .quiz-answer-choice__letter {
    width: 30px;
    height: 30px;
  }

  .workspace-shell .quiz-primary-actions,
  .workspace-shell .quiz-secondary-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }

  .workspace-shell .quiz-primary-action,
  .workspace-shell .quiz-secondary-action {
    width: 100%;
  }

  .workspace-shell .quiz-visualization {
    height: 280px;
  }
}

/* Teacher individual writing review: move the existing feedback history into
 * the shared light workspace without changing teacher controls or evidence. */
.workspace-shell .teacher-student-review-page {
  width: min(100%, 1040px);
  min-width: 0;
  margin: 0 auto;
  padding-bottom: 1.5rem;
  color: var(--cll-ink, #142033);
  overflow-wrap: anywhere;
}

.workspace-shell .teacher-student-review-page .card {
  min-width: 0;
  background: var(--cll-surface, #FFFFFF);
  border-color: var(--cll-border, #D8E0EA) !important;
  box-shadow: 0 4px 14px rgba(20, 32, 51, 0.04);
}

.workspace-shell .teacher-student-review-page .teacher-review-navigation,
.workspace-shell .teacher-student-review-page .teacher-submission-header,
.workspace-shell .teacher-student-review-page .teacher-submission-meta,
.workspace-shell .teacher-student-review-page .teacher-submission-summary-main,
.workspace-shell .teacher-student-review-page .teacher-submission-summary-status {
  min-width: 0;
  flex-wrap: wrap;
}

.workspace-shell .teacher-student-review-page .teacher-review-navigation {
  align-items: flex-start;
  gap: 0.75rem;
}

.workspace-shell .teacher-student-review-page .teacher-review-navigation > .d-flex,
.workspace-shell .teacher-student-review-page .teacher-submission-card .d-flex {
  min-width: 0;
  flex-wrap: wrap;
}

.workspace-shell .teacher-student-review-page .teacher-review-navigation > a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: var(--cll-signal-teal, #0F766E);
  font-weight: 700;
}

.workspace-shell .teacher-student-review-page .teacher-submission-disclosure {
  margin-bottom: 1rem;
}

.workspace-shell .teacher-student-review-page .teacher-submission-disclosure > summary {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.5rem 0.75rem;
  flex-wrap: wrap;
  min-height: 44px;
  padding: 0.65rem 0.75rem;
  margin-bottom: 0.75rem;
  color: var(--cll-ink, #142033);
  background: #F6F8FA;
  border: 1px solid var(--cll-border, #D8E0EA);
  border-radius: 0.5rem;
  cursor: pointer;
  list-style: none;
}

.workspace-shell .teacher-student-review-page .teacher-submission-disclosure > summary::-webkit-details-marker {
  display: none;
}

.workspace-shell .teacher-student-review-page .teacher-submission-disclosure > summary::before {
  content: "\25B6";
  flex: 0 0 auto;
  margin-top: 0.2rem;
  font-size: 0.65rem;
  transition: transform 120ms ease;
}

.workspace-shell .teacher-student-review-page .teacher-submission-disclosure[open] > summary::before {
  transform: rotate(90deg);
}

.workspace-shell .teacher-student-review-page .teacher-submission-summary-main {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex: 1 1 14rem;
}

.workspace-shell .teacher-student-review-page .teacher-submission-summary-status {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-left: auto;
  text-align: right;
}

.workspace-shell .teacher-student-review-page .teacher-submission-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
}

.workspace-shell .teacher-student-review-page .teacher-submission-header > :first-child {
  min-width: 0;
  flex: 1 1 16rem;
}

.workspace-shell .teacher-student-review-page .teacher-submission-meta {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.5rem;
}

.workspace-shell .teacher-student-review-page .text-muted,
.workspace-shell .teacher-student-review-page [style*="color: rgba(255"],
.workspace-shell .teacher-student-review-page [style*="color:rgba(255"] {
  color: var(--cll-muted, #59677A) !important;
}

/* Preserve the existing status semantics while giving legacy inline colors
 * sufficient contrast on the workspace's white cards. */
.workspace-shell .teacher-student-review-page [style*="color: rgba(34"],
.workspace-shell .teacher-student-review-page [style*="color:rgba(34"] {
  color: #0B5D43 !important;
}

.workspace-shell .teacher-student-review-page [style*="color: rgba(251"],
.workspace-shell .teacher-student-review-page [style*="color:rgba(251"] {
  color: #744B00 !important;
}

.workspace-shell .teacher-student-review-page [style*="color: rgba(99"],
.workspace-shell .teacher-student-review-page [style*="color:rgba(99"],
.workspace-shell .teacher-student-review-page [style*="color: rgba(129"],
.workspace-shell .teacher-student-review-page [style*="color:rgba(129"] {
  color: #354A92 !important;
}

.workspace-shell .teacher-student-review-page [style*="color: rgba(239"],
.workspace-shell .teacher-student-review-page [style*="color:rgba(239"] {
  color: #A12A32 !important;
}

.workspace-shell .teacher-student-review-page [style*="color: rgba(155"],
.workspace-shell .teacher-student-review-page [style*="color:rgba(155"] {
  color: #6430A3 !important;
}

.workspace-shell .teacher-student-review-page .panel-info,
.workspace-shell .teacher-student-review-page .panel-accent,
.workspace-shell .teacher-student-review-page .panel-warn,
.workspace-shell .teacher-student-review-page [style*="background: rgba(255"] {
  background: #F6F8FA !important;
  border-color: var(--cll-border, #D8E0EA) !important;
}

.workspace-shell .teacher-student-review-page .form-control {
  color: var(--cll-ink, #142033);
  background: #FFFFFF;
  border-color: #B9C6D4;
}

.workspace-shell .teacher-student-review-page .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  font-weight: 700;
}

.workspace-shell .teacher-student-review-page .btn-outline-secondary {
  color: #38516A;
  background: #FFFFFF;
  border-color: #738396;
}

.workspace-shell .teacher-student-review-page .btn-outline-primary,
.workspace-shell .teacher-student-review-page .btn-outline-light {
  color: var(--cll-signal-teal, #0F766E) !important;
  background: #FFFFFF;
  border-color: var(--cll-signal-teal, #0F766E);
}

.workspace-shell .teacher-student-review-page :is(a, button, input, textarea, summary):focus-visible {
  outline: 3px solid var(--cll-focus-ring, #0F766E);
  outline-offset: 3px;
  box-shadow: none;
}

@media (max-width: 575.98px) {
  .workspace-shell .teacher-student-review-page .teacher-submission-summary-status {
    flex-basis: 100%;
    margin-left: 0;
    text-align: left;
  }

  .workspace-shell .teacher-student-review-page .teacher-submission-meta {
    justify-content: flex-start;
    width: 100%;
  }
}

/* Teacher essay assignment detail: presentation-only migration of the
 * existing teacher controls, advisory evaluation, and process records into
 * the shared light workspace shell. */
.workspace-shell .teacher-essay-assignment-detail-page {
  width: min(100%, 1160px);
  min-width: 0;
  margin: 0 auto;
  padding-bottom: 1.5rem;
  color: var(--cll-ink, #142033);
}

.workspace-shell .teacher-essay-assignment-detail-header,
.workspace-shell .teacher-essay-assignment-detail-lifecycle {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
}

.workspace-shell .teacher-essay-assignment-detail-header {
  margin-bottom: 1rem;
}

.workspace-shell .teacher-essay-assignment-detail-back {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: var(--cll-signal-teal, #0F766E) !important;
  font-weight: 700;
}

.workspace-shell .teacher-essay-assignment-detail-back:hover {
  color: var(--cll-signal-teal-hover, #0C655F) !important;
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

.workspace-shell .teacher-essay-assignment-detail-card {
  color: var(--cll-ink, #142033);
  background: var(--cll-surface, #FFFFFF) !important;
  border: 1px solid var(--cll-border, #D8E0EA) !important;
  border-radius: 14px;
  box-shadow: 0 4px 18px rgba(23, 63, 107, 0.06);
}

.workspace-shell .teacher-essay-assignment-detail-card > .card-body {
  padding: clamp(1rem, 2.5vw, 1.4rem);
}

.workspace-shell .teacher-essay-assignment-detail-page .btn,
.workspace-shell .teacher-essay-assignment-detail-page .form-select,
.workspace-shell .teacher-essay-assignment-detail-page .form-control,
.workspace-shell .teacher-essay-assignment-detail-page .dropdown-item,
.workspace-shell .teacher-essay-assignment-detail-page summary {
  min-height: 44px;
}

.workspace-shell .teacher-essay-assignment-detail-page .btn,
.workspace-shell .teacher-essay-assignment-detail-page .dropdown-item {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
}

.workspace-shell .teacher-essay-assignment-detail-page .btn-outline-light {
  color: var(--cll-signal-teal, #0F766E) !important;
  background: #FFFFFF;
  border-color: var(--cll-signal-teal, #0F766E);
}

.workspace-shell .teacher-essay-assignment-detail-page .btn-outline-light:hover {
  color: #FFFFFF !important;
  background: var(--cll-signal-teal, #0F766E);
  border-color: var(--cll-signal-teal, #0F766E);
}

.workspace-shell .teacher-essay-assignment-detail-page .btn-outline-secondary {
  color: #38516A;
  background: #FFFFFF;
  border-color: #738396;
}

.workspace-shell .teacher-essay-assignment-detail-page .btn-outline-secondary:hover {
  color: #FFFFFF;
  background: #38516A;
  border-color: #38516A;
}

.workspace-shell .teacher-essay-assignment-detail-page .btn-outline-warning {
  color: #744B00;
  background: #FFFFFF;
  border-color: #B77A00;
}

.workspace-shell .teacher-essay-assignment-detail-page .btn-outline-success {
  color: #0B5D43;
  background: #FFFFFF;
  border-color: #198754;
}

.workspace-shell .teacher-essay-assignment-detail-page .btn-outline-danger {
  color: #A12A32;
  background: #FFFFFF;
  border-color: #A12A32;
}

.workspace-shell .teacher-essay-assignment-detail-page .dropdown-menu {
  background: #FFFFFF;
  border-color: var(--cll-border, #D8E0EA);
  box-shadow: 0 10px 24px rgba(20, 32, 51, 0.12);
}

.workspace-shell .teacher-essay-assignment-detail-page .dropdown-item {
  justify-content: flex-start;
  color: #24394F;
}

.workspace-shell .teacher-essay-assignment-detail-page .dropdown-item:hover,
.workspace-shell .teacher-essay-assignment-detail-page .dropdown-item:focus {
  color: #0C655F;
  background: #EAF6F4;
}

/* The pre-existing inline values were authored for a dark canvas. Keep the
 * same information and statuses, with readable values on the light surface. */
.workspace-shell .teacher-essay-assignment-detail-page [style*="color:rgba(255,255,255"],
.workspace-shell .teacher-essay-assignment-detail-page [style*="color: rgba(255,255,255"] {
  color: var(--cll-muted, #59677A) !important;
}

.workspace-shell .teacher-essay-assignment-detail-page [style*="color:rgba(160,190,245"],
.workspace-shell .teacher-essay-assignment-detail-page [style*="color: rgba(160,190,245"],
.workspace-shell .teacher-essay-assignment-detail-page [style*="color:rgba(99,102,241"],
.workspace-shell .teacher-essay-assignment-detail-page [style*="color: rgba(99,102,241"] {
  color: var(--cll-signal-teal, #0F766E) !important;
}

.workspace-shell .teacher-essay-assignment-detail-page [style*="color:rgba(251,191,36"],
.workspace-shell .teacher-essay-assignment-detail-page [style*="color: rgba(251,191,36"] {
  color: #744B00 !important;
}

.workspace-shell .teacher-essay-assignment-detail-page [style*="color:rgba(239,68,68"],
.workspace-shell .teacher-essay-assignment-detail-page [style*="color: rgba(239,68,68"] {
  color: #A12A32 !important;
}

.workspace-shell .teacher-essay-assignment-detail-page [style*="color:rgba(134,239,172"],
.workspace-shell .teacher-essay-assignment-detail-page [style*="color: rgba(34,197,94"],
.workspace-shell .teacher-essay-assignment-detail-page [style*="color: rgba(46,204,113"] {
  color: #0B5D43 !important;
}

.workspace-shell .teacher-essay-assignment-detail-page [style*="color: rgba(241,196,15"] {
  color: #744B00 !important;
}

.workspace-shell .teacher-essay-assignment-detail-page [style*="color: rgba(155,89,182"] {
  color: #6430A3 !important;
}

.workspace-shell .teacher-essay-assignment-detail-page [style*="background:rgba(255,255,255"],
.workspace-shell .teacher-essay-assignment-detail-page [style*="background: rgba(255,255,255"] {
  background-color: #F3F6F9 !important;
}

.workspace-shell .teacher-essay-assignment-detail-page .text-success {
  color: #0B5D43 !important;
}

.workspace-shell .teacher-essay-assignment-detail-page .text-warning {
  color: #744B00 !important;
}

.workspace-shell .teacher-essay-assignment-detail-page .text-danger {
  color: #A12A32 !important;
}

.workspace-shell .teacher-essay-assignment-detail-page .badge.bg-danger.bg-opacity-75 {
  opacity: 1 !important;
  background-color: #A12A32 !important;
  color: #FFFFFF !important;
}

.workspace-shell .teacher-essay-assignment-detail-alert {
  color: #5E4300;
  background: #FFF7DF;
  border-color: #E5C36A;
}

.workspace-shell .teacher-essay-assignment-detail-agreement details {
  border-top: 1px solid var(--cll-border, #D8E0EA);
}

.workspace-shell .teacher-essay-assignment-detail-agreement summary {
  display: flex;
  align-items: center;
  color: var(--cll-harbor, #173F6B) !important;
  font-weight: 700;
}

.workspace-shell .teacher-essay-assignment-detail-insights > div {
  background: #FFF7DF !important;
  border-color: #E5C36A !important;
}

.workspace-shell .teacher-essay-assignment-detail-heatmap .advisory-heatmap {
  --bs-table-bg: transparent;
  --bs-table-color: #24394F;
  --bs-table-border-color: #DCE4EC;
}

.workspace-shell .teacher-essay-assignment-detail-heatmap .advisory-heatmap > :not(caption) > * > * {
  color: #24394F;
}

.workspace-shell .teacher-essay-assignment-detail-table-wrap {
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
}

.workspace-shell .teacher-essay-assignment-detail-results .teacher-essay-assignment-detail-table-wrap,
.workspace-shell .teacher-essay-assignment-detail-breakdown .teacher-essay-assignment-detail-table-wrap {
  max-width: 100%;
}

.workspace-shell .teacher-essay-assignment-detail-page .table {
  --bs-table-bg: transparent;
  --bs-table-color: #24394F;
  --bs-table-border-color: #DCE4EC;
  min-width: 46rem;
}

.workspace-shell .teacher-essay-assignment-detail-heatmap .table {
  min-width: 34rem;
}

.workspace-shell .teacher-essay-assignment-detail-page .table thead th {
  color: #38516A;
  font-size: 0.75rem;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.workspace-shell .teacher-essay-assignment-detail-page .table td,
.workspace-shell .teacher-essay-assignment-detail-page .table th {
  padding: 0.75rem;
}

.workspace-shell .teacher-essay-assignment-detail-page :is(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid var(--cll-focus-ring, #0F766E);
  outline-offset: 3px;
  box-shadow: none;
}

.workspace-shell .teacher-essay-assignment-detail-lifecycle {
  margin-bottom: 1rem;
}

.workspace-shell .teacher-essay-assignment-detail-lifecycle .input-group {
  align-items: stretch;
}

@media (prefers-reduced-motion: reduce) {
  .workspace-shell .teacher-essay-assignment-detail-page *,
  .workspace-shell .teacher-essay-assignment-detail-page *::before,
  .workspace-shell .teacher-essay-assignment-detail-page *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}

@media (max-width: 768px) {
  .workspace-shell .teacher-essay-assignment-detail-card > .card-body {
    padding: 1rem;
  }

  .workspace-shell .teacher-essay-assignment-detail-summary .card-body > div,
  .workspace-shell .teacher-essay-assignment-detail-agreement .card-body > div,
  .workspace-shell .teacher-essay-assignment-detail-lifecycle {
    align-items: flex-start;
    flex-direction: column;
  }

  .workspace-shell .teacher-essay-assignment-detail-actions,
  .workspace-shell .teacher-essay-assignment-detail-actions .btn,
  .workspace-shell .teacher-essay-assignment-detail-lifecycle .input-group {
    width: 100%;
  }

  .workspace-shell .teacher-essay-assignment-detail-writing-overview .btn-group {
    flex-wrap: wrap;
  }
}

@media (max-width: 480px) {
  .workspace-shell .teacher-essay-assignment-detail-page .btn,
  .workspace-shell .teacher-essay-assignment-detail-page .form-select,
  .workspace-shell .teacher-essay-assignment-detail-lifecycle .input-group {
    width: 100%;
  }

  .workspace-shell .teacher-essay-assignment-detail-page .table td,
  .workspace-shell .teacher-essay-assignment-detail-page .table th {
    padding: 0.65rem;
  }
}

/* Package 10: teacher Class settings workspace. Roster evidence, join-code
   behavior, class policies, membership actions, and archive behavior are
   unchanged. */
.workspace-shell .manage-class-page {
  width: 100%;
  max-width: 980px;
  margin: 0 auto;
  color: var(--cll-ink, #142033);
}

.workspace-shell .manage-class-utility {
  width: min(980px, 100%);
  margin-right: auto;
  margin-left: auto;
  padding: 0.75rem 1rem;
  color: var(--cll-muted, #59677A) !important;
  background: var(--cll-surface, #FFFFFF);
  border: 1px solid var(--cll-border, #D8E0EA);
  border-radius: 10px;
}

.workspace-shell .manage-class-utility > div {
  color: var(--cll-muted, #59677A) !important;
}

.workspace-shell .manage-class-utility .btn,
.workspace-shell .manage-add-students {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}

.workspace-shell .manage-class-utility .btn-outline-light {
  color: var(--cll-harbor, #173F6B) !important;
  background: rgba(15, 118, 110, 0.08) !important;
  border-color: rgba(23, 63, 107, 0.46) !important;
  font-weight: 600;
}

.workspace-shell .manage-class-utility span {
  color: var(--cll-muted, #59677A) !important;
}

.workspace-shell .manage-class-card {
  overflow: hidden;
  color: var(--cll-ink, #142033);
  background: var(--cll-surface, #FFFFFF) !important;
  border-color: var(--cll-border, #D8E0EA) !important;
  box-shadow: 0 1px 2px rgba(20, 32, 51, 0.04);
}

.workspace-shell .manage-class-card .page-section-label {
  color: var(--cll-harbor, #173F6B) !important;
}

.workspace-shell .manage-class-page .roster-table th {
  color: var(--cll-muted, #59677A) !important;
  background: var(--cll-canvas, #F6F8FB) !important;
  border-bottom-color: var(--cll-border, #D8E0EA) !important;
}

.workspace-shell .manage-class-page .roster-table td {
  color: var(--cll-ink, #142033) !important;
  border-bottom-color: var(--cll-border, #D8E0EA) !important;
}

.workspace-shell .manage-class-page .roster-table tr:hover td {
  background: var(--cll-canvas, #F6F8FB) !important;
}

.workspace-shell .manage-class-page .roster-name-link,
.workspace-shell .manage-class-page .btn-view-profile {
  color: var(--cll-signal-teal, #0F766E) !important;
}

.workspace-shell .manage-class-page .roster-username,
.workspace-shell .manage-class-page .roster-empty-state {
  color: var(--cll-muted, #59677A) !important;
}

.workspace-shell .manage-class-page .roster-status,
.workspace-shell .manage-class-page .roster-metric {
  color: var(--cll-muted, #59677A) !important;
}

.workspace-shell .manage-class-page .roster-status-active {
  color: var(--cll-signal-teal, #0F766E) !important;
}

.workspace-shell .manage-class-page .roster-status-inactive {
  color: var(--cll-warm-accent-text, #7A4800) !important;
}

.workspace-shell .manage-class-page .btn-view-profile,
.workspace-shell .manage-class-page .btn-remove {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.45rem 0.7rem;
  font-weight: 600;
}

.workspace-shell .manage-class-page .btn-view-profile {
  background: rgba(15, 118, 110, 0.08);
  border-color: rgba(15, 118, 110, 0.48);
}

.workspace-shell .manage-class-page .btn-remove {
  color: #8A2F27;
  background: rgba(138, 47, 39, 0.07);
  border-color: rgba(138, 47, 39, 0.48);
}

.workspace-shell .manage-class-page .manage-roster-more {
  text-align: left;
}

.workspace-shell .manage-class-page .manage-roster-more > summary {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.45rem 0.7rem;
  color: var(--cll-harbor, #173F6B);
  background: rgba(23, 63, 107, 0.08);
  border: 1px solid rgba(23, 63, 107, 0.38);
  border-radius: 4px;
  cursor: pointer;
  font-size: 0.68rem;
  font-weight: 600;
  list-style: none;
  white-space: nowrap;
}

.workspace-shell .manage-class-page .manage-roster-more > summary::-webkit-details-marker {
  display: none;
}

.workspace-shell .manage-class-page .manage-roster-more > summary::after {
  content: "▾";
  margin-left: 0.35rem;
}

.workspace-shell .manage-class-page .manage-roster-more[open] > summary::after {
  content: "▴";
}

.workspace-shell .manage-class-page .manage-roster-more-panel {
  width: 210px;
  margin-top: 0.35rem;
  padding: 0.75rem;
  text-align: left;
  background: var(--cll-surface, #FFFFFF);
  border: 1px solid var(--cll-border, #D8E0EA);
  border-radius: 8px;
  box-shadow: 0 8px 24px rgba(20, 32, 51, 0.14);
}

.workspace-shell .manage-class-page .manage-roster-more-panel .btn-remove {
  width: 100%;
}

.workspace-shell .manage-class-page .manage-roster-actions {
  align-items: flex-start !important;
}

.workspace-shell .manage-class-page .manage-roster-remove-note {
  margin-top: 0.5rem;
  color: var(--cll-muted, #59677A);
  font-size: 0.7rem;
  line-height: 1.35;
}

.workspace-shell .manage-class-page .form-label,
.workspace-shell .manage-class-page .form-check-label,
.workspace-shell .manage-archive-card .card-body > div > div > div:last-child {
  color: var(--cll-ink, #142033) !important;
}

.workspace-shell .manage-class-page .manage-hint-policy,
.workspace-shell .manage-add-modal .form-control {
  min-height: 44px;
  color: var(--cll-ink, #142033) !important;
  background: var(--cll-surface, #FFFFFF) !important;
  border-color: var(--cll-border, #D8E0EA) !important;
}

.workspace-shell .manage-class-page .manage-hint-policy {
  font-size: 0.8rem;
}

.workspace-shell .manage-class-page .manage-hint-policy option {
  color: var(--cll-ink, #142033);
  background: var(--cll-surface, #FFFFFF);
}

.workspace-shell .manage-class-page .manage-hint-policy:focus-visible {
  outline: 3px solid var(--cll-focus-ring, #0F766E);
  outline-offset: 3px;
  box-shadow: none;
}

.workspace-shell .manage-class-page .form-check-input {
  width: 1.25rem;
  height: 1.25rem;
}

.workspace-shell .manage-class-page button[type="submit"],
.workspace-shell .manage-add-modal .btn {
  min-height: 44px;
}

.workspace-shell .manage-archive-card {
  background: #FBFCFE !important;
}

.workspace-shell .manage-archive-card .btn-outline-secondary {
  color: #8A2F27 !important;
  background: var(--cll-surface, #FFFFFF) !important;
  border-color: rgba(138, 47, 39, 0.32) !important;
  border-radius: 8px !important;
}

.workspace-shell .manage-archive-card .btn-outline-secondary:hover {
  color: #FFFFFF !important;
  background: #8A2F27 !important;
  border-color: #8A2F27 !important;
}

.workspace-shell .manage-add-modal .modal-content {
  color: var(--cll-ink, #142033);
  background: var(--cll-surface, #FFFFFF) !important;
  border-color: var(--cll-border, #D8E0EA) !important;
}

.workspace-shell .manage-add-modal p,
.workspace-shell .manage-add-modal label,
.workspace-shell .manage-add-modal .modal-body > div:last-child > div,
.workspace-shell .manage-add-modal .modal-body > div:last-child span {
  color: var(--cll-muted, #59677A) !important;
}

.workspace-shell .manage-add-modal .btn-close {
  filter: none;
}

.workspace-shell .manage-add-modal .manage-join-code {
  color: var(--cll-harbor, #173F6B) !important;
  background: rgba(23, 63, 107, 0.06);
  border-color: rgba(23, 63, 107, 0.2);
}

.workspace-shell .manage-archive-modal .modal-content {
  color: var(--cll-ink, #142033);
  background: var(--cll-surface, #FFFFFF) !important;
  border: 1px solid var(--cll-border, #D8E0EA);
  border-radius: 12px;
  box-shadow: 0 12px 32px rgba(20, 32, 51, 0.18);
}

.workspace-shell .manage-archive-modal .modal-title {
  color: var(--cll-harbor, #173F6B);
  font-weight: 750;
}

.workspace-shell .manage-archive-modal .modal-body {
  color: var(--cll-muted, #59677A);
  line-height: 1.55;
}

.workspace-shell .manage-archive-modal .modal-body strong {
  color: var(--cll-ink, #142033);
}

.workspace-shell .manage-archive-modal .btn {
  min-height: 44px;
  font-weight: 700;
}

.workspace-shell .manage-archive-modal .btn-outline-secondary {
  color: #38516A;
  background: var(--cll-surface, #FFFFFF);
  border-color: #738396;
}

.workspace-shell .manage-archive-modal .btn-danger {
  color: #FFFFFF;
  background: #8A2F27;
  border-color: #8A2F27;
}

.workspace-shell .manage-archive-modal .btn-danger:hover {
  background: #6F241E;
  border-color: #6F241E;
}

.workspace-shell .manage-class-page a:focus-visible,
.workspace-shell .manage-class-page button:focus-visible,
.workspace-shell .manage-class-page select:focus-visible,
.workspace-shell .manage-class-page input:focus-visible,
.workspace-shell .manage-class-utility a:focus-visible,
.workspace-shell .manage-class-utility button:focus-visible,
.workspace-shell .manage-add-modal button:focus-visible,
.workspace-shell .manage-add-modal input:focus-visible {
  outline: 3px solid var(--cll-focus-ring, #0F766E);
  outline-offset: 3px;
}

@media (max-width: 640px) {
  .workspace-shell .manage-class-utility {
    align-items: stretch !important;
  }

  .workspace-shell .manage-class-utility > a,
  .workspace-shell .manage-class-utility > div {
    width: 100%;
  }

  .workspace-shell .manage-class-utility > div {
    align-items: flex-start !important;
    flex-direction: column;
    gap: 0.5rem !important;
  }

  .workspace-shell .manage-class-page .roster-table,
  .workspace-shell .manage-class-page .roster-table tbody,
  .workspace-shell .manage-class-page .roster-table tr,
  .workspace-shell .manage-class-page .roster-table td {
    display: block;
    width: 100%;
  }

  .workspace-shell .manage-class-page .roster-table thead {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
  }

  .workspace-shell .manage-class-page .roster-table tr {
    padding: 0.75rem;
    border-bottom: 1px solid var(--cll-border, #D8E0EA);
  }

  .workspace-shell .manage-class-page .roster-table td {
    display: grid;
    grid-template-columns: minmax(6.75rem, 0.42fr) minmax(0, 1fr);
    gap: 0.75rem;
    padding: 0.4rem 0;
    text-align: left !important;
    border: 0;
  }

  .workspace-shell .manage-class-page .roster-table td::before {
    content: attr(data-label);
    color: var(--cll-muted, #59677A);
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
  }

  .workspace-shell .manage-class-page .manage-roster-actions {
    justify-content: flex-start !important;
    flex-wrap: wrap;
  }

  .workspace-shell .manage-class-page .manage-roster-more-panel {
    width: min(210px, calc(100vw - 170px));
    margin-left: -24px;
  }

  .workspace-shell .manage-class-page .roster-metric {
    white-space: normal;
  }

  .workspace-shell .manage-archive-card .card-body > div {
    align-items: flex-start !important;
    flex-direction: column;
    gap: 1rem;
  }

  .workspace-shell .manage-archive-card .text-end {
    width: 100%;
    margin-left: 0 !important;
    text-align: left !important;
  }
}

/* Package 9: teacher Evidence & review workspace. Evidence qualification,
   wording, and teacher-judgment boundaries remain unchanged. */
.workspace-shell .attn-page {
  width: 100%;
  max-width: 980px;
  margin: 0 auto;
  color: var(--cll-ink, #142033);
}

.workspace-shell .attn-page .zone-card {
  padding: 1.2rem;
  background: var(--cll-surface, #FFFFFF) !important;
  border-color: var(--cll-border, #D8E0EA) !important;
}

.workspace-shell .attn-page .attn-section-title {
  color: var(--cll-harbor, #173F6B);
}

.workspace-shell .attn-page .attn-primary .attn-section-title,
.workspace-shell .attn-page .attn-tertiary .attn-section-title {
  color: var(--cll-harbor, #173F6B);
}

.workspace-shell .attn-page .attn-filters {
  padding: 0.75rem;
  background: var(--cll-surface, #FFFFFF);
  border: 1px solid var(--cll-border, #D8E0EA);
  border-radius: 10px;
}

.workspace-shell .attn-page .attn-filter-label {
  color: var(--cll-muted, #59677A);
}

.workspace-shell .attn-page .attn-filter-btn {
  min-height: 44px;
  color: var(--cll-muted, #59677A);
  background: var(--cll-surface, #FFFFFF);
  border-color: var(--cll-border, #D8E0EA);
}

.workspace-shell .attn-page .attn-filter-btn:hover {
  color: var(--cll-harbor, #173F6B);
  background: var(--cll-canvas, #F6F8FB);
  border-color: rgba(23, 63, 107, 0.35);
}

.workspace-shell .attn-page .attn-filter-btn.active {
  color: #FFFFFF;
  background: var(--cll-harbor, #173F6B);
  border-color: var(--cll-harbor, #173F6B);
}

.workspace-shell .attn-page .attn-row {
  min-height: 52px;
  border-bottom-color: var(--cll-border, #D8E0EA);
}

.workspace-shell .attn-page .attn-row:hover {
  background: var(--cll-canvas, #F6F8FB);
}

.workspace-shell .attn-page .attn-row-name,
.workspace-shell .attn-page .attn-cohort-title,
.workspace-shell .attn-page .attn-class-text {
  color: var(--cll-ink, #142033);
}

.workspace-shell .attn-page .attn-row-name {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: var(--cll-signal-teal, #0F766E);
}

.workspace-shell .attn-page .attn-row-class,
.workspace-shell .attn-page .attn-cohort-meta,
.workspace-shell .attn-page .attn-cohort-why,
.workspace-shell .attn-page .attn-class-detail,
.workspace-shell .attn-page .attn-empty,
.workspace-shell .attn-page .attn-empty-sub {
  color: var(--cll-muted, #59677A);
}

.workspace-shell .attn-page .attn-reason-chip {
  color: var(--cll-warm-accent-text, #7A4800);
  background: rgba(197, 122, 18, 0.08);
  border-color: rgba(197, 122, 18, 0.26);
}

.workspace-shell .attn-page .attn-reason-chip-inactive {
  color: var(--cll-harbor, #173F6B);
  background: rgba(23, 63, 107, 0.07);
  border-color: rgba(23, 63, 107, 0.22);
}

.workspace-shell .attn-page .attn-reason-chip-accuracy {
  color: #8A2F27;
  background: rgba(180, 35, 24, 0.06);
  border-color: rgba(180, 35, 24, 0.2);
}

.workspace-shell .attn-page .attn-reason-chip-writing {
  color: #68408A;
  background: rgba(104, 64, 138, 0.07);
  border-color: rgba(104, 64, 138, 0.2);
}

.workspace-shell .attn-page .attn-priority-label {
  color: var(--cll-muted, #59677A);
}

.workspace-shell .attn-page .attn-priority-label-support {
  color: #8A2F27;
}

.workspace-shell .attn-page .attn-cohort,
.workspace-shell .attn-page .attn-class-item {
  border-bottom-color: var(--cll-border, #D8E0EA);
}

.workspace-shell .attn-page .attn-cohort-move,
.workspace-shell .attn-page .attn-class-move {
  color: var(--cll-harbor, #173F6B);
}

.workspace-shell .attn-page .attn-positive .attn-section-title,
.workspace-shell .attn-page .attn-growth-name,
.workspace-shell .attn-page .attn-growth-note {
  color: var(--cll-signal-teal, #0F766E) !important;
}

.workspace-shell .attn-page > div:last-of-type a.text-decoration-none {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: var(--cll-signal-teal, #0F766E) !important;
  font-weight: 700;
}

.workspace-shell .attn-page a:focus-visible,
.workspace-shell .attn-page button:focus-visible {
  outline: 3px solid var(--cll-focus-ring, #0F766E);
  outline-offset: 3px;
}

@media (max-width: 640px) {
  .workspace-shell .attn-page .attn-row {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.25rem;
  }

  .workspace-shell .attn-page .attn-row-reasons {
    width: 100%;
    margin-left: 0;
  }

  .workspace-shell .attn-page .attn-reason-chip {
    max-width: 100%;
    white-space: normal;
  }

  .workspace-shell .attn-page .attn-filters {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }

  .workspace-shell .attn-page .attn-filter-btn {
    width: 100%;
  }
}

/* Package 7: teacher Assignments workspace. The route remains behaviorally
   unchanged; these overrides only reconcile its legacy inline presentation
   with the approved light workspace system. */
.workspace-shell .asgn-page {
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
  color: var(--cll-ink, #142033);
}

.workspace-shell .asgn-page .asgn-card {
  color: var(--cll-ink, #142033);
  background: var(--cll-surface, #FFFFFF);
  border: 1px solid var(--cll-border, #D8E0EA);
  border-radius: 14px;
  box-shadow: 0 8px 24px rgba(20, 32, 51, 0.06);
}

.workspace-shell .asgn-page .asgn-card-title,
.workspace-shell .asgn-page .asgn-row-title {
  color: var(--cll-ink, #142033);
}

.workspace-shell .asgn-page .asgn-create-card {
  padding: 1.35rem;
}

.workspace-shell .asgn-page .asgn-create-title {
  margin: 0;
  color: var(--cll-ink, #142033);
  font-size: 1.35rem;
  font-weight: 650;
  letter-spacing: -0.01em;
  text-transform: none;
}

.workspace-shell .asgn-page .asgn-create-intro {
  color: var(--cll-muted, #59677A);
}

.workspace-shell .asgn-page .asgn-create-path {
  border-color: var(--cll-border, #D8E0EA);
  background: var(--cll-canvas, #F6F8FB);
}

.workspace-shell .asgn-page .asgn-create-path--practice {
  border-color: rgba(15, 118, 110, 0.36);
}

.workspace-shell .asgn-page .asgn-create-path--writing {
  border-color: rgba(23, 63, 107, 0.34);
}

.workspace-shell .asgn-page .asgn-create-path-label {
  color: var(--cll-ink, #142033);
}

.workspace-shell .asgn-page .asgn-create-path p,
.workspace-shell .asgn-page .asgn-create-form-heading p {
  color: var(--cll-muted, #59677A);
}

.workspace-shell .asgn-page .asgn-create-action {
  color: var(--cll-harbor, #173F6B);
  background: var(--cll-surface, #FFFFFF);
  border-color: var(--cll-border, #D8E0EA);
}

.workspace-shell .asgn-page .asgn-create-path--practice .asgn-create-action {
  color: #FFFFFF;
  background: var(--cll-signal-teal, #0F766E);
  border-color: var(--cll-signal-teal, #0F766E);
}

.workspace-shell .asgn-page .asgn-create-path--writing .asgn-create-action {
  color: #FFFFFF;
  background: var(--cll-harbor, #173F6B);
  border-color: var(--cll-harbor, #173F6B);
}

.workspace-shell .asgn-page .asgn-create-action:hover {
  color: #FFFFFF;
  filter: brightness(0.94);
  background: var(--cll-signal-teal-hover, #0C655F);
  border-color: var(--cll-signal-teal-hover, #0C655F);
}

.workspace-shell .asgn-page .asgn-create-path--writing .asgn-create-action:hover {
  background: #123457;
  border-color: #123457;
}

.workspace-shell .asgn-page .asgn-create-form-panel {
  border-top-color: var(--cll-border, #D8E0EA);
}

.workspace-shell .asgn-page .asgn-create-form-heading h3 {
  color: var(--cll-ink, #142033);
}

.workspace-shell .asgn-page .asgn-create-close {
  color: var(--cll-harbor, #173F6B);
}

.workspace-shell .asgn-page .asgn-create-close:hover {
  color: var(--cll-signal-teal, #0F766E);
}

.workspace-shell .asgn-page .asgn-create-class-menu .dropdown-header {
  color: var(--cll-muted, #59677A);
}

.workspace-shell .asgn-page .asgn-row {
  background: var(--cll-surface, #FFFFFF);
  border-color: var(--cll-border, #D8E0EA);
}

.workspace-shell .asgn-page .asgn-row:hover {
  background: var(--cll-canvas, #F6F8FB);
  border-color: rgba(15, 118, 110, 0.42);
}

.workspace-shell .asgn-page .asgn-row-meta,
.workspace-shell .asgn-page .asgn-progress,
.workspace-shell .asgn-page .asgn-due-normal,
.workspace-shell .asgn-page .asgn-empty,
.workspace-shell .asgn-page .asgn-empty-sub,
.workspace-shell .asgn-page .asgn-form-hint {
  color: var(--cll-muted, #59677A);
}

.workspace-shell .asgn-page .asgn-type-badge {
  color: var(--cll-signal-teal, #0F766E);
  background: rgba(15, 118, 110, 0.08);
  border-color: rgba(15, 118, 110, 0.25);
}

.workspace-shell .asgn-page .asgn-form-input,
.workspace-shell .asgn-page .asgn-filter-select,
.workspace-shell .asgn-page .asgn-scope-trigger,
.workspace-shell .asgn-page .asgn-due-input {
  min-height: 44px;
  color: var(--cll-ink, #142033);
  background-color: var(--cll-surface, #FFFFFF);
  border-color: var(--cll-border, #D8E0EA);
}

.workspace-shell .asgn-page .asgn-scope-trigger::after {
  color: var(--cll-muted, #59677A);
}

.workspace-shell .asgn-page .asgn-topic-popover {
  color: var(--cll-ink, #142033);
  background: var(--cll-surface, #FFFFFF);
  border-color: var(--cll-border, #D8E0EA);
  box-shadow: 0 12px 28px rgba(20, 32, 51, 0.14);
}

.workspace-shell .asgn-page .asgn-topic-check {
  color: var(--cll-muted, #59677A);
}

.workspace-shell .asgn-page .asgn-submit-btn {
  min-height: 44px;
  color: #FFFFFF;
  background: var(--cll-signal-teal, #0F766E);
  border-color: var(--cll-signal-teal, #0F766E);
}

.workspace-shell .asgn-page .asgn-essay-link,
.workspace-shell .asgn-page .asgn-action-link,
.workspace-shell .asgn-page .asgn-mark-reviewed,
.workspace-shell .asgn-page .asgn-unmark-reviewed,
.workspace-shell .asgn-page .asgn-due-edit-btn,
.workspace-shell .asgn-page .asgn-due-save,
.workspace-shell .asgn-page .asgn-due-cancel,
.workspace-shell .asgn-page .asgn-review-tab {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.workspace-shell .asgn-page .asgn-essay-link,
.workspace-shell .asgn-page .asgn-action-edit,
.workspace-shell .asgn-page .asgn-action-detail {
  color: var(--cll-harbor, #173F6B);
  background: rgba(15, 118, 110, 0.08);
  border-color: rgba(23, 63, 107, 0.46);
  font-weight: 600;
}

.workspace-shell .asgn-page .asgn-review-tab {
  color: var(--cll-muted, #59677A);
  background: var(--cll-canvas, #F6F8FB);
  border-color: var(--cll-border, #D8E0EA);
}

.workspace-shell .asgn-page .asgn-review-tab.active {
  color: #FFFFFF;
  background: var(--cll-harbor, #173F6B);
  border-color: var(--cll-harbor, #173F6B);
}

.workspace-shell .asgn-page a.text-decoration-none {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
}

.workspace-shell .asgn-page .asgn-mark-reviewed {
  color: var(--cll-signal-teal, #0F766E);
  background: rgba(15, 118, 110, 0.08);
  border-color: rgba(15, 118, 110, 0.48);
  font-weight: 600;
}

.workspace-shell .asgn-page .asgn-unmark-reviewed {
  color: var(--cll-muted, #59677A);
  border-color: var(--cll-border, #D8E0EA);
}

.workspace-shell .asgn-page a:focus-visible,
.workspace-shell .asgn-page button:focus-visible,
.workspace-shell .asgn-page input:focus-visible,
.workspace-shell .asgn-page select:focus-visible {
  outline: 3px solid var(--cll-focus-ring, #0F766E);
  outline-offset: 3px;
}

@media (max-width: 640px) {
  .workspace-shell .asgn-page .asgn-form-row {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .workspace-shell .asgn-page .asgn-form-input,
  .workspace-shell .asgn-page .asgn-scope-trigger,
  .workspace-shell .asgn-page .asgn-submit-btn {
    width: 100% !important;
    max-width: none;
  }

  .workspace-shell .asgn-page .asgn-list-header,
  .workspace-shell .asgn-page .asgn-card > div:first-child {
    align-items: flex-start !important;
    flex-direction: column;
    gap: 0.75rem;
  }

  .workspace-shell .asgn-page .asgn-filters,
  .workspace-shell .asgn-page .asgn-row-actions {
    width: 100%;
  }

  .workspace-shell .asgn-page .asgn-list-header > div:first-child {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
  }

  .workspace-shell .asgn-page .asgn-review-tabs {
    width: 100%;
  }

  .workspace-shell .asgn-page .asgn-review-tab {
    flex: 1 1 50%;
  }

  .workspace-shell .asgn-page .asgn-filter-select,
  .workspace-shell .asgn-page .asgn-row-actions > * {
    max-width: none;
    flex: 1 1 auto;
  }
}

/* Live topic-practice question and result states */
.workspace-shell .practice-topic-page {
  width: 100%;
  max-width: 900px;
  margin: 0 auto;
  padding: 0.25rem 0 2rem;
}

.workspace-shell .practice-back-link {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  margin-top: 0.65rem;
  padding: 0.45rem 0.1rem;
  color: var(--cll-signal-teal, #0F766E);
  font-size: 0.84rem;
  font-weight: 700;
  text-decoration: none;
}

.workspace-shell .practice-back-link:hover {
  color: var(--cll-signal-teal-hover, #0C655F);
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

.workspace-shell .practice-back-link:focus-visible {
  outline: 3px solid var(--cll-focus-ring, #0F766E);
  outline-offset: 3px;
}

.workspace-shell .practice-context-card {
  margin-bottom: 0.85rem;
  padding: 0.8rem 0.95rem;
  color: var(--cll-ink, #142033);
  background: #F0F7F6;
  border: 1px solid #B7D9D5;
  border-radius: 10px;
}

.workspace-shell .practice-context-card--complete {
  background: #EDF8F1;
  border-color: #AED9BE;
}

.workspace-shell .practice-context-card--assignment {
  background: #F3F5FA;
  border-color: #CBD4E2;
}

.workspace-shell .practice-context-card--review {
  background: #F3F1FB;
  border-color: #CDC4E8;
}

.workspace-shell .practice-context-card__row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem 0.7rem;
  min-width: 0;
  font-size: 0.82rem;
  line-height: 1.45;
}

.workspace-shell .practice-context-card__row strong {
  color: var(--cll-harbor, #173F6B);
}

.workspace-shell .practice-context-card__progress {
  margin-left: auto;
  color: var(--cll-muted, #59677A);
  font-variant-numeric: tabular-nums;
}

.workspace-shell .practice-context-card p {
  margin: 0.35rem 0 0;
  color: var(--cll-muted, #59677A);
  font-size: 0.78rem;
  line-height: 1.5;
}

.workspace-shell .practice-context-badge {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 0.2rem 0.5rem;
  color: #FFFFFF;
  background: var(--cll-harbor, #173F6B);
  border-radius: 999px;
  font-size: 0.7rem;
  font-weight: 750;
}

.workspace-shell .practice-context-badge--quiz {
  color: #604000;
  background: #F7D98A;
}

.workspace-shell .practice-context-due {
  color: var(--cll-warm-accent-text, #7A4800);
}

.workspace-shell .practice-progress {
  height: 4px;
  margin-top: 0.55rem;
  overflow: hidden;
  background: rgba(23, 63, 107, 0.1);
  border-radius: 999px;
}

.workspace-shell .practice-progress span {
  display: block;
  height: 100%;
  background: var(--cll-signal-teal, #0F766E);
  border-radius: inherit;
}

.workspace-shell .practice-session-summary {
  margin: 0 0 0.7rem;
  color: var(--cll-muted, #59677A);
  font-size: 0.78rem;
  line-height: 1.45;
}

.workspace-shell .practice-guidance {
  display: flex;
  align-items: flex-start;
  gap: 0.7rem;
  margin-bottom: 0.85rem;
  padding: 0.85rem 0.95rem;
  color: var(--cll-ink, #142033);
  background: #F2F6FC;
  border: 1px solid #C7D5E8;
  border-radius: 10px;
}

.workspace-shell .practice-guidance--confidence_boost {
  background: #F6F2FA;
  border-color: #D5C4E2;
}

.workspace-shell .practice-guidance--proactive_hint {
  background: #FFF8E8;
  border-color: #E9D3A0;
}

.workspace-shell .practice-guidance__icon {
  flex: 0 0 auto;
  font-size: 1.05rem;
}

.workspace-shell .practice-guidance p {
  margin: 0;
  line-height: 1.55;
}

.workspace-shell .practice-action-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.65rem;
  margin-top: 1.15rem;
}

.workspace-shell .practice-secondary-action,
.workspace-shell .practice-support-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0.5rem 0.82rem;
  border-radius: 8px;
  font-family: Inter, system-ui, sans-serif;
  font-size: 0.84rem;
  font-weight: 700;
  line-height: 1.25;
  text-decoration: none;
}

.workspace-shell .practice-secondary-action {
  color: var(--cll-signal-teal, #0F766E);
  background: var(--cll-surface, #FFFFFF);
  border: 1px solid var(--cll-signal-teal, #0F766E);
}

.workspace-shell .practice-secondary-action:hover {
  color: #FFFFFF;
  background: var(--cll-signal-teal-hover, #0C655F);
  border-color: var(--cll-signal-teal-hover, #0C655F);
}

.workspace-shell .practice-support-action {
  color: var(--cll-harbor, #173F6B);
  background: var(--cll-canvas, #F6F8FB);
  border: 1px solid var(--cll-border-strong, #B8C4D2);
}

.workspace-shell .practice-support-action:hover {
  color: var(--cll-signal-teal-hover, #0C655F);
  background: #EEF7F6;
  border-color: var(--cll-signal-teal, #0F766E);
}

.workspace-shell .practice-support-action:disabled {
  color: #7B8797;
  background: #EEF1F5;
  border-color: #D5DCE5;
  cursor: not-allowed;
  opacity: 1;
}

.workspace-shell .practice-secondary-action:focus-visible,
.workspace-shell .practice-support-action:focus-visible {
  outline: 3px solid var(--cll-focus-ring, #0F766E);
  outline-offset: 3px;
}

.workspace-shell .practice-support-panel {
  margin-top: 0.75rem;
  padding: 0.95rem 1rem;
  color: var(--cll-ink, #142033);
  background: var(--cll-canvas, #F6F8FB);
  border: 1px solid var(--cll-border, #D8E0EA);
  border-radius: 10px;
}

.workspace-shell .practice-support-panel--explanation {
  background: #FFF8E8;
  border-color: #E9D3A0;
}

.workspace-shell .practice-support-panel h3 {
  margin: 0 0 0.45rem;
  color: var(--cll-harbor, #173F6B);
  font-size: 0.9rem;
  font-weight: 750;
}

.workspace-shell .practice-support-panel__text,
.workspace-shell .practice-insights-explanation,
.workspace-shell .practice-expanded-explanation {
  color: var(--cll-ink, #142033);
  line-height: 1.65;
  white-space: pre-wrap;
}

.workspace-shell .practice-next-time {
  margin-top: 0.65rem;
  padding: 0.55rem 0.7rem;
  color: #205C3B;
  background: #EDF8F1;
  border-left: 3px solid #4A9A69;
  border-radius: 0 6px 6px 0;
  line-height: 1.55;
}

.workspace-shell .practice-topic-page .quiz-answer-choice[role="listitem"] {
  grid-template-columns: 34px minmax(0, 1fr) auto;
  cursor: default;
}

.workspace-shell .practice-topic-page .quiz-answer-choice[role="listitem"]:hover {
  transform: none;
}

.workspace-shell .practice-choice-state {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  justify-self: end;
  min-width: max-content;
  font-size: 0.76rem;
  font-weight: 750;
}

.workspace-shell .practice-choice-state--correct {
  color: #14613D;
}

.workspace-shell .practice-choice-state--wrong {
  color: #A93232;
}

.workspace-shell .practice-result-progress {
  margin: -0.35rem 0 1rem;
  color: var(--cll-muted, #59677A);
  font-size: 0.8rem;
  line-height: 1.45;
}

.workspace-shell .practice-result-progress--complete {
  color: #14613D;
  font-weight: 700;
}

.workspace-shell .practice-insights-card {
  margin-top: 0.9rem;
}

.workspace-shell .practice-insights-card > .card-body {
  padding: 1rem;
}

.workspace-shell .practice-insights-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  margin-top: 0.75rem;
}

.workspace-shell .practice-insights-action {
  margin-top: 0.75rem;
}

.workspace-shell .practice-expanded-explanation {
  margin-top: 0.75rem;
  padding: 0.8rem;
  background: var(--cll-canvas, #F6F8FB);
  border: 1px solid var(--cll-border, #D8E0EA);
  border-radius: 8px;
}

.workspace-shell .practice-empty-note {
  margin: 0;
  color: var(--cll-muted, #59677A);
}

.workspace-shell .practice-insights-card .viz-panel {
  margin-top: 0.85rem;
}

/* Skill practice and the Recommended Practice route share the accepted
   question/result system without changing their selection or tracking. */
.workspace-shell .practice-skill-page {
  width: 100%;
  max-width: 900px;
  margin: 0 auto;
  padding: 0.25rem 0 2rem;
}

.workspace-shell .practice-description-card {
  margin-bottom: 0.85rem;
  padding: 0.8rem 0.95rem;
  color: var(--cll-ink, #142033);
  background: #F2F6FC;
  border: 1px solid #C7D5E8;
  border-radius: 10px;
}

.workspace-shell .practice-description-card p {
  margin: 0;
  color: var(--cll-muted, #59677A);
  font-size: 0.8rem;
  line-height: 1.55;
}

.workspace-shell .practice-skill-page .quiz-answer-choice[role="listitem"] {
  grid-template-columns: 34px minmax(0, 1fr) auto;
  cursor: default;
}

.workspace-shell .practice-skill-page .quiz-answer-choice[role="listitem"]:hover {
  transform: none;
}

.workspace-shell .practice-next-step-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 1rem;
  padding: 0.9rem 1rem;
  color: var(--cll-ink, #142033);
  background: #F0F7F6;
  border: 1px solid #B7D9D5;
  border-radius: 10px;
}

.workspace-shell .practice-next-step-card h3 {
  margin: 0 0 0.25rem;
  color: var(--cll-harbor, #173F6B);
  font-size: 0.88rem;
  font-weight: 750;
  line-height: 1.4;
}

.workspace-shell .practice-next-step-card p {
  margin: 0;
  color: var(--cll-muted, #59677A);
  font-size: 0.8rem;
  line-height: 1.5;
}

.workspace-shell .practice-skill-page .report-problem-link {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: var(--cll-signal-teal, #0F766E) !important;
  font-size: 0.78rem !important;
  font-weight: 700;
  text-underline-offset: 0.18em;
}

.workspace-shell .practice-skill-page .report-problem-link:focus-visible {
  outline: 3px solid var(--cll-focus-ring, #0F766E);
  outline-offset: 3px;
}

/* Adaptive practice: shared question surface with a calm secondary rail. */
.workspace-shell .adaptive-practice-page {
  width: 100%;
  max-width: 1120px;
  margin: 0 auto;
  padding: 0.25rem 0 2rem;
}

.workspace-shell .practice-topic-page.adaptive-practice-page {
  max-width: 1120px;
}

.workspace-shell .adaptive-practice-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, 280px);
  gap: 1rem;
  align-items: start;
}

.workspace-shell .adaptive-practice-main {
  min-width: 0;
}

.workspace-shell .adaptive-practice-rail {
  display: grid;
  gap: 0.85rem;
  min-width: 0;
}

.workspace-shell .adaptive-practice-meta {
  padding: 1rem;
  color: var(--cll-ink, #142033);
  background: var(--cll-surface, #FFFFFF);
  border: 1px solid var(--cll-border, #D8E0EA);
  border-radius: 10px;
  box-shadow: 0 6px 18px rgba(20, 32, 51, 0.05);
}

.workspace-shell .adaptive-practice-meta__label {
  margin: 0 0 0.25rem;
  color: var(--cll-muted, #59677A);
  font-size: 0.72rem;
  font-weight: 750;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.workspace-shell .adaptive-practice-meta h2 {
  margin: 0;
  color: var(--cll-harbor, #173F6B);
  font-family: Inter, system-ui, sans-serif;
  font-size: 1rem;
  font-weight: 750;
  line-height: 1.4;
}

.workspace-shell .adaptive-practice-meta p:not(.adaptive-practice-meta__label) {
  margin: 0.45rem 0 0;
  color: var(--cll-muted, #59677A);
  font-size: 0.82rem;
  line-height: 1.55;
}

.workspace-shell .adaptive-practice-meta__session {
  font-variant-numeric: tabular-nums;
}

.workspace-shell .adaptive-practice-disclosure {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  margin-top: 0.55rem;
  padding: 0.45rem 0;
  color: var(--cll-signal-teal, #0F766E);
  background: transparent;
  border: 0;
  font: 700 0.82rem/1.3 Inter, system-ui, sans-serif;
  text-align: left;
}

.workspace-shell .adaptive-practice-disclosure::after {
  margin-left: 0.35rem;
  content: "\25BE";
}

.workspace-shell .adaptive-practice-disclosure[aria-expanded="true"]::after {
  transform: rotate(180deg);
}

.workspace-shell .adaptive-practice-disclosure:hover {
  color: var(--cll-signal-teal-hover, #0C655F);
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

.workspace-shell .adaptive-practice-disclosure:focus-visible {
  outline: 3px solid var(--cll-focus-ring, #0F766E);
  outline-offset: 3px;
}

.workspace-shell .adaptive-practice-reason {
  margin-top: 0.2rem;
  padding: 0.7rem;
  color: var(--cll-ink, #142033);
  background: var(--cll-canvas, #F6F8FB);
  border: 1px solid var(--cll-border, #D8E0EA);
  border-radius: 8px;
  font-size: 0.8rem;
  line-height: 1.55;
}

.workspace-shell .adaptive-practice-reset {
  width: 100%;
}

.workspace-shell .adaptive-practice-page .quiz-answer-choice[role="listitem"] {
  grid-template-columns: 34px minmax(0, 1fr) auto;
  cursor: default;
}

.workspace-shell .adaptive-practice-page .quiz-answer-choice[role="listitem"]:hover {
  transform: none;
}

.workspace-shell .adaptive-practice-page .viz-calc {
  min-height: 120px;
  height: 340px;
}

@media (max-width: 900px) {
  .workspace-shell .adaptive-practice-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .workspace-shell .adaptive-practice-rail {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
  }
}

@media (max-width: 640px) {
  .workspace-shell:has(.practice-topic-page) #cl-chat-fab,
  .workspace-shell:has(.adaptive-practice-page) #cl-chat-fab,
  .workspace-shell:has(.practice-skill-page) #cl-chat-fab {
    top: 11px;
    right: auto;
    bottom: auto;
    left: calc(50% - 25px);
    justify-content: center;
    width: 50px;
    padding: 0;
  }

  .workspace-shell:has(.practice-topic-page) #cl-chat-fab .cl-chat-fab-label,
  .workspace-shell:has(.adaptive-practice-page) #cl-chat-fab .cl-chat-fab-label,
  .workspace-shell:has(.practice-skill-page) #cl-chat-fab .cl-chat-fab-label {
    display: none;
  }

  .workspace-shell .practice-topic-page,
  .workspace-shell .adaptive-practice-page,
  .workspace-shell .practice-skill-page {
    padding-top: 0;
  }

  .workspace-shell .practice-context-card__progress {
    width: 100%;
    margin-left: 0;
  }

  .workspace-shell .practice-topic-page .quiz-answer-choice[role="listitem"] {
    grid-template-columns: 30px minmax(0, 1fr);
  }

  .workspace-shell .adaptive-practice-page .quiz-answer-choice[role="listitem"] {
    grid-template-columns: 30px minmax(0, 1fr);
  }

  .workspace-shell .practice-skill-page .quiz-answer-choice[role="listitem"] {
    grid-template-columns: 30px minmax(0, 1fr);
  }

  .workspace-shell .practice-choice-state {
    grid-column: 2;
    justify-self: start;
    min-width: 0;
  }

  .workspace-shell .practice-action-bar,
  .workspace-shell .practice-insights-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }

  .workspace-shell .practice-action-bar .quiz-primary-action,
  .workspace-shell .practice-secondary-action,
  .workspace-shell .practice-support-action {
    width: 100%;
  }

  .workspace-shell .adaptive-practice-rail {
    grid-template-columns: minmax(0, 1fr);
  }

  .workspace-shell .practice-next-step-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }

  .workspace-shell .practice-next-step-card .practice-secondary-action {
    width: 100%;
  }
}

/* Teacher home , representative Harbor workspace migration (Package 6). */
.workspace-shell .teacher-home-dashboard {
  width: 100%;
  max-width: 1120px;
  margin: 0 auto;
  color: var(--cll-ink, #142033);
}

.workspace-shell .teacher-home-dashboard .dashboard-header {
  margin: 0 0 1rem;
  padding: 0;
  border: 0;
}

.workspace-shell .teacher-home-dashboard .teacher-home-actions {
  display: flex;
  justify-content: flex-end;
}

.workspace-shell .teacher-home-dashboard .dash-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.55rem;
  width: 100%;
  margin: 0;
}

.workspace-shell .teacher-home-dashboard .teacher-home-class-filter {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  margin-right: auto;
}

.workspace-shell .teacher-home-dashboard .dash-class-label {
  margin: 0;
  color: var(--cll-muted, #59677A);
  font-size: 0.78rem;
  font-weight: 700;
}

.workspace-shell .teacher-home-dashboard .dash-class-select {
  min-width: 12rem;
  min-height: 44px;
  padding: 0.55rem 2.25rem 0.55rem 0.75rem;
  color: var(--cll-ink, #142033);
  background-color: var(--cll-surface, #FFFFFF);
  border: 1px solid var(--cll-border, #D8E0EA);
  border-radius: 8px;
  font-size: 0.82rem;
  font-weight: 700;
}

.workspace-shell .teacher-home-dashboard .dash-btn-primary,
.workspace-shell .teacher-home-dashboard .dash-btn-secondary,
.workspace-shell .teacher-home-dashboard .dash-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0.55rem 0.85rem;
  border-radius: 8px;
  font-size: 0.8rem;
  font-weight: 700;
  line-height: 1.2;
}

.workspace-shell .teacher-home-dashboard .dash-btn-primary {
  color: #FFFFFF;
  background: var(--cll-harbor, #173F6B);
  border: 1px solid var(--cll-harbor, #173F6B);
}

.workspace-shell .teacher-home-dashboard .dash-btn-secondary,
.workspace-shell .teacher-home-dashboard .dash-link {
  color: var(--cll-harbor, #173F6B);
  background: rgba(15, 118, 110, 0.08);
  border: 1px solid rgba(23, 63, 107, 0.46);
}

.workspace-shell .teacher-home-dashboard .dash-toolbar-sep {
  display: none;
}

/* Mobile-only destination shortcuts stay out of the desktop tab order. */
.workspace-shell .teacher-home-dashboard .teacher-home-mobile-shortcuts {
  display: none;
  visibility: hidden;
  pointer-events: none;
}

/* Keep creator actions grouped so mobile can lower them without changing the
 * desktop toolbar order. */
.workspace-shell .teacher-home-dashboard .teacher-home-secondary-actions {
  display: contents;
}

.workspace-shell .teacher-home-onboarding {
  max-width: 42rem;
  margin: 0;
  border-left: 4px solid var(--cll-signal-teal, #0F766E) !important;
}

.workspace-shell .teacher-home-onboarding .card-body {
  padding: 1.25rem;
}

.workspace-shell .teacher-home-onboarding h3 {
  margin-bottom: 0.4rem !important;
  color: var(--cll-harbor, #173F6B);
  font-size: 1rem;
}

.workspace-shell .teacher-home-onboarding .btn {
  min-height: 44px;
  margin-top: 0.35rem;
}

.workspace-shell .teacher-home-enrollment {
  margin: 0 0 1rem;
  padding: 0.9rem 1rem;
  color: var(--cll-ink, #142033);
  background: rgba(197, 122, 18, 0.08);
  border: 1px solid rgba(197, 122, 18, 0.28);
  border-left: 4px solid var(--cll-warm-accent, #C57A12);
  border-radius: 10px;
}

.workspace-shell .teacher-home-enrollment-title {
  margin-bottom: 0.2rem;
  color: var(--cll-warm-accent-text, #7A4800);
  font-size: 0.88rem;
  font-weight: 800;
  line-height: 1.45;
}

.workspace-shell .teacher-home-enrollment-copy {
  max-width: 72ch;
  color: var(--cll-muted, #59677A);
  font-size: 0.8rem;
  line-height: 1.55;
}

.workspace-shell .teacher-home-grid .dashboard-grid {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(15rem, 1fr);
  gap: 1rem;
}

.workspace-shell .teacher-home-dashboard .teacher-home-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 180px;
  margin: 0;
  padding: 1rem;
  color: var(--cll-ink, #142033);
  background: var(--cll-surface, #FFFFFF) !important;
  border: 1px solid var(--cll-border, #D8E0EA) !important;
  border-radius: 12px;
  box-shadow: none !important;
}

.workspace-shell .teacher-home-dashboard .teacher-home-card:hover {
  border-color: var(--cll-border, #D8E0EA) !important;
  box-shadow: none !important;
}

.workspace-shell .teacher-home-dashboard .teacher-home-card .zone-header {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 2rem;
  margin: 0 0 0.45rem;
  padding: 0 0 0.55rem 0.75rem;
  border-bottom: 1px solid var(--cll-border, #D8E0EA);
}

.workspace-shell .teacher-home-dashboard .teacher-home-card .zone-header::before {
  top: 0.15rem;
  bottom: 0.65rem;
  width: 3px;
}

.workspace-shell .teacher-home-dashboard .teacher-home-card .zone-title {
  margin: 0;
  color: var(--cll-harbor, #173F6B) !important;
  font-size: 0.9rem;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.35;
  text-transform: none;
}

.workspace-shell .teacher-home-dashboard .zone-heading {
  min-width: 0;
}

.workspace-shell .teacher-home-dashboard .zone-description {
  max-width: 34rem;
  margin: 0.15rem 0 0;
  color: var(--cll-muted, #59677A);
  font-size: 0.72rem;
  font-weight: 500;
  line-height: 1.4;
}

.workspace-shell .teacher-home-dashboard .teacher-home-card .zone-title a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  margin: -0.4rem 0;
  color: inherit !important;
  text-decoration: none;
}

.workspace-shell .teacher-home-dashboard .teacher-home-card .zone-item {
  display: flex;
  align-items: center;
  min-height: 44px;
  margin: 0;
  padding: 0.2rem 0;
  color: var(--cll-muted, #59677A) !important;
  font-size: 0.79rem;
  line-height: 1.4;
}

.workspace-shell .teacher-home-dashboard .teacher-home-card .zone-item + .zone-item {
  border-top: 1px solid rgba(216, 224, 234, 0.7);
}

.workspace-shell .teacher-home-dashboard .teacher-home-card .zone-item a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: var(--cll-ink, #142033) !important;
  font-weight: 600;
  line-height: 1.35;
}

.workspace-shell .teacher-home-dashboard .teacher-home-card .zone-item span,
.workspace-shell .teacher-home-dashboard .teacher-home-card [style*="255"],
.workspace-shell .teacher-home-dashboard .teacher-home-card [style*="160"] {
  color: var(--cll-muted, #59677A) !important;
}

.workspace-shell .teacher-home-dashboard .teacher-home-card [style*="251"] {
  color: var(--cll-warm-accent-text, #7A4800) !important;
}

.workspace-shell .teacher-home-dashboard .teacher-home-card [style*="239"] {
  color: #B42318 !important;
}

.workspace-shell .teacher-home-dashboard .zone-badge {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0.18rem 0.5rem;
  color: var(--cll-signal-teal, #0F766E);
  background: #FFFFFF;
  border: 1px solid var(--cll-signal-teal, #0F766E);
  border-radius: 999px;
  font-size: 0.66rem;
  font-weight: 800;
  line-height: 1.1;
  text-transform: uppercase;
}

.workspace-shell .teacher-home-dashboard .zone-badge-warn {
  color: var(--cll-warm-accent-text, #7A4800);
  border-color: var(--cll-warm-accent, #C57A12);
}

.workspace-shell .teacher-home-dashboard .zone-badge-ok {
  color: var(--cll-signal-teal, #0F766E);
  border-color: rgba(15, 118, 110, 0.45);
}

.workspace-shell .teacher-home-dashboard .zone-empty {
  padding: 0.55rem 0;
  color: var(--cll-muted, #59677A) !important;
  font-size: 0.8rem;
  line-height: 1.5;
}

.workspace-shell .teacher-home-dashboard .zone-footer {
  margin-top: auto;
  padding-top: 0.45rem;
}

.workspace-shell .teacher-home-dashboard .zone-footer a,
.workspace-shell .teacher-home-dashboard .zone-header > a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: var(--cll-signal-teal, #0F766E) !important;
  font-size: 0.76rem !important;
  font-weight: 700 !important;
}

.workspace-shell .teacher-home-archived {
  margin: 2rem 0 0.5rem;
}

.workspace-shell .teacher-home-archived summary {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  margin: 0 0 0.35rem;
  cursor: pointer;
  list-style: none;
  color: var(--cll-harbor, #173F6B);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.workspace-shell .teacher-home-archived summary::-webkit-details-marker {
  display: none;
}

.workspace-shell .teacher-home-archived summary::before {
  margin-right: 0.4rem;
  content: "\25B8";
  transition: transform 120ms ease;
}

.workspace-shell .teacher-home-archived details[open] summary::before {
  transform: rotate(90deg);
}

.workspace-shell .teacher-home-archived-count {
  margin-left: 0.35rem;
  color: var(--cll-muted, #59677A);
}

.workspace-shell .teacher-home-archived-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  min-height: 52px;
  padding: 0.25rem 0;
  border-color: var(--cll-border, #D8E0EA) !important;
}

.workspace-shell .teacher-home-archived-name {
  color: var(--cll-ink, #142033);
  font-size: 0.84rem;
  font-weight: 700;
}

.workspace-shell .teacher-home-archived-subject {
  margin-left: 0.5rem;
  color: var(--cll-muted, #59677A);
  font-size: 0.72rem;
}

.workspace-shell .teacher-home-archived .btn {
  min-height: 44px;
}

.workspace-shell .teacher-home-dashboard a:focus-visible,
.workspace-shell .teacher-home-dashboard button:focus-visible,
.workspace-shell .teacher-home-dashboard select:focus-visible,
.workspace-shell .teacher-home-dashboard summary:focus-visible {
  border-radius: 5px;
  outline: 3px solid var(--cll-focus-ring, #0F766E);
  outline-offset: 3px;
}

.workspace-shell .teacher-home-dashboard #pilot-congrats-banner {
  color: var(--cll-ink, #142033);
  background: var(--cll-surface, #FFFFFF) !important;
  border: 1px solid var(--cll-border, #D8E0EA) !important;
  border-left: 4px solid var(--cll-signal-teal, #0F766E) !important;
  box-shadow: none !important;
}

.workspace-shell .teacher-home-dashboard #pilot-congrats-banner .btn-close {
  min-width: 44px;
  min-height: 44px;
  filter: none;
  opacity: 0.65 !important;
}

.workspace-shell .teacher-home-dashboard #pilot-congrats-banner .btn {
  min-height: 44px;
}

.workspace-shell .teacher-home-dashboard .report-problem-link {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: var(--cll-muted, #59677A) !important;
  font-size: 0.75rem !important;
  text-underline-offset: 0.18em;
}

.workspace-shell .teacher-home-dashboard #reportProblemModal .btn,
.workspace-shell .teacher-home-dashboard #reportProblemModal .btn-close {
  min-width: 44px;
  min-height: 44px;
}

.workspace-shell .teacher-home-dashboard .demo-tour-card button {
  min-width: 44px;
  min-height: 44px;
}

@media (max-width: 768px) {
  .workspace-shell .teacher-home-grid .dashboard-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .workspace-shell .teacher-home-dashboard .teacher-home-card {
    min-height: 0;
  }
}

@media (max-width: 480px) {
  .workspace-shell .teacher-home-dashboard .teacher-home-actions,
  .workspace-shell .teacher-home-dashboard .dash-toolbar {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }

  .workspace-shell .teacher-home-dashboard .teacher-home-class-filter {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
    margin: 0;
  }

  .workspace-shell .teacher-home-dashboard .dash-class-select,
  .workspace-shell .teacher-home-dashboard .dash-btn-primary,
  .workspace-shell .teacher-home-dashboard .dash-btn-secondary,
  .workspace-shell .teacher-home-dashboard .dash-link {
    width: 100%;
    max-width: none;
  }

  .workspace-shell .teacher-home-dashboard .teacher-home-mobile-shortcuts {
    display: grid;
    visibility: visible;
    pointer-events: auto;
    grid-column: 1 / -1;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.5rem;
    width: 100%;
    min-width: 0;
  }

  .workspace-shell .teacher-home-dashboard .teacher-home-mobile-shortcuts a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    min-height: 44px;
    padding: 0.5rem 0.35rem;
    color: var(--cll-harbor, #173F6B);
    background: var(--cll-surface, #FFFFFF);
    border: 1px solid var(--cll-border, #D8E0EA);
    border-radius: 8px;
    font-size: 0.72rem;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    overflow-wrap: anywhere;
  }

  .workspace-shell .teacher-home-dashboard .teacher-home-secondary-actions {
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.5rem;
    width: 100%;
    min-width: 0;
  }

  .workspace-shell .teacher-home-dashboard .teacher-home-secondary-actions > * {
    width: 100%;
    min-width: 0;
  }

  .workspace-shell .teacher-home-dashboard .teacher-home-secondary-actions .dash-toolbar-sep {
    display: none;
  }

  .workspace-shell .teacher-home-dashboard .teacher-home-card .zone-item {
    align-items: flex-start;
    flex-direction: column;
    gap: 0;
    padding: 0.35rem 0;
  }

  .workspace-shell .teacher-home-dashboard .teacher-home-card .zone-item > span,
  .workspace-shell .teacher-home-dashboard .teacher-home-card .zone-item > span:last-child {
    width: 100%;
    margin: 0;
    white-space: normal !important;
    text-align: left !important;
  }

  .workspace-shell .teacher-home-archived-row {
    align-items: flex-start;
    flex-direction: column;
  }

  .workspace-shell .teacher-home-archived-subject {
    display: block;
    margin: 0.1rem 0 0;
  }
}

@media (max-width: 640px) {
  .workspace-shell:has(.teacher-home-dashboard) #cl-chat-fab {
    top: 11px;
    right: auto;
    bottom: auto;
    left: calc(50% - 25px);
    justify-content: center;
    width: 50px;
    padding: 0;
  }

  .workspace-shell:has(.teacher-home-dashboard) #cl-chat-fab .cl-chat-fab-label {
    display: none;
  }
}

/* Student practice history and session review , durable evidence, not a verdict. */
.workspace-shell .missed-review-page,
.workspace-shell .practice-history-page,
.workspace-shell .practice-session-review-page {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  width: 100%;
  max-width: 920px;
  min-width: 0;
  margin: 0 auto;
  padding: 0.25rem 0 2rem;
}

.workspace-shell .practice-history-page__toolbar,
.workspace-shell .practice-session-review-page__toolbar,
.workspace-shell .missed-review-page__toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  min-width: 0;
}

.workspace-shell .practice-history-back-link,
.workspace-shell .practice-review-back-link,
.workspace-shell .missed-review-back-link {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  min-height: 44px;
  padding: 0.45rem 0.1rem;
  color: var(--cll-signal-teal, #0F766E);
  font-size: 0.84rem;
  font-weight: 700;
  line-height: 1.25;
  text-decoration: none;
}

.workspace-shell .practice-history-back-link:hover,
.workspace-shell .practice-review-back-link:hover,
.workspace-shell .missed-review-back-link:hover {
  color: var(--cll-signal-teal-hover, #0C655F);
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

.workspace-shell .practice-history-back-link:focus-visible,
.workspace-shell .practice-review-back-link:focus-visible,
.workspace-shell .practice-review-action:focus-visible,
.workspace-shell .practice-session-review-explanation > summary:focus-visible,
.workspace-shell .missed-review-back-link:focus-visible,
.workspace-shell .missed-review-action:focus-visible,
.workspace-shell .missed-review-page__view-toggle a:focus-visible,
.workspace-shell .missed-review-page__view-all:focus-visible {
  outline: 3px solid var(--cll-focus-ring, #0F766E);
  outline-offset: 3px;
}

.workspace-shell .practice-history-list,
.workspace-shell .practice-session-review-list {
  display: grid;
  gap: 0.75rem;
  min-width: 0;
}

.workspace-shell .practice-history-session {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: center;
  min-height: 76px;
  padding: 0.9rem 1rem;
  color: var(--cll-ink, #142033);
  border-left: 4px solid var(--cll-border-strong, #B8C4D2);
  box-shadow: 0 6px 18px rgba(20, 32, 51, 0.05);
  text-decoration: none;
  transition:
    border-color 160ms ease,
    box-shadow 160ms ease,
    transform 160ms ease;
}

.workspace-shell .practice-history-session:hover {
  color: var(--cll-ink, #142033);
  border-color: var(--cll-signal-teal, #0F766E);
  box-shadow: 0 10px 24px rgba(20, 32, 51, 0.09);
  text-decoration: none;
  transform: translateY(-1px);
}

.workspace-shell .practice-history-session:focus-visible {
  color: var(--cll-ink, #142033);
  outline: 3px solid var(--cll-focus-ring, #0F766E);
  outline-offset: 3px;
  text-decoration: none;
}

.workspace-shell .practice-history-session--strong {
  border-left-color: var(--cll-signal-teal, #0F766E);
}

.workspace-shell .practice-history-session--steady {
  border-left-color: var(--cll-warm-accent, #C57A12);
}

.workspace-shell .practice-history-session--review {
  border-left-color: #B42318;
}

.workspace-shell .practice-history-session__identity,
.workspace-shell .practice-history-session__evidence {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.workspace-shell .practice-history-session__subject {
  overflow-wrap: anywhere;
  color: var(--cll-ink, #142033);
  font-size: 0.94rem;
  font-weight: 750;
  line-height: 1.4;
}

.workspace-shell .practice-history-session__mode,
.workspace-shell .practice-history-session__date,
.workspace-shell .practice-history-session__detail {
  color: var(--cll-muted, #59677A);
  font-size: 0.76rem;
  font-weight: 500;
  line-height: 1.45;
}

.workspace-shell .practice-history-session__date {
  margin-top: 0.18rem;
}

.workspace-shell .practice-history-session__evidence {
  align-items: flex-end;
  text-align: right;
}

.workspace-shell .practice-history-session__accuracy,
.workspace-shell .practice-history-session__unanswered {
  color: var(--cll-harbor, #173F6B);
  font-size: 1.05rem;
  font-weight: 800;
  line-height: 1.25;
}

.workspace-shell .practice-history-session--strong .practice-history-session__accuracy {
  color: #14613D;
}

.workspace-shell .practice-history-session--steady .practice-history-session__accuracy {
  color: var(--cll-warm-accent-text, #7A4800);
}

.workspace-shell .practice-history-session--review .practice-history-session__accuracy {
  color: #B42318;
}

.workspace-shell .practice-history-session__detail {
  margin-top: 0.16rem;
}

.workspace-shell .practice-history-empty {
  padding: 1.5rem;
  color: var(--cll-muted, #59677A);
  font-size: 0.9rem;
  line-height: 1.6;
  text-align: center;
}

.workspace-shell .practice-session-review-page__summary,
.workspace-shell .practice-session-review-page__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.6rem;
  min-width: 0;
}

.workspace-shell .practice-session-review-page__count {
  color: var(--cll-muted, #59677A);
  font-size: 0.8rem;
  font-weight: 650;
  line-height: 1.4;
}

.workspace-shell .practice-review-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  min-height: 44px;
  padding: 0.55rem 0.85rem;
  color: var(--cll-harbor, #173F6B);
  background: var(--cll-surface, #FFFFFF);
  border: 1px solid var(--cll-harbor, #173F6B);
  border-radius: 8px;
  font-size: 0.84rem;
  font-weight: 700;
  line-height: 1.25;
  text-align: center;
  text-decoration: none;
}

.workspace-shell .practice-review-action:hover {
  color: #FFFFFF;
  background: var(--cll-harbor-hover, #123457);
  border-color: var(--cll-harbor-hover, #123457);
  text-decoration: none;
}

.workspace-shell .practice-review-action--primary {
  min-height: 48px;
  color: #FFFFFF;
  background: var(--cll-harbor, #173F6B);
  border-color: var(--cll-harbor, #173F6B);
}

.workspace-shell .practice-review-action--youtube {
  color: #A80000;
  border-color: #C92A2A;
}

.workspace-shell .practice-review-action--youtube:hover {
  color: #FFFFFF;
  background: #B42318;
  border-color: #B42318;
}

.workspace-shell .practice-session-review-item {
  min-width: 0;
  padding: clamp(1rem, 2.5vw, 1.4rem);
  color: var(--cll-ink, #142033);
  border-left: 4px solid var(--cll-border-strong, #B8C4D2);
  box-shadow: 0 8px 24px rgba(20, 32, 51, 0.05);
}

.workspace-shell .practice-session-review-item--correct {
  border-left-color: var(--cll-signal-teal, #0F766E);
}

.workspace-shell .practice-session-review-item--incorrect {
  border-left-color: #B42318;
}

.workspace-shell .practice-session-review-item__header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 0.7rem;
  margin-bottom: 1rem;
}

.workspace-shell .practice-session-review-item__status {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  min-height: 32px;
  margin: 0;
  padding: 0.35rem 0.65rem;
  border: 1px solid;
  border-radius: 999px;
  font-size: 0.76rem;
  font-weight: 800;
  line-height: 1.2;
}

.workspace-shell .practice-session-review-item__status--correct {
  color: #14613D;
  background: #EDF8F1;
  border-color: #AED9BE;
}

.workspace-shell .practice-session-review-item__status--incorrect {
  color: #8F1D16;
  background: #FFF1F0;
  border-color: #F3B8B4;
}

.workspace-shell .practice-session-review-item__context {
  min-width: 0;
  margin: 0;
  overflow-wrap: anywhere;
  color: var(--cll-muted, #59677A);
  font-size: 0.78rem;
  font-weight: 650;
  line-height: 1.4;
}

.workspace-shell .practice-session-review-stimulus {
  margin-bottom: 1.25rem;
  padding: clamp(0.9rem, 2vw, 1.2rem);
  color: var(--cll-ink, #142033);
  background: var(--cll-canvas, #F6F8FB);
  border: 1px solid var(--cll-border, #D8E0EA);
  border-radius: 10px;
}

.workspace-shell .practice-session-review-stimulus__image-wrap {
  text-align: center;
}

.workspace-shell .practice-session-review-stimulus__image {
  display: block;
  width: auto;
  max-width: 100%;
  max-height: 400px;
  height: auto;
  margin: 0 auto;
  border: 1px solid var(--cll-border, #D8E0EA);
  border-radius: 7px;
  object-fit: contain;
}

.workspace-shell .practice-session-review-stimulus__image-fallback {
  padding: 1rem;
  color: var(--cll-muted, #59677A);
  background: var(--cll-surface, #FFFFFF);
  border: 1px dashed var(--cll-border-strong, #B8C4D2);
  border-radius: 8px;
  font-size: 0.86rem;
  font-style: italic;
  line-height: 1.5;
  text-align: left;
  white-space: pre-wrap;
}

.workspace-shell .practice-session-review-stimulus__text {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 0.96rem;
  line-height: 1.7;
}

.workspace-shell .practice-session-review-stimulus__text > :last-child {
  margin-bottom: 0;
}

.workspace-shell .practice-session-review-stimulus__source {
  margin: 0.7rem 0 0;
  color: var(--cll-muted, #59677A);
  font-size: 0.78rem;
  line-height: 1.5;
}

.workspace-shell .practice-session-review-item__prompt {
  max-width: 74ch;
  margin: 0 0 1.1rem;
  color: var(--cll-ink, #142033);
  font-size: clamp(1rem, 2vw, 1.18rem);
  font-weight: 750;
  line-height: 1.55;
}

.workspace-shell .practice-session-review-answers {
  display: grid;
  gap: 0.55rem;
  min-width: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.workspace-shell .practice-session-review-answer {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr) auto;
  gap: 0.65rem;
  align-items: center;
  min-height: 48px;
  padding: 0.65rem 0.75rem;
  color: var(--cll-ink, #142033);
  background: var(--cll-surface, #FFFFFF);
  border: 1px solid var(--cll-border, #D8E0EA);
  border-radius: 9px;
}

.workspace-shell .practice-session-review-answer--correct {
  background: #EDF8F1;
  border-color: #79BF95;
}

.workspace-shell .practice-session-review-answer--selected-incorrect {
  background: #FFF1F0;
  border-color: #D95C59;
}

.workspace-shell .practice-session-review-answer__letter {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  color: var(--cll-harbor, #173F6B);
  background: var(--cll-canvas, #F6F8FB);
  border: 1px solid var(--cll-border-strong, #B8C4D2);
  border-radius: 50%;
  font-size: 0.78rem;
  font-weight: 800;
}

.workspace-shell .practice-session-review-answer--correct .practice-session-review-answer__letter {
  color: #FFFFFF;
  background: #247A4D;
  border-color: #247A4D;
}

.workspace-shell .practice-session-review-answer--selected-incorrect .practice-session-review-answer__letter {
  color: #FFFFFF;
  background: #A93232;
  border-color: #A93232;
}

.workspace-shell .practice-session-review-answer__text {
  min-width: 0;
  overflow-wrap: anywhere;
  font-size: 0.9rem;
  line-height: 1.5;
}

.workspace-shell .practice-session-review-answer__annotation {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  font-size: 0.74rem;
  font-weight: 750;
  line-height: 1.3;
  white-space: nowrap;
}

.workspace-shell .practice-session-review-answer__annotation--correct {
  color: #14613D;
}

.workspace-shell .practice-session-review-answer__annotation--selected {
  color: #8F1D16;
}

.workspace-shell .practice-session-review-item__supports {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.55rem;
  margin-top: 1rem;
}

.workspace-shell .practice-session-review-explanation {
  flex: 1 1 100%;
  min-width: 0;
  color: var(--cll-ink, #142033);
  border-top: 1px solid var(--cll-border, #D8E0EA);
}

.workspace-shell .practice-session-review-explanation > summary {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0.45rem 0;
  cursor: pointer;
  color: var(--cll-signal-teal, #0F766E);
  font-size: 0.84rem;
  font-weight: 750;
  line-height: 1.35;
}

.workspace-shell .practice-session-review-explanation > summary:hover {
  color: var(--cll-signal-teal-hover, #0C655F);
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

.workspace-shell .practice-session-review-explanation__body {
  margin: 0 0 0.25rem;
  padding: 0.85rem 0.95rem;
  color: var(--cll-ink, #142033);
  background: #F0F7F6;
  border: 1px solid #B7D9D5;
  border-radius: 8px;
  font-size: 0.9rem;
  line-height: 1.65;
  white-space: pre-wrap;
}

.workspace-shell .practice-session-review-page__actions {
  justify-content: center;
  margin-top: 0.25rem;
  padding-bottom: 1rem;
}

@media (max-width: 640px) {
  .workspace-shell .practice-history-page,
  .workspace-shell .practice-session-review-page {
    padding-top: 0;
  }

  .workspace-shell .practice-history-page__toolbar,
  .workspace-shell .practice-session-review-page__toolbar {
    align-items: flex-start;
    flex-direction: column;
  }

  .workspace-shell .practice-session-review-page__summary,
  .workspace-shell .practice-session-review-page__actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
  }

  .workspace-shell .practice-session-review-page__count {
    padding: 0.1rem 0;
  }

  .workspace-shell .practice-review-action {
    width: 100%;
  }

  .workspace-shell .practice-session-review-item {
    padding: 1rem;
  }

  .workspace-shell .practice-session-review-answer {
    grid-template-columns: 30px minmax(0, 1fr);
    gap: 0.55rem;
  }

  .workspace-shell .practice-session-review-answer__annotation {
    grid-column: 2;
    justify-self: start;
  }
}

@media (max-width: 480px) {
  .workspace-shell .practice-history-session {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.45rem;
    align-items: start;
  }

  .workspace-shell .practice-history-session__evidence {
    align-items: flex-start;
    text-align: left;
  }

  .workspace-shell .practice-session-review-item__header {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.35rem;
  }
}

/* Student missed-question review , explanation first, with the existing retry
 * flow deliberately kept separate from this read-only review surface. */
.workspace-shell .missed-review-page__summary,
.workspace-shell .missed-review-page__actions,
.workspace-shell .missed-review-card__supports {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.6rem;
  min-width: 0;
}

.workspace-shell .missed-review-page__count {
  color: var(--cll-muted, #59677A);
  font-size: 0.8rem;
  font-weight: 650;
  line-height: 1.4;
}

.workspace-shell .missed-review-back-link,
.workspace-shell .missed-review-page__view-toggle a,
.workspace-shell .missed-review-page__view-all {
  color: var(--cll-signal-teal, #0F766E);
}

.workspace-shell .missed-review-page__view-toggle a,
.workspace-shell .missed-review-page__view-all {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0.45rem 0.1rem;
  font-size: 0.84rem;
  font-weight: 700;
  line-height: 1.25;
  text-decoration: none;
}

.workspace-shell .missed-review-page__view-toggle a:hover,
.workspace-shell .missed-review-page__view-all:hover {
  color: var(--cll-signal-teal-hover, #0C655F);
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

.workspace-shell .missed-review-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  min-height: 44px;
  padding: 0.55rem 0.85rem;
  color: var(--cll-harbor, #173F6B);
  background: var(--cll-surface, #FFFFFF);
  border: 1px solid var(--cll-harbor, #173F6B);
  border-radius: 8px;
  font-size: 0.84rem;
  font-weight: 700;
  line-height: 1.25;
  text-align: center;
  text-decoration: none;
}

.workspace-shell .missed-review-action:hover {
  color: #FFFFFF;
  background: var(--cll-harbor-hover, #123457);
  border-color: var(--cll-harbor-hover, #123457);
  text-decoration: none;
}

.workspace-shell .missed-review-action--primary {
  min-height: 48px;
  color: #FFFFFF;
  background: var(--cll-harbor, #173F6B);
  border-color: var(--cll-harbor, #173F6B);
}

.workspace-shell .missed-review-action--youtube {
  color: #A80000;
  border-color: #C92A2A;
}

.workspace-shell .missed-review-action--youtube:hover {
  color: #FFFFFF;
  background: #B42318;
  border-color: #B42318;
}

.workspace-shell .missed-review-page__list {
  display: grid;
  gap: 0.75rem;
  min-width: 0;
}

.workspace-shell .missed-review-card {
  min-width: 0;
  padding: clamp(1rem, 2.5vw, 1.4rem);
  color: var(--cll-ink, #142033);
  border-left: 4px solid var(--cll-warm-accent, #C57A12);
  box-shadow: 0 8px 24px rgba(20, 32, 51, 0.05);
}

.workspace-shell .missed-review-card__header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 0.7rem;
  margin-bottom: 1rem;
}

.workspace-shell .missed-review-card__tag {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 0.35rem 0.65rem;
  color: var(--cll-warm-accent-text, #7A4800);
  background: #FFF7E8;
  border: 1px solid #E3BD79;
  border-radius: 999px;
  font-size: 0.76rem;
  font-weight: 800;
  line-height: 1.2;
}

.workspace-shell .missed-review-card__context {
  min-width: 0;
  margin: 0;
  overflow-wrap: anywhere;
  color: var(--cll-muted, #59677A);
  font-size: 0.78rem;
  font-weight: 650;
  line-height: 1.4;
}

.workspace-shell .missed-review-card__prompt {
  max-width: 74ch;
  margin: 0 0 1.1rem;
  color: var(--cll-ink, #142033);
  font-size: clamp(1rem, 2vw, 1.18rem);
  font-weight: 750;
  line-height: 1.55;
}

.workspace-shell .missed-review-card__answers {
  display: grid;
  gap: 0.55rem;
  min-width: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.workspace-shell .missed-review-card__answer {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr) auto;
  gap: 0.65rem;
  align-items: center;
  min-height: 48px;
  padding: 0.65rem 0.75rem;
  color: var(--cll-ink, #142033);
  background: var(--cll-surface, #FFFFFF);
  border: 1px solid var(--cll-border, #D8E0EA);
  border-radius: 9px;
}

.workspace-shell .missed-review-card__answer--correct {
  background: #EDF8F1;
  border-color: #79BF95;
}

.workspace-shell .missed-review-card__answer--selected-incorrect {
  background: #FFF1F0;
  border-color: #D95C59;
}

.workspace-shell .missed-review-card__letter {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  color: var(--cll-harbor, #173F6B);
  background: var(--cll-canvas, #F6F8FB);
  border: 1px solid var(--cll-border-strong, #B8C4D2);
  border-radius: 50%;
  font-size: 0.78rem;
  font-weight: 800;
}

.workspace-shell .missed-review-card__answer--correct .missed-review-card__letter {
  color: #FFFFFF;
  background: #247A4D;
  border-color: #247A4D;
}

.workspace-shell .missed-review-card__answer--selected-incorrect .missed-review-card__letter {
  color: #FFFFFF;
  background: #A93232;
  border-color: #A93232;
}

.workspace-shell .missed-review-card__answer-text {
  min-width: 0;
  overflow-wrap: anywhere;
  font-size: 0.9rem;
  line-height: 1.5;
}

.workspace-shell .missed-review-card__annotation {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  font-size: 0.74rem;
  font-weight: 750;
  line-height: 1.3;
  white-space: nowrap;
}

.workspace-shell .missed-review-card__annotation--correct { color: #14613D; }
.workspace-shell .missed-review-card__annotation--selected { color: #8F1D16; }

.workspace-shell .missed-review-card__explanation {
  margin-top: 1rem;
  padding: 0.85rem 0.95rem;
  color: var(--cll-ink, #142033);
  background: #F0F7F6;
  border: 1px solid #B7D9D5;
  border-radius: 8px;
  font-size: 0.9rem;
  line-height: 1.65;
  white-space: pre-wrap;
}

.workspace-shell .missed-review-card__explanation h3 {
  margin: 0 0 0.3rem;
  color: var(--cll-harbor, #173F6B);
  font-size: 0.78rem;
  font-weight: 800;
  line-height: 1.3;
}

.workspace-shell .missed-review-card__supports { margin-top: 1rem; }

.workspace-shell .missed-review-page__pagination {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  gap: 0.75rem;
  align-items: center;
}

.workspace-shell .missed-review-page__pagination > :last-child { text-align: right; }

.workspace-shell .missed-review-page__actions {
  justify-content: center;
  margin-top: 0.25rem;
  padding-bottom: 1rem;
}

@media (max-width: 640px) {
  .workspace-shell .missed-review-page { padding-top: 0; }

  .workspace-shell .missed-review-page__toolbar {
    align-items: flex-start;
    flex-direction: column;
  }

  .workspace-shell .missed-review-page__summary,
  .workspace-shell .missed-review-page__actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
  }

  .workspace-shell .missed-review-action { width: 100%; }
  .workspace-shell .missed-review-card { padding: 1rem; }

  .workspace-shell .missed-review-card__answer {
    grid-template-columns: 30px minmax(0, 1fr);
    gap: 0.55rem;
  }

  .workspace-shell .missed-review-card__annotation {
    grid-column: 2;
    justify-self: start;
  }

  .workspace-shell .missed-review-page__pagination {
    grid-template-columns: minmax(0, 1fr);
    justify-items: stretch;
  }

  .workspace-shell .missed-review-page__pagination > :last-child { text-align: left; }
  .workspace-shell .missed-review-page__view-all { justify-content: center; }
}

@media (max-width: 480px) {
  .workspace-shell .missed-review-card__header {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.35rem;
  }
}

/* Student study plan , reachable fail-closed state only. */
.workspace-shell .student-study-plan-unavailable-page {
  display: grid;
  gap: 1rem;
  width: 100%;
  max-width: 720px;
  min-width: 0;
  margin: 0 auto;
  padding: 0.25rem 0 2rem;
}

.workspace-shell .student-study-plan-unavailable-card {
  min-width: 0;
  padding: clamp(1.25rem, 4vw, 2rem);
  color: var(--cll-ink, #142033);
  box-shadow: 0 8px 24px rgba(20, 32, 51, 0.06);
}

.workspace-shell .student-study-plan-unavailable-heading {
  margin: 0 0 0.5rem;
  color: var(--cll-ink, #142033);
  font-size: clamp(1.1rem, 2vw, 1.3rem);
  font-weight: 700;
  line-height: 1.35;
}

.workspace-shell .student-study-plan-unavailable-card p {
  max-width: 68ch;
  overflow-wrap: anywhere;
  color: var(--cll-muted, #59677A) !important;
  line-height: 1.6;
}

.workspace-shell .student-study-plan-unavailable-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  min-width: 0;
}

  .workspace-shell .student-study-plan-unavailable-actions .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0.55rem 0.9rem;
  border-radius: 8px;
  font-weight: 600;
}

.workspace-shell .student-study-plan-unavailable-actions .btn-outline-primary {
  color: var(--cll-harbor, #173F6B);
  border-color: var(--cll-harbor, #173F6B);
}

.workspace-shell .student-study-plan-unavailable-actions .btn-outline-primary:hover {
  color: #FFFFFF;
  background: var(--cll-harbor, #173F6B);
  border-color: var(--cll-harbor, #173F6B);
}

.workspace-shell .student-study-plan-unavailable-actions .btn:focus-visible {
  outline: 3px solid var(--cll-focus-ring, #0F766E);
  outline-offset: 3px;
}

@media (max-width: 640px) {
  .workspace-shell .student-study-plan-unavailable-page {
    padding-bottom: 1.5rem;
  }

  .workspace-shell .student-study-plan-unavailable-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }

.workspace-shell .student-study-plan-unavailable-actions .btn {
    width: 100%;
  }
}

/* Student My Classes , existing enrollment and join actions in the workspace. */
.workspace-shell .student-classes-page {
  display: grid;
  gap: 1.5rem;
  width: min(100%, 720px);
  min-width: 0;
  margin: 0 auto;
  padding: 0.25rem 0 2rem;
}

.workspace-shell .student-classes-list {
  display: grid;
  gap: 1rem;
  min-width: 0;
}

.workspace-shell .student-classes-list__header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
}

.workspace-shell .student-classes-eyebrow {
  margin: 0 0 0.2rem;
  color: var(--cll-signal-teal, #0F766E);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.workspace-shell .student-classes-list__header h2,
.workspace-shell .student-classes-join h2 {
  margin: 0;
  color: var(--cll-ink, #142033);
  font-size: clamp(1.2rem, 2vw, 1.5rem);
  font-weight: 700;
  letter-spacing: -0.015em;
}

.workspace-shell .student-classes-count {
  flex: 0 0 auto;
  padding: 0.3rem 0.7rem;
  color: var(--cll-muted, #59677A);
  background: var(--cll-surface, #FFFFFF);
  border: 1px solid var(--cll-border, #D8E0EA);
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 600;
}

.workspace-shell .student-classes-grid {
  display: grid;
  gap: 0.75rem;
  min-width: 0;
}

.workspace-shell .student-class-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-width: 0;
  padding: 1.1rem 1.25rem;
  box-shadow: 0 8px 24px rgba(20, 32, 51, 0.06);
}

.workspace-shell .student-class-card--active {
  border-color: var(--cll-signal-teal, #0F766E);
  box-shadow:
    0 0 0 2px rgba(15, 118, 110, 0.08),
    0 8px 24px rgba(20, 32, 51, 0.08);
}

.workspace-shell .student-class-card__identity {
  min-width: 0;
}

.workspace-shell .student-class-card__subject {
  margin: 0 0 0.2rem;
  color: var(--cll-muted, #59677A);
  font-size: 0.8rem;
  font-weight: 600;
}

.workspace-shell .student-class-card h3 {
  margin: 0;
  overflow-wrap: anywhere;
  color: var(--cll-ink, #142033);
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.35;
}

.workspace-shell .student-class-switch,
.workspace-shell .student-classes-join-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0.55rem 0.9rem;
  border: 1px solid var(--cll-harbor, #173F6B);
  border-radius: 8px;
  color: var(--cll-harbor, #173F6B);
  background: var(--cll-surface, #FFFFFF);
  font-weight: 600;
  text-decoration: none;
}

.workspace-shell .student-class-switch {
  flex: 0 0 auto;
  min-width: 5.75rem;
}

.workspace-shell .student-class-switch:hover,
.workspace-shell .student-classes-join-submit:hover {
  color: #FFFFFF;
  background: var(--cll-harbor, #173F6B);
  border-color: var(--cll-harbor, #173F6B);
  text-decoration: none;
}

.workspace-shell .student-class-switch--active,
.workspace-shell .student-class-switch--active:hover,
.workspace-shell .student-classes-join-submit {
  color: #FFFFFF;
  background: var(--cll-harbor, #173F6B);
  border-color: var(--cll-harbor, #173F6B);
}

.workspace-shell .student-class-switch:focus-visible,
.workspace-shell .student-classes-join-form .form-control:focus-visible,
.workspace-shell .student-classes-join-submit:focus-visible,
.workspace-shell .student-classes-back:focus-visible {
  outline: 3px solid var(--cll-focus-ring, #0F766E);
  outline-offset: 3px;
}

.workspace-shell .student-classes-empty,
.workspace-shell .student-classes-join {
  min-width: 0;
  padding: clamp(1.25rem, 4vw, 1.75rem);
  box-shadow: 0 8px 24px rgba(20, 32, 51, 0.06);
}

.workspace-shell .student-classes-empty {
  text-align: center;
}

.workspace-shell .student-classes-empty h3 {
  margin: 0 0 0.35rem;
  color: var(--cll-ink, #142033);
  font-size: 1.05rem;
}

.workspace-shell .student-classes-empty p,
.workspace-shell .student-classes-join > div > p:last-child {
  margin: 0;
  overflow-wrap: anywhere;
  color: var(--cll-muted, #59677A);
  line-height: 1.55;
}

.workspace-shell .student-classes-join {
  display: grid;
  gap: 1rem;
}

.workspace-shell .student-classes-join-form {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  min-width: 0;
}

.workspace-shell .student-classes-join-form .form-control {
  flex: 1 1 14rem;
  min-width: 0;
  min-height: 44px;
  border-color: var(--cll-border, #D8E0EA);
}

.workspace-shell .student-classes-join-form .form-control:focus {
  border-color: var(--cll-signal-teal, #0F766E);
  box-shadow: 0 0 0 0.2rem rgba(15, 118, 110, 0.16);
}

.workspace-shell .student-classes-back {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  align-self: flex-start;
  gap: 0.4rem;
  min-height: 44px;
  color: var(--cll-signal-teal, #0F766E);
  font-weight: 600;
  text-decoration: none;
}

.workspace-shell .student-classes-back:hover {
  color: var(--cll-signal-teal-hover, #0C655F);
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

@media (max-width: 640px) {
  .workspace-shell .student-classes-page {
    padding-bottom: 1.5rem;
  }

  .workspace-shell .student-classes-list__header,
  .workspace-shell .student-class-card {
    align-items: flex-start;
    flex-direction: column;
  }

  .workspace-shell .student-class-switch {
    width: 100%;
  }

  .workspace-shell .student-classes-join-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }

  .workspace-shell .student-classes-join-form .form-control,
  .workspace-shell .student-classes-join-submit {
    width: 100%;
  }
}

/* Teacher Review , presentation-only light workspace treatment. */
.workspace-shell .review-page {
  width: 100%;
  max-width: 860px;
  min-width: 0;
  margin: 0 auto;
}

.workspace-shell .review-page .review-section-title {
  color: var(--cll-muted, #59677A) !important;
}

.workspace-shell .review-page .review-row,
.workspace-shell .review-page .missing-row,
.workspace-shell .review-page .review-empty {
  min-width: 0;
  background: var(--cll-surface, #FFFFFF) !important;
  border-color: var(--cll-border, #D8E0EA) !important;
  box-shadow: 0 4px 14px rgba(20, 32, 51, 0.04);
}

.workspace-shell .review-page .review-row-title,
.workspace-shell .review-page .missing-student {
  color: var(--cll-ink, #142033) !important;
}

.workspace-shell .review-page .review-row-title {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  overflow-wrap: anywhere;
  white-space: normal;
}

.workspace-shell .review-page .review-row-title:hover,
.workspace-shell .review-page .review-row-title:focus-visible {
  color: var(--cll-signal-teal, #0F766E) !important;
}

.workspace-shell .review-page .review-row-meta,
.workspace-shell .review-page .review-stat,
.workspace-shell .review-page .review-due-normal,
.workspace-shell .review-page .review-empty,
.workspace-shell .review-page .review-empty-sub,
.workspace-shell .review-page .missing-meta,
.workspace-shell .review-page .missing-type-tag,
.workspace-shell .review-page [style*="color:rgba(160,190,245"],
.workspace-shell .review-page [style*="color: rgba(255,255,255"],
.workspace-shell .review-page [style*="color:rgba(255,255,255"] {
  color: var(--cll-muted, #59677A) !important;
}

.workspace-shell .review-page .review-type-essay {
  color: #6430A3 !important;
}

.workspace-shell .review-page .review-type-practice {
  color: #354A92 !important;
}

.workspace-shell .review-page .review-due-overdue,
.workspace-shell .review-page [style*="color:rgba(239,68,68"] {
  color: #A12A32 !important;
}

.workspace-shell .review-page .review-due-soon,
.workspace-shell .review-page .review-warn,
.workspace-shell .review-page [style*="color: rgba(251,191,36"] {
  color: #744B00 !important;
}

.workspace-shell .review-page .review-row-title:focus-visible,
.workspace-shell .review-page a:focus-visible {
  outline: 3px solid var(--cll-focus-ring, #0F766E);
  outline-offset: 3px;
}

.workspace-shell .review-page > div:last-child > a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: var(--cll-signal-teal, #0F766E) !important;
}

@media (max-width: 640px) {
  .workspace-shell .review-page .review-row {
    grid-template-columns: minmax(0, 1fr);
  }

  .workspace-shell .review-page .review-row-right,
  .workspace-shell .review-page .missing-row,
  .workspace-shell .review-page .missing-meta {
    min-width: 0;
    flex-wrap: wrap;
    white-space: normal;
  }

  .workspace-shell .review-page .missing-row {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* Teacher per-student assignment detail: presentation-only migration of the
 * existing results, CED breakdown, and teacher-judgment context into the
 * shared light workspace shell. */
.workspace-shell .teacher-assignment-student-detail-page {
  width: min(100%, 1040px);
  min-width: 0;
  margin: 0 auto;
  padding-bottom: 1.5rem;
  color: var(--cll-ink, #142033);
}

.workspace-shell .teacher-assignment-student-detail-header,
.workspace-shell .teacher-assignment-student-detail-neighbors,
.workspace-shell .teacher-assignment-student-detail-summary-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
}

.workspace-shell .teacher-assignment-student-detail-header,
.workspace-shell .teacher-assignment-student-detail-summary-row {
  justify-content: space-between;
}

.workspace-shell .teacher-assignment-student-detail-header {
  margin-bottom: 1rem;
}

.workspace-shell .teacher-assignment-student-detail-back {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: var(--cll-signal-teal, #0F766E);
  font-weight: 700;
  text-decoration: none;
}

.workspace-shell .teacher-assignment-student-detail-back:hover {
  color: var(--cll-signal-teal-hover, #0C655F);
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

.workspace-shell .teacher-assignment-student-detail-page .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  font-weight: 700;
}

.workspace-shell .teacher-assignment-student-detail-page .btn-outline-light {
  color: var(--cll-signal-teal, #0F766E) !important;
  background: #FFFFFF;
  border-color: var(--cll-signal-teal, #0F766E);
}

.workspace-shell .teacher-assignment-student-detail-page .btn-outline-light:hover {
  color: #FFFFFF !important;
  background: var(--cll-signal-teal, #0F766E);
  border-color: var(--cll-signal-teal, #0F766E);
}

.workspace-shell .teacher-assignment-student-detail-page .btn-outline-secondary {
  color: #38516A;
  background: #FFFFFF;
  border-color: #738396;
}

.workspace-shell .teacher-assignment-student-detail-page .btn-outline-secondary:hover {
  color: #FFFFFF;
  background: #38516A;
  border-color: #38516A;
}

.workspace-shell .teacher-assignment-student-detail-card {
  margin-bottom: 1rem;
  color: var(--cll-ink, #142033);
  background: var(--cll-surface, #FFFFFF) !important;
  border: 1px solid var(--cll-border, #D8E0EA) !important;
  border-radius: 14px;
  box-shadow: 0 4px 18px rgba(23, 63, 107, 0.06);
}

.workspace-shell .teacher-assignment-student-detail-card > .card-body {
  padding: clamp(1rem, 2.5vw, 1.4rem);
}

.workspace-shell .teacher-assignment-student-detail-student,
.workspace-shell .teacher-assignment-student-detail-heading {
  margin: 0;
  color: var(--cll-harbor, #173F6B);
}

.workspace-shell .teacher-assignment-student-detail-student {
  font-size: clamp(1.15rem, 2.5vw, 1.45rem);
}

.workspace-shell .teacher-assignment-student-detail-heading {
  margin-bottom: 0.45rem;
  font-size: 1rem;
}

.workspace-shell .teacher-assignment-student-detail-meta,
.workspace-shell .teacher-assignment-student-detail-note,
.workspace-shell .teacher-assignment-student-detail-unit-title,
.workspace-shell .teacher-assignment-student-detail-unit-score,
.workspace-shell .teacher-assignment-student-detail-support-note {
  color: var(--cll-muted, #59677A) !important;
}

.workspace-shell .teacher-assignment-student-detail-meta {
  margin-top: 0.25rem;
  font-size: 0.88rem;
}

.workspace-shell .teacher-assignment-student-detail-score {
  margin-left: auto;
  text-align: right;
}

.workspace-shell .teacher-assignment-student-detail-score-value {
  color: var(--cll-harbor, #173F6B);
  font-size: 1.25rem;
  font-weight: 750;
  font-variant-numeric: tabular-nums;
}

/* Legacy Bootstrap and inline status colors were authored for dark cards.
 * Keep their text/condition meanings while making them readable on Canvas. */
.workspace-shell .teacher-assignment-student-detail-page .text-success,
.workspace-shell .teacher-assignment-student-detail-page [style*="color: #28a745"] {
  color: #0B5D43 !important;
}

.workspace-shell .teacher-assignment-student-detail-page .text-warning,
.workspace-shell .teacher-assignment-student-detail-page [style*="color: #ffc107"] {
  color: #744B00 !important;
}

.workspace-shell .teacher-assignment-student-detail-page .text-danger,
.workspace-shell .teacher-assignment-student-detail-page [style*="color: #dc3545"] {
  color: #A12A32 !important;
}

.workspace-shell .teacher-assignment-student-detail-page .badge.bg-danger.bg-opacity-75 {
  opacity: 1 !important;
  background-color: #A12A32 !important;
  color: #FFFFFF !important;
}

.workspace-shell .teacher-assignment-student-detail-status {
  margin-top: 0.3rem;
}

.workspace-shell .teacher-assignment-student-detail-note {
  max-width: 52rem;
  margin-bottom: 1rem;
  font-size: 0.88rem;
  line-height: 1.55;
}

.workspace-shell .teacher-assignment-student-detail-unit-row {
  display: grid;
  grid-template-columns: minmax(12rem, 1fr) minmax(9rem, 2fr) minmax(4.5rem, auto);
  align-items: center;
  gap: 0.75rem;
}

.workspace-shell .teacher-assignment-student-detail-unit-name,
.workspace-shell .teacher-assignment-student-detail-unit-score {
  font-size: 0.85rem;
}

.workspace-shell .teacher-assignment-student-detail-unit-score {
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.workspace-shell .teacher-assignment-student-detail-unit-bar {
  position: relative;
  height: 18px;
  overflow: hidden;
  background: #E5EBF1;
  border-radius: 4px;
}

.workspace-shell .teacher-assignment-student-detail-unit-bar > span {
  color: #000 !important;
}

.workspace-shell .teacher-assignment-student-detail-revisit ol {
  color: #24394F;
}

.workspace-shell .teacher-assignment-student-detail-revisit a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: var(--cll-signal-teal, #0F766E) !important;
  font-weight: 700;
  text-decoration: none;
}

.workspace-shell .teacher-assignment-student-detail-revisit a:hover {
  color: var(--cll-signal-teal-hover, #0C655F) !important;
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

.workspace-shell .teacher-assignment-student-detail-results .table-responsive,
.workspace-shell .teacher-assignment-student-detail-performance .table-responsive {
  max-width: 100%;
  overflow-x: auto;
}

.workspace-shell .teacher-assignment-student-detail-page .table {
  --bs-table-bg: transparent;
  --bs-table-color: #24394F;
  --bs-table-border-color: #DCE4EC;
  min-width: 48rem;
}

.workspace-shell .teacher-assignment-student-detail-page .table thead th {
  color: #38516A;
  font-size: 0.75rem;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.workspace-shell .teacher-assignment-student-detail-page .table td,
.workspace-shell .teacher-assignment-student-detail-page .table th {
  padding: 0.75rem;
}

.workspace-shell .teacher-assignment-student-detail-support-note {
  margin-top: 1rem;
  font-size: 0.82rem;
  line-height: 1.5;
}

.workspace-shell .teacher-assignment-student-detail-page :is(a, button):focus-visible {
  outline: 3px solid var(--cll-focus-ring, #0F766E);
  outline-offset: 3px;
  box-shadow: none;
}

@media (prefers-reduced-motion: reduce) {
  .workspace-shell .teacher-assignment-student-detail-page *,
  .workspace-shell .teacher-assignment-student-detail-page *::before,
  .workspace-shell .teacher-assignment-student-detail-page *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}

@media (max-width: 700px) {
  .workspace-shell .teacher-assignment-student-detail-header {
    align-items: flex-start;
    flex-direction: column;
  }

  .workspace-shell .teacher-assignment-student-detail-neighbors {
    width: 100%;
  }

  .workspace-shell .teacher-assignment-student-detail-neighbors .btn {
    flex: 1 1 12rem;
  }

  .workspace-shell .teacher-assignment-student-detail-summary-row {
    align-items: flex-start;
  }

  .workspace-shell .teacher-assignment-student-detail-score {
    margin-left: 0;
    text-align: left;
  }

  .workspace-shell .teacher-assignment-student-detail-unit-row {
    grid-template-columns: minmax(0, 1fr) minmax(4.5rem, auto);
  }

  .workspace-shell .teacher-assignment-student-detail-unit-bar {
    grid-column: 1 / -1;
    grid-row: 2;
  }
}

@media (max-width: 420px) {
  .workspace-shell .teacher-assignment-student-detail-neighbors .btn {
    flex-basis: 100%;
    width: 100%;
  }
}

/* Teacher student profile: presentation-only migration of class-scoped
 * learning evidence, existing account-wide controls, and teacher notes into
 * the shared light workspace shell. */
.workspace-shell .teacher-student-profile-page {
  width: min(100%, 1100px);
  min-width: 0;
  margin: 0 auto;
  padding-bottom: 1.5rem;
  color: var(--cll-ink, #142033);
}

.workspace-shell .teacher-student-profile-header {
  margin-bottom: 1rem;
}

.workspace-shell .teacher-student-profile-back {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: var(--cll-signal-teal, #0F766E);
  font-weight: 700;
  text-decoration: none;
}

.workspace-shell .teacher-student-profile-back:hover {
  color: var(--cll-signal-teal-hover, #0C655F);
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

.workspace-shell .teacher-student-profile-class-context {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 1rem;
}

.workspace-shell .teacher-student-profile-class-context .form-select {
  width: min(100%, 20rem);
  min-height: 44px;
}

.workspace-shell .teacher-student-profile-provenance {
  max-width: 54rem;
  margin-bottom: 1rem;
  color: var(--cll-muted, #59677A);
  font-size: 0.88rem;
  line-height: 1.55;
}

.workspace-shell .teacher-student-profile-card {
  margin-bottom: 1rem;
  color: var(--cll-ink, #142033);
  background: var(--cll-surface, #FFFFFF) !important;
  border: 1px solid var(--cll-border, #D8E0EA) !important;
  border-radius: 14px;
  box-shadow: 0 4px 18px rgba(23, 63, 107, 0.06);
}

.workspace-shell .teacher-student-profile-card > .card-body {
  padding: clamp(1rem, 2.5vw, 1.4rem);
}

.workspace-shell .teacher-student-profile-section-title {
  margin: 0 0 0.55rem;
  color: var(--cll-harbor, #173F6B);
  font-size: 0.82rem;
  font-weight: 750;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.workspace-shell .teacher-student-profile-stat-tray {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(7rem, 1fr));
  gap: 0.5rem;
  padding: 0.5rem;
  background: #F6F8FB;
  border: 1px solid #D8E0EA;
  border-radius: 10px;
}

.workspace-shell .teacher-student-profile-stat-cell {
  min-width: 0;
  padding: 0.55rem 0.4rem;
  text-align: center;
  background: #FFFFFF;
  border: 1px solid #E0E7EF;
  border-radius: 8px;
}

.workspace-shell .teacher-student-profile-stat-value {
  color: var(--cll-harbor, #173F6B);
  font-size: 1.1rem;
  font-weight: 750;
  font-variant-numeric: tabular-nums;
}

.workspace-shell .teacher-student-profile-stat-value--ok,
.workspace-shell .teacher-student-profile-page .text-success {
  color: #0B5D43 !important;
}

.workspace-shell .teacher-student-profile-stat-value--warn,
.workspace-shell .teacher-student-profile-page .text-warning {
  color: #744B00 !important;
}

.workspace-shell .teacher-student-profile-page .text-danger {
  color: #A12A32 !important;
}

.workspace-shell .teacher-student-profile-stat-value--dim,
.workspace-shell .teacher-student-profile-page .text-muted,
.workspace-shell .teacher-student-profile-page [style*="color: rgba(255,255,255"] {
  color: var(--cll-muted, #59677A) !important;
}

.workspace-shell .teacher-student-profile-stat-label {
  margin-top: 0.08rem;
  color: var(--cll-muted, #59677A);
  font-size: 0.65rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

/* Bootstrap's translucent badge backgrounds need an explicit foreground on
 * the light profile card to retain text contrast. */
.workspace-shell .teacher-student-profile-page .teacher-student-profile-empty-badge {
  color: #24394F !important;
}

.workspace-shell .teacher-student-profile-type-badge {
  color: #173F6B !important;
  font-weight: 700;
}

.workspace-shell .teacher-student-profile-page .btn,
.workspace-shell .teacher-student-profile-page .form-control,
.workspace-shell .teacher-student-profile-page .form-select {
  min-height: 44px;
}

.workspace-shell .teacher-student-profile-page .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
}

.workspace-shell .teacher-student-profile-page .btn-outline-light {
  color: var(--cll-signal-teal, #0F766E) !important;
  background: #FFFFFF;
  border-color: var(--cll-signal-teal, #0F766E);
}

.workspace-shell .teacher-student-profile-page .btn-outline-light:hover {
  color: #FFFFFF !important;
  background: var(--cll-signal-teal, #0F766E);
  border-color: var(--cll-signal-teal, #0F766E);
}

.workspace-shell .teacher-student-profile-page .btn-outline-secondary {
  color: #38516A;
  background: #FFFFFF;
  border-color: #738396;
}

.workspace-shell .teacher-student-profile-page .btn-outline-secondary:hover {
  color: #FFFFFF;
  background: #38516A;
  border-color: #38516A;
}

.workspace-shell .teacher-student-profile-page .btn-outline-danger {
  color: #A12A32;
  background: #FFFFFF;
  border-color: #A12A32;
}

.workspace-shell .teacher-student-profile-page .btn-outline-danger:hover {
  color: #FFFFFF;
  background: #A12A32;
  border-color: #A12A32;
}

.workspace-shell .teacher-student-profile-page .form-control,
.workspace-shell .teacher-student-profile-page .form-select {
  color: var(--cll-ink, #142033);
  background: #FFFFFF;
  border-color: #B9C6D4;
}

.workspace-shell .teacher-student-profile-page .form-check {
  min-height: 44px;
  padding-top: 0.45rem;
}

.workspace-shell .teacher-student-profile-page .form-check-input {
  min-width: 2.25rem;
  min-height: 1.15rem;
}

.workspace-shell .teacher-student-profile-page .form-check-input:checked {
  background-color: var(--cll-signal-teal, #0F766E);
  border-color: var(--cll-signal-teal, #0F766E);
}

.workspace-shell .teacher-student-profile-note {
  min-height: 7rem !important;
  line-height: 1.5;
}

.workspace-shell .teacher-student-profile-table-wrap {
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.workspace-shell .teacher-student-profile-page .table {
  --bs-table-bg: transparent;
  --bs-table-color: #24394F;
  --bs-table-border-color: #DCE4EC;
  min-width: 44rem;
}

.workspace-shell .teacher-student-profile-page .table thead th {
  color: #38516A;
  font-size: 0.75rem;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.workspace-shell .teacher-student-profile-page .table td,
.workspace-shell .teacher-student-profile-page .table th {
  padding: 0.75rem;
}

.workspace-shell .teacher-student-profile-page .progress {
  background: #E5EBF1 !important;
}

.workspace-shell .teacher-student-profile-feedback-card {
  border-left: 3px solid #B77A00 !important;
}

.workspace-shell .teacher-student-profile-feedback-button {
  min-width: 50px;
}

.workspace-shell .teacher-student-profile-feedback-comment {
  width: min(100%, 300px);
}

.workspace-shell .teacher-student-profile-page :is(a, button, input, select, textarea):focus-visible {
  outline: 3px solid var(--cll-focus-ring, #0F766E);
  outline-offset: 3px;
  box-shadow: none;
}

@media (prefers-reduced-motion: reduce) {
  .workspace-shell .teacher-student-profile-page *,
  .workspace-shell .teacher-student-profile-page *::before,
  .workspace-shell .teacher-student-profile-page *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}

@media (max-width: 768px) {
  .workspace-shell .teacher-student-profile-class-context {
    align-items: flex-start;
    flex-direction: column;
  }

  .workspace-shell .teacher-student-profile-class-context .form-select,
  .workspace-shell .teacher-student-profile-feedback-comment {
    width: 100%;
  }

  .workspace-shell .teacher-student-profile-stat-tray {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 480px) {
  .workspace-shell .teacher-student-profile-card > .card-body {
    padding: 0.9rem;
  }

  .workspace-shell .teacher-student-profile-stat-tray {
    grid-template-columns: minmax(0, 1fr);
  }

  .workspace-shell .teacher-student-profile-page .btn {
    width: 100%;
  }

.workspace-shell .teacher-student-profile-page .d-flex.gap-2 {
    align-items: stretch;
    flex-direction: column;
  }
}

/* Keep assignment-operations secondary actions legible after the shared
 * #mainContent button normalization above. */
.workspace-shell #mainContent .teacher-essay-assignment-history-page .btn-outline-light,
.workspace-shell #mainContent .teacher-missing-work-page .btn-outline-light {
  color: var(--cll-signal-teal, #0F766E) !important;
  background: #FFFFFF;
  border-color: var(--cll-signal-teal, #0F766E);
}

.workspace-shell #mainContent .teacher-essay-assignment-history-page .btn-outline-light:hover,
.workspace-shell #mainContent .teacher-missing-work-page .btn-outline-light:hover {
  color: #FFFFFF !important;
  background: var(--cll-signal-teal, #0F766E);
  border-color: var(--cll-signal-teal, #0F766E);
}

/* Teacher class evidence: presentation-only migration of the existing class
 * insights, skill, item, and read-only preview routes. The route handlers
 * remain the source of truth for class ownership, evidence thresholds,
 * subject routing, and assignment handoffs. */
.workspace-shell .teacher-class-evidence-page {
  width: min(100%, 1180px);
  min-width: 0;
  margin: 0 auto;
  padding-bottom: 1.5rem;
  color: var(--cll-ink, #142033);
}

.workspace-shell .teacher-class-evidence-header {
  margin-bottom: 1rem;
}

.workspace-shell .teacher-class-evidence-back-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.3rem 1rem;
}

.workspace-shell .teacher-class-evidence-back {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: var(--cll-signal-teal, #0F766E);
  font-size: 0.9rem;
  font-weight: 700;
  text-decoration: none;
}

.workspace-shell .teacher-class-evidence-back:hover {
  color: var(--cll-signal-teal-hover, #0C655F);
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

.workspace-shell .teacher-class-evidence-kicker {
  margin: 0.4rem 0 0.15rem;
  color: var(--cll-signal-teal, #0F766E);
  font-size: 0.75rem;
  font-weight: 750;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.workspace-shell .teacher-class-evidence-header h2 {
  margin: 0;
  color: var(--cll-harbor, #173F6B);
  font-size: clamp(1.25rem, 2vw, 1.6rem);
  font-weight: 750;
}

.workspace-shell .teacher-class-evidence-context {
  max-width: 52rem;
  margin: 0.35rem 0 0;
  color: var(--cll-muted, #59677A);
  font-size: 0.9rem;
  line-height: 1.5;
}

.workspace-shell .teacher-class-evidence-tools {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
  margin: 0 0 1.25rem;
}

.workspace-shell .teacher-class-evidence-tools > div {
  display: grid;
  gap: 0.4rem;
  min-width: 0;
}

.workspace-shell .teacher-class-evidence-tools small {
  color: var(--cll-muted, #59677A);
  font-size: 0.78rem;
  line-height: 1.35;
}

.workspace-shell .teacher-class-evidence-page .card {
  color: var(--cll-ink, #142033);
  background: var(--cll-surface, #FFFFFF) !important;
  border: 1px solid var(--cll-border, #D8E0EA) !important;
  border-radius: 14px;
  box-shadow: 0 4px 18px rgba(23, 63, 107, 0.06);
}

.workspace-shell .teacher-class-skill-group-page .card.border-warning {
  border-color: #F6C451 !important;
}

.workspace-shell .teacher-class-evidence-page .card-body {
  padding: clamp(1rem, 2.5vw, 1.4rem);
}

.workspace-shell .teacher-class-evidence-page .card h3,
.workspace-shell .teacher-class-evidence-page > h3 {
  color: var(--cll-harbor, #173F6B);
}

.workspace-shell .teacher-class-evidence-page .text-muted,
.workspace-shell .teacher-class-evidence-page [style*="color: rgba(255,255,255"],
.workspace-shell .teacher-class-evidence-page [style*="color:rgba(255,255,255"] {
  color: var(--cll-muted, #59677A) !important;
}

.workspace-shell .teacher-class-evidence-page a:not(.btn):not(.badge) {
  color: var(--cll-signal-teal, #0F766E);
}

.workspace-shell .teacher-class-evidence-page .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0.5rem 0.85rem;
  font-weight: 700;
}

.workspace-shell .teacher-class-evidence-page .btn-primary {
  color: #FFFFFF;
  background: var(--cll-harbor, #173F6B);
  border-color: var(--cll-harbor, #173F6B);
}

.workspace-shell .teacher-class-evidence-page .btn-outline-primary,
.workspace-shell .teacher-class-evidence-page .btn-outline-light {
  color: var(--cll-signal-teal, #0F766E) !important;
  background: #FFFFFF;
  border-color: var(--cll-signal-teal, #0F766E);
}

.workspace-shell .teacher-class-evidence-page .btn-outline-primary:hover,
.workspace-shell .teacher-class-evidence-page .btn-outline-light:hover {
  color: #FFFFFF !important;
  background: var(--cll-signal-teal, #0F766E);
  border-color: var(--cll-signal-teal, #0F766E);
}

.workspace-shell .teacher-class-evidence-page .btn-outline-secondary {
  color: #38516A;
  background: #FFFFFF;
  border-color: #738396;
}

.workspace-shell .teacher-class-insights-actions,
.workspace-shell .teacher-class-insights-assignment-form {
  min-width: 0;
}

.workspace-shell .teacher-class-skill-group-page .teacher-class-evidence-student-badge {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  max-width: 100%;
  padding: 0.5rem 0.75rem;
  white-space: normal;
}

.workspace-shell .teacher-class-evidence-page .table-responsive,
.workspace-shell .teacher-class-evidence-table-wrap {
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.workspace-shell .teacher-class-evidence-page .table {
  --bs-table-bg: transparent;
  --bs-table-color: #24394F;
  --bs-table-border-color: #DCE4EC;
  margin-bottom: 0;
}

.workspace-shell .teacher-class-evidence-page .table thead th {
  color: #38516A;
  font-size: 0.75rem;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.workspace-shell .teacher-class-evidence-page .table td,
.workspace-shell .teacher-class-evidence-page .table th {
  padding: 0.7rem;
  vertical-align: middle;
}

.workspace-shell .teacher-class-heatmap-page .table,
.workspace-shell .teacher-class-skill-group-page .table,
.workspace-shell .teacher-student-mastery-page .table {
  min-width: 44rem;
}

.workspace-shell .teacher-skill-preview-page .table {
  min-width: 38rem;
}

.workspace-shell .teacher-class-heatmap-page .heatmap-green {
  color: #FFFFFF !important;
  background: #0B5D43 !important;
}

.workspace-shell .teacher-class-heatmap-page .heatmap-yellow {
  color: #1F2937 !important;
  background: #F6C451 !important;
}

.workspace-shell .teacher-class-heatmap-page .heatmap-red {
  color: #FFFFFF !important;
  background: #A12A32 !important;
}

.workspace-shell .teacher-class-heatmap-page .heatmap-gray {
  color: #FFFFFF !important;
  background: #526172 !important;
}

.workspace-shell .teacher-class-evidence-page .bg-success { background-color: #0B5D43 !important; }
.workspace-shell .teacher-class-evidence-page .bg-warning { color: #1F2937 !important; background-color: #F6C451 !important; }
.workspace-shell .teacher-class-evidence-page .bg-danger { background-color: #A12A32 !important; }
.workspace-shell .teacher-class-evidence-page .text-warning { color: #744B00 !important; }
.workspace-shell .teacher-class-evidence-page .text-danger { color: #A12A32 !important; }
.workspace-shell .teacher-class-evidence-page .text-success { color: #0B5D43 !important; }
.workspace-shell .teacher-class-evidence-page .progress { background: #E5EBF1 !important; }

.workspace-shell .teacher-class-evidence-page .form-select,
.workspace-shell .teacher-class-evidence-page .form-control {
  min-height: 44px;
  color: var(--cll-ink, #142033);
  background: #FFFFFF;
  border-color: #B9C6D4;
}

.workspace-shell .teacher-class-evidence-page :is(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid var(--cll-focus-ring, #0F766E);
  outline-offset: 3px;
  box-shadow: none;
}

@media (prefers-reduced-motion: reduce) {
  .workspace-shell .teacher-class-evidence-page *,
  .workspace-shell .teacher-class-evidence-page *::before,
  .workspace-shell .teacher-class-evidence-page *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}

@media (max-width: 700px) {
  .workspace-shell .teacher-class-evidence-tools { grid-template-columns: minmax(0, 1fr); }
  .workspace-shell .teacher-class-evidence-tools .btn { width: 100%; }
  .workspace-shell .teacher-class-evidence-page .card-body { padding: 1rem; }
}

@media (max-width: 576px) {
  .workspace-shell .teacher-class-insights-actions,
  .workspace-shell .teacher-class-insights-assignment-form {
    flex-direction: column;
    align-items: stretch !important;
  }

  .workspace-shell .teacher-class-insights-actions > form,
  .workspace-shell .teacher-class-insights-actions > a,
  .workspace-shell .teacher-class-insights-assignment-form > div,
  .workspace-shell .teacher-class-insights-assignment-form > button {
    width: 100%;
  }

  .workspace-shell .teacher-class-insights-actions .btn {
    width: 100%;
  }
}

/* Student Decision Coach workspace migration. */
.workspace-shell .student-decision-coach-workspace {
  max-width: 48rem;
}

.workspace-shell .student-decision-coach-card,
.workspace-shell .student-decision-coach-result {
  color: var(--cll-ink, #142033);
  background: var(--cll-surface, #FFFFFF);
  border: 1px solid var(--cll-border, #D8E0EA) !important;
  border-radius: 14px;
  box-shadow: 0 4px 18px rgba(23, 63, 107, 0.06);
}

.workspace-shell .student-decision-coach-card > .card-body,
.workspace-shell .student-decision-coach-result > .card-body {
  padding: clamp(1rem, 2.5vw, 1.5rem);
}

.workspace-shell .student-decision-coach-workspace .form-label,
.workspace-shell .student-decision-coach-result h5 {
  color: var(--cll-harbor, #173F6B);
}

.workspace-shell .student-decision-coach-workspace .form-select,
.workspace-shell .student-decision-coach-workspace .form-control {
  min-height: 44px;
  color: var(--cll-ink, #142033);
  background: #FFFFFF;
  border-color: #B9C6D4;
}

.workspace-shell .student-decision-coach-workspace textarea.form-control {
  min-height: 6.5rem;
}

.workspace-shell .student-decision-coach-workspace .btn-primary {
  min-height: 44px;
  padding: 0.5rem 0.9rem;
  font-weight: 700;
  color: #FFFFFF;
  background: var(--cll-harbor, #173F6B);
  border-color: var(--cll-harbor, #173F6B);
}

.workspace-shell .student-decision-coach-reasoning {
  white-space: pre-wrap;
}

.workspace-shell .student-decision-coach-workspace :is(button, select, textarea):focus-visible {
  outline: 3px solid var(--cll-focus-ring, #0F766E);
  outline-offset: 3px;
  box-shadow: none;
}

@media (max-width: 640px) {
  .workspace-shell .student-decision-coach-workspace .btn-primary {
    width: 100%;
  }
}

/* Historical Reasoning workspace migration: presentation only. */
.workspace-shell .student-history-reasoning-workspace {
  width: min(100%, 52rem);
  min-width: 0;
  margin: 0 auto;
  color: var(--cll-ink, #142033);
}

.workspace-shell .student-history-reasoning-surface {
  padding: clamp(1rem, 2.5vw, 1.5rem);
  background: var(--cll-surface, #FFFFFF);
  border: 1px solid var(--cll-border, #D8E0EA);
  border-radius: 14px;
  box-shadow: 0 4px 18px rgba(23, 63, 107, .06);
  overflow-wrap: anywhere;
}

.workspace-shell .student-history-reasoning-filters,
.workspace-shell .student-history-reasoning-feedback-links {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin-bottom: 1.25rem;
}

.workspace-shell .student-history-reasoning-filter,
.workspace-shell .student-history-reasoning-back,
.workspace-shell .student-history-reasoning-feedback-links a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: .45rem .75rem;
  color: var(--cll-signal-teal, #0F766E);
  border: 1px solid #9EBAAF;
  border-radius: 8px;
  font-weight: 700;
  text-decoration: none;
}

.workspace-shell .student-history-reasoning-filter--active,
.workspace-shell .student-history-reasoning-submit {
  color: #FFFFFF;
  background: var(--cll-harbor, #173F6B);
  border-color: var(--cll-harbor, #173F6B);
}

.workspace-shell .student-history-reasoning-progress,
.workspace-shell .student-history-reasoning-scenario-meta,
.workspace-shell .student-history-reasoning-response,
.workspace-shell .student-history-reasoning-next-step,
.workspace-shell .student-history-reasoning-recommendation,
.workspace-shell .student-history-reasoning-adaptive-note {
  margin-bottom: 1.25rem;
  padding: 1rem;
  background: #F6F8FB;
  border: 1px solid #D8E0EA;
  border-radius: 10px;
}

.workspace-shell .student-history-reasoning-progress h2,
.workspace-shell .student-history-reasoning-list h2,
.workspace-shell .student-history-reasoning-scenario-meta h2,
.workspace-shell .student-history-reasoning-feedback h2,
.workspace-shell .student-history-reasoning-feedback h3 {
  color: var(--cll-harbor, #173F6B);
}

.workspace-shell .student-history-reasoning-progress h2,
.workspace-shell .student-history-reasoning-list h2 { font-size: 1.1rem; }
.workspace-shell .student-history-reasoning-scenario-meta > span { font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.workspace-shell .student-history-reasoning-scenario-meta h2 { margin: .3rem 0 0; font-size: clamp(1.25rem, 3vw, 1.7rem); }
.workspace-shell .student-history-reasoning-scenario-meta h2 span { font-size: .8em; font-weight: 500; }

.workspace-shell .student-history-reasoning-progress-list { display: grid; gap: .65rem; }
.workspace-shell .student-history-reasoning-progress-row { display: flex; flex-wrap: wrap; gap: .5rem 1rem; align-items: baseline; }
.workspace-shell .student-history-reasoning-progress-name { font-weight: 700; }
.workspace-shell .student-history-reasoning-progress-counts { display: flex; flex-wrap: wrap; gap: .35rem .65rem; color: var(--cll-muted, #59677A); font-size: .9rem; }
.workspace-shell .student-history-reasoning-status--strong { color: #0B5D43; }
.workspace-shell .student-history-reasoning-status--developing { color: #744B00; }
.workspace-shell .student-history-reasoning-status--missing { color: #8E2630; }

.workspace-shell .student-history-reasoning-scenario-list { display: grid; gap: .65rem; }
.workspace-shell .student-history-reasoning-scenario {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .25rem .75rem;
  min-height: 44px;
  padding: .9rem 1rem;
  color: var(--cll-ink, #142033);
  background: #FFFFFF;
  border: 1px solid #D8E0EA;
  border-left: 4px solid var(--cll-signal-teal, #0F766E);
  border-radius: 8px;
  font-weight: 700;
  text-decoration: none;
}
.workspace-shell .student-history-reasoning-scenario-period,
.workspace-shell .student-history-reasoning-scenario-type { color: var(--cll-muted, #59677A); font-size: .88rem; font-weight: 500; }
.workspace-shell .student-history-reasoning-scenario-type { grid-column: 1 / -1; }

.workspace-shell .student-history-reasoning-context { color: var(--cll-muted, #59677A); }
.workspace-shell .student-history-reasoning-prompt { font-size: 1.05rem; font-weight: 700; }
.workspace-shell .student-history-reasoning-choices { display: grid; gap: .65rem; margin: 0 0 1rem; padding: 0; border: 0; }
.workspace-shell .student-history-reasoning-choices legend { margin-bottom: .65rem; color: var(--cll-harbor, #173F6B); font-weight: 700; }
.workspace-shell .student-history-reasoning-choice {
  display: flex;
  gap: .75rem;
  align-items: flex-start;
  min-height: 44px;
  padding: .85rem 1rem;
  background: #FFFFFF;
  border: 1px solid #B9C6D4;
  border-radius: 8px;
  cursor: pointer;
}
.workspace-shell .student-history-reasoning-choice:has(input:checked) {
  border-color: var(--cll-signal-teal, #0F766E);
  box-shadow: inset 0 0 0 1px var(--cll-signal-teal, #0F766E);
  background: #F0F8F6;
}
.workspace-shell .student-history-reasoning-choice input { flex: 0 0 auto; margin-top: .2rem; accent-color: var(--cll-signal-teal, #0F766E); }
.workspace-shell .student-history-reasoning-submit { min-height: 44px; padding: .5rem .9rem; border-radius: 8px; font-weight: 700; }

.workspace-shell .student-history-reasoning-result { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; margin-bottom: 1rem; padding: 1rem; border: 1px solid; border-radius: 10px; }
.workspace-shell .student-history-reasoning-result--strong { color: #063D2D; background: #EAF7F1; border-color: #8DC9B3; }
.workspace-shell .student-history-reasoning-result--developing { color: #5F3E00; background: #FFF7DE; border-color: #E8C56B; }
.workspace-shell .student-history-reasoning-result--missing { color: #721F28; background: #FDEEEF; border-color: #D9A2A7; }
.workspace-shell .student-history-reasoning-adaptive-note { color: #283B72; background: #EEF1FB; border-color: #B7C2E6; }
.workspace-shell .student-history-reasoning-response p,
.workspace-shell .student-history-reasoning-feedback-copy p,
.workspace-shell .student-history-reasoning-next-step p { margin-bottom: 0; }
.workspace-shell .student-history-reasoning-details { margin: 0 0 1rem; padding: .9rem 1rem; border: 1px solid #D8E0EA; border-radius: 8px; }
.workspace-shell .student-history-reasoning-details summary { min-height: 28px; color: var(--cll-signal-teal, #0F766E); font-weight: 700; cursor: pointer; }
.workspace-shell .student-history-reasoning-details p { margin: .75rem 0 0; }
.workspace-shell .student-history-reasoning-options { display: grid; gap: .5rem; margin-top: .75rem; }
.workspace-shell .student-history-reasoning-option { display: flex; gap: .5rem; align-items: flex-start; padding: .75rem; border-left: 4px solid #A12A32; background: #F9FAFC; }
.workspace-shell .student-history-reasoning-option--strong { border-left-color: #0B5D43; }
.workspace-shell .student-history-reasoning-option--developing { border-left-color: #B77900; }
.workspace-shell .student-history-reasoning-option--selected { box-shadow: inset 0 0 0 1px #738396; }
.workspace-shell .student-history-reasoning-recommendation { display: grid; gap: .4rem; background: #EEF6F5; border-color: #9EBAAF; }
.workspace-shell .student-history-reasoning-recommendation a { color: var(--cll-signal-teal, #0F766E); font-weight: 700; }
.workspace-shell .student-history-reasoning-error { margin-top: 1rem; padding: 1rem; color: #721F28; background: #FDEEEF; border: 1px solid #D9A2A7; border-radius: 8px; }

.workspace-shell .student-history-reasoning-workspace :is(a, button, input, summary):focus-visible { outline: 3px solid var(--cll-focus-ring, #0F766E); outline-offset: 3px; }

@media (max-width: 480px) {
  .workspace-shell .student-history-reasoning-surface { padding: 1rem; }
  .workspace-shell .student-history-reasoning-scenario { grid-template-columns: 1fr; }
  .workspace-shell .student-history-reasoning-scenario-period { grid-row: 2; }
  .workspace-shell .student-history-reasoning-submit { width: 100%; }
}

/* Class-scoped student feedback remains a read-only Students workspace view.
 * The route continues to own authorization, record selection, and ordering. */
.workspace-shell .teacher-class-student-feedback-page {
  width: min(100%, 44rem);
  min-width: 0;
  margin: 0 auto;
  padding-bottom: 1.5rem;
  color: var(--cll-ink, #142033);
}

.workspace-shell .teacher-class-student-feedback-header {
  margin-bottom: 1.25rem;
}

.workspace-shell .teacher-class-student-feedback-back,
.workspace-shell .teacher-class-student-feedback-footer a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: var(--cll-signal-teal, #0F766E);
  font-weight: 700;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.18em;
}

.workspace-shell .teacher-class-student-feedback-kicker {
  margin: 0.75rem 0 0.3rem;
  color: var(--cll-muted, #59677A);
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.workspace-shell .teacher-class-student-feedback-header h2 {
  margin: 0;
  color: var(--cll-harbor, #173F6B);
  font-family: Newsreader, Georgia, serif;
  font-size: clamp(1.75rem, 4vw, 2.2rem);
  font-weight: 700;
}

.workspace-shell .teacher-class-student-feedback-context {
  margin: 0.45rem 0 0;
  color: var(--cll-muted, #59677A);
}

.workspace-shell .teacher-class-student-feedback-list {
  display: grid;
  gap: 0.75rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.workspace-shell .teacher-class-student-feedback-card,
.workspace-shell .teacher-class-student-feedback-empty {
  min-width: 0;
  padding: clamp(1rem, 2.5vw, 1.25rem);
  background: var(--cll-surface, #FFFFFF);
  border: 1px solid var(--cll-border, #D8E0EA);
  border-radius: 12px;
  box-shadow: 0 4px 14px rgba(20, 32, 51, 0.04);
}

.workspace-shell .teacher-class-student-feedback-card-header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.5rem 1rem;
  flex-wrap: wrap;
}

.workspace-shell .teacher-class-student-feedback-card h3 {
  margin: 0;
  color: var(--cll-harbor, #173F6B);
  font-size: 1rem;
  font-weight: 700;
}

.workspace-shell .teacher-class-student-feedback-card time {
  color: var(--cll-muted, #59677A);
  font-size: 0.8rem;
}

.workspace-shell .teacher-class-student-feedback-meta {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
  margin-top: 0.65rem;
}

.workspace-shell .teacher-class-student-feedback-category {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0.2rem 0.55rem;
  color: #38516A;
  background: #EEF3F7;
  border: 1px solid #C7D3DE;
  border-radius: 999px;
  font-size: 0.76rem;
  font-weight: 700;
}

.workspace-shell .teacher-class-student-feedback-rating {
  color: #7A5A00;
  font-size: 0.92rem;
  letter-spacing: 0.08em;
  white-space: nowrap;
}

.workspace-shell .teacher-class-student-feedback-comment {
  margin: 0.75rem 0 0;
  color: var(--cll-ink, #142033);
  line-height: 1.5;
  overflow-wrap: anywhere;
}

.workspace-shell .teacher-class-student-feedback-empty {
  color: var(--cll-muted, #59677A);
  background: var(--cll-canvas, #F6F8FB);
}

.workspace-shell .teacher-class-student-feedback-empty p {
  margin: 0;
}

.workspace-shell .teacher-class-student-feedback-footer {
  margin-top: 1rem;
}

.workspace-shell .teacher-class-student-feedback-page :is(a, summary):focus-visible {
  outline: 3px solid var(--cll-focus-ring, #0F766E);
  outline-offset: 3px;
  box-shadow: none;
}

@media (max-width: 480px) {
  .workspace-shell .teacher-class-student-feedback-card-header {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.25rem;
  }
}

/* Exact-class legacy analytics now render inside the authenticated Evidence &
   review workspace. Query, threshold, and authorization behavior remain in
   the routes; these rules only provide the shared responsive presentation. */
.workspace-shell .teacher-analytics-evidence-page {
  width: 100%;
  max-width: 1080px;
  margin: 0 auto;
  color: var(--cll-ink, #142033);
}

.workspace-shell .teacher-analytics-evidence-header {
  margin-bottom: 1.25rem;
}

.workspace-shell .teacher-analytics-evidence-back,
.workspace-shell .teacher-analytics-evidence-next a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: var(--cll-signal-teal, #0F766E);
  font-weight: 700;
  text-decoration: none;
}

.workspace-shell .teacher-analytics-evidence-back:hover,
.workspace-shell .teacher-analytics-evidence-next a:hover {
  color: var(--cll-harbor, #173F6B);
  text-decoration: underline;
}

.workspace-shell .teacher-analytics-evidence-kicker {
  margin: 0.7rem 0 0.25rem;
  color: var(--cll-signal-teal, #0F766E);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.workspace-shell .teacher-analytics-evidence-header h2 {
  margin: 0;
  color: var(--cll-harbor, #173F6B);
  font-size: clamp(1.4rem, 3vw, 2rem);
  font-weight: 800;
}

.workspace-shell .teacher-analytics-evidence-context {
  margin: 0.45rem 0 0;
  color: var(--cll-muted, #59677A);
}

.workspace-shell .teacher-analytics-evidence-note {
  max-width: 920px;
  padding: 1rem 1.1rem;
  color: var(--cll-ink, #142033);
  background: #F0F6FB;
  border: 1px solid #C7D9E9;
  border-radius: 12px;
  line-height: 1.5;
}

.workspace-shell .teacher-analytics-evidence-note--spaced {
  margin-top: 1rem;
}

.workspace-shell .teacher-analytics-evidence-table-wrap {
  margin-top: 1rem;
  overflow-x: auto;
  border: 1px solid var(--cll-border, #D8E0EA);
  border-radius: 12px;
  background: var(--cll-surface, #FFFFFF);
}

.workspace-shell .teacher-analytics-evidence-table {
  width: 100%;
  min-width: 680px;
  border-collapse: collapse;
}

.workspace-shell .teacher-analytics-evidence-table th,
.workspace-shell .teacher-analytics-evidence-table td {
  padding: 0.8rem 0.9rem;
  border-bottom: 1px solid var(--cll-border, #D8E0EA);
  text-align: left;
  vertical-align: top;
}

.workspace-shell .teacher-analytics-evidence-table th {
  color: var(--cll-harbor, #173F6B);
  background: #EEF3F7;
  font-size: 0.82rem;
}

.workspace-shell .teacher-analytics-evidence-table tbody tr:last-child td {
  border-bottom: 0;
}

.workspace-shell .teacher-analytics-evidence-table tbody tr:hover {
  background: var(--cll-canvas, #F6F8FB);
}

.workspace-shell .teacher-analytics-evidence-table a {
  color: var(--cll-signal-teal, #0F766E);
  font-weight: 700;
}

.workspace-shell .teacher-analytics-evidence-low { color: #A12A32; font-weight: 700; }
.workspace-shell .teacher-analytics-evidence-mid { color: #744B00; font-weight: 700; }
.workspace-shell .teacher-analytics-evidence-high { color: #0B5D43; font-weight: 700; }
.workspace-shell .teacher-analytics-evidence-building { color: var(--cll-muted, #59677A); }
.workspace-shell .teacher-analytics-evidence-next { margin: 1.25rem 0 0; }

.workspace-shell .teacher-analytics-evidence-page :is(a, [tabindex="0"]):focus-visible {
  outline: 3px solid var(--cll-focus-ring, #0F766E);
  outline-offset: 3px;
}

@media (max-width: 640px) {
  .workspace-shell .teacher-analytics-evidence-note {
    padding: 0.85rem 0.9rem;
  }

  .workspace-shell .teacher-analytics-evidence-table th,
  .workspace-shell .teacher-analytics-evidence-table td {
    padding: 0.7rem;
  }
}


/* Student writing uses the same light workspace canvas as the rest of the
 * authenticated product. Keep the blue navigation rail, but remove the old
 * dark composing frame from the page, main column, and coach rail. */
.workspace-shell:has(.essay-coach-page) {
  background: var(--cll-canvas, #F6F8FB) !important;
  color: var(--cll-ink, #142033) !important;
}

.workspace-shell:has(.essay-coach-page) .workspace-shell__main,
.workspace-shell:has(.essay-coach-page) .essay-workspace-grid,
.workspace-shell:has(.essay-coach-page) .essay-workspace-main,
.workspace-shell:has(.essay-coach-page) .feedback-panel {
  background: var(--cll-canvas, #F6F8FB) !important;
  color: var(--cll-ink, #142033) !important;
}

.workspace-shell:has(.essay-coach-page) .coach-card-outer {
  background: var(--cll-surface, #FFFFFF) !important;
  border: 1px solid var(--cll-border, #D8E0EA);
  box-shadow: 0 4px 18px rgba(23, 63, 107, .06);
}

/* The document bar gives students one calm place to orient themselves and
 * verify the current draft state. The composing frame below stays intact. */
.workspace-shell .essay-coach-page {
  width: 100%;
  min-width: 0;
  max-width: 1440px;
  margin: 0 auto;
  overflow-wrap: anywhere;
}

.workspace-shell .essay-document-bar {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  width: 100%;
  min-width: 0;
  margin: 0 0 1rem;
  padding: .85rem 1rem;
  color: var(--cll-ink, #142033);
  background: var(--cll-surface, #FFFFFF);
  border: 1px solid var(--cll-border, #D8E0EA);
  border-radius: 12px;
  box-shadow: 0 4px 18px rgba(23, 63, 107, .05);
}

.workspace-shell .essay-document-context,
.workspace-shell .essay-document-controls,
.workspace-shell .essay-document-status {
  min-width: 0;
}

.workspace-shell .essay-document-kicker {
  margin-bottom: .2rem;
  color: var(--cll-signal-teal, #0F766E);
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .08em;
  line-height: 1.3;
  text-transform: uppercase;
}

.workspace-shell .essay-document-title {
  max-width: 62ch;
  margin: 0;
  overflow-wrap: anywhere;
  color: var(--cll-harbor, #173F6B);
  font-size: clamp(1rem, 2vw, 1.3rem);
  font-weight: 750;
  line-height: 1.3;
}

.workspace-shell .essay-document-meta {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem .7rem;
  margin-top: .25rem;
  color: var(--cll-muted, #59677A);
  font-size: .78rem;
  line-height: 1.4;
}

.workspace-shell .essay-document-controls {
  display: flex;
  align-items: flex-end;
  flex-direction: column;
  flex: 0 1 auto;
  gap: .4rem;
  text-align: right;
}

.workspace-shell .essay-document-status {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: .35rem;
  color: var(--cll-muted, #59677A);
  font-size: .78rem;
  line-height: 1.35;
}

.workspace-shell .essay-document-status #writingWordCount {
  color: var(--cll-harbor, #173F6B);
  font-weight: 750;
}

.workspace-shell .essay-document-status #draftSaveStatus {
  display: inline-block !important;
  min-width: 8rem;
  min-height: 1.2em;
  opacity: 1 !important;
  visibility: visible !important;
}

/* The document bar is the single visible word-count source. Keep the legacy
 * toolbar hook for existing scripts without presenting a duplicate metric. */
.workspace-shell .essay-coach-page .essay-toolbar-word-count-compat {
  display: none !important;
}

.workspace-shell .essay-document-status-separator {
  color: var(--cll-border, #D8E0EA);
}

.workspace-shell .essay-document-prompt-control {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  max-width: 100%;
  padding: .4rem .75rem;
  color: var(--cll-signal-teal, #0F766E);
  background: var(--cll-surface, #FFFFFF);
  border: 1px solid rgba(15, 118, 110, .48);
  border-radius: 7px;
  font-size: .78rem;
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
  cursor: pointer;
}

.workspace-shell a.essay-document-prompt-control {
  text-decoration: none;
}

.workspace-shell .essay-document-prompt-control:hover {
  color: #FFFFFF;
  background: var(--cll-signal-teal-hover, #0C655F);
  border-color: var(--cll-signal-teal-hover, #0C655F);
}

.workspace-shell .essay-coach-page :is(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid var(--cll-focus-ring, #0F766E);
  outline-offset: 3px;
}

/* The legacy SAQ labels carry dark inline colors. Keep the same labels and
 * fields, but give them sufficient contrast in the light document frame. */
.workspace-shell .essay-coach-page .saq-part-label {
  color: var(--cll-harbor, #173F6B) !important;
}

.workspace-shell .essay-coach-page .saq-part-kind {
  color: var(--cll-muted, #59677A) !important;
}

.workspace-shell .essay-coach-page .essay-workspace-grid {
  width: min(100%, 1440px);
  margin: 0 auto 1.75rem;
  min-width: 0;
}

.workspace-shell .essay-coach-page .essay-workspace-main,
.workspace-shell .essay-coach-page .feedback-panel {
  min-width: 0;
}

.workspace-shell .essay-coach-page .essay-coach-action-column {
  min-width: 0;
  display: flex;
  flex-direction: column;
}

.workspace-shell .essay-coach-page .essay-coach-action-column .essay-restore-banner {
  order: -1;
}

.workspace-shell .essay-coach-page .essay-dbq-source-hint {
  color: var(--cll-ink, #142033) !important;
}

.workspace-shell .essay-coach-page .essay-submit-btn,
.workspace-shell .essay-coach-page .coach-refresh-btn,
.workspace-shell .essay-coach-page .feedback-panel-cta {
  min-height: 44px;
}

.workspace-shell .essay-coach-page :is(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid var(--cll-focus-ring, #0F766E);
  outline-offset: 3px;
}

@media (max-width: 1199px) {
  .workspace-shell .essay-coach-page .essay-workspace-main {
    padding-right: 0;
  }

  .workspace-shell .essay-document-bar {
    margin-bottom: .85rem;
  }
}

@media (max-width: 768px) {
  .workspace-shell .essay-document-context {
    flex: 1 1 auto;
  }

  .workspace-shell .essay-document-controls {
    flex: 0 1 auto;
  }
}

@media (max-width: 640px) {
  .workspace-shell .essay-coach-page .essay-workspace-grid {
    margin-bottom: 1rem;
  }

  .workspace-shell .essay-document-bar {
    align-items: stretch;
    flex-direction: column;
    gap: .7rem;
    padding: .8rem .85rem;
  }

  .workspace-shell .essay-document-controls {
    align-items: stretch;
    text-align: left;
  }

  .workspace-shell .essay-document-status {
    justify-content: flex-start;
  }

  .workspace-shell .essay-document-prompt-control {
    align-self: flex-start;
  }
}

@media (max-width: 399px) {
  .workspace-shell .essay-document-bar {
    padding: .7rem;
  }

  .workspace-shell .essay-document-meta {
    gap: .25rem .5rem;
    font-size: .74rem;
  }

  .workspace-shell .essay-document-status {
    align-items: flex-start;
    flex-direction: column;
    gap: .15rem;
  }

  .workspace-shell .essay-document-status-separator {
    display: none;
  }

  .workspace-shell .essay-document-status #draftSaveStatus {
    min-width: 0;
  }

  .workspace-shell .essay-document-prompt-control {
    width: 100%;
  }
}

@media (max-width: 390px) {
  .workspace-shell .essay-document-title {
    font-size: 1rem;
  }
}

@media (max-width: 320px) {
  .workspace-shell .essay-document-bar {
    gap: .55rem;
    padding: .65rem;
  }

  .workspace-shell .essay-document-title {
    font-size: .96rem;
  }
}

/* Classes and Students are current-shell teacher destinations.  Their route
 * handlers continue to own class selection and authorization; these rules
 * only provide the light cards, roster table, and responsive actions. */
.workspace-shell .teacher-classes-page,
.workspace-shell .teacher-students-page {
  width: min(100%, 1080px);
  min-width: 0;
  margin: 0 auto;
  padding-bottom: 1.5rem;
  color: var(--cll-ink, #142033);
}

.workspace-shell .teacher-classes-card,
.workspace-shell .teacher-students-card {
  margin-bottom: 1rem;
  padding: clamp(1rem, 2.5vw, 1.4rem);
  background: var(--cll-surface, #FFFFFF);
  border: 1px solid var(--cll-border, #D8E0EA);
  border-radius: 14px;
  box-shadow: 0 4px 18px rgba(23, 63, 107, 0.06);
}

.workspace-shell .teacher-classes-card-header,
.workspace-shell .teacher-students-card-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  margin-bottom: 1rem;
}

.workspace-shell .teacher-classes-kicker,
.workspace-shell .teacher-students-kicker {
  margin: 0 0 0.3rem;
  color: var(--cll-signal-teal, #0F766E);
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.workspace-shell .teacher-classes-card h2,
.workspace-shell .teacher-students-card h2 {
  margin: 0;
  color: var(--cll-harbor, #173F6B);
  font-size: clamp(1.2rem, 3vw, 1.55rem);
  font-weight: 750;
}

.workspace-shell .teacher-classes-count,
.workspace-shell .teacher-students-count {
  color: var(--cll-muted, #59677A);
  font-size: 0.82rem;
  font-weight: 700;
  white-space: nowrap;
}

.workspace-shell .teacher-classes-list {
  display: grid;
  gap: 0.75rem;
}

.workspace-shell .teacher-class-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-width: 0;
  padding: 1rem;
  background: #FFFFFF;
  border: 1px solid #E0E7EF;
  border-radius: 10px;
}

.workspace-shell .teacher-class-card:hover {
  border-color: var(--cll-signal-teal, #0F766E);
  box-shadow: 0 5px 16px rgba(20, 32, 51, 0.06);
}

.workspace-shell .teacher-class-card-main {
  min-width: 0;
}

.workspace-shell .teacher-class-card-subject {
  margin: 0 0 0.25rem;
  color: var(--cll-signal-teal, #0F766E);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.workspace-shell .teacher-class-card h3 {
  margin: 0;
  color: var(--cll-ink, #142033);
  font-size: 1rem;
  font-weight: 750;
  overflow-wrap: anywhere;
}

.workspace-shell .teacher-class-card-meta,
.workspace-shell .teacher-classes-empty,
.workspace-shell .teacher-classes-empty-note,
.workspace-shell .teacher-students-context-note {
  margin: 0.35rem 0 0;
  color: var(--cll-muted, #59677A);
  font-size: 0.84rem;
  line-height: 1.5;
}

.workspace-shell .teacher-class-card-action {
  flex: 0 0 auto;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
}

.workspace-shell .teacher-class-card-actions {
  display: flex;
  flex: 0 0 auto;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.5rem;
}

.workspace-shell .teacher-class-card-action-form {
  margin: 0;
}

.workspace-shell .teacher-class-card--archived {
  background: var(--cll-canvas, #F6F8FB);
}

.workspace-shell .teacher-class-readonly {
  display: inline-flex;
  margin-top: 0.55rem;
  padding: 0.2rem 0.5rem;
  color: #38516A;
  background: #EEF3F7;
  border: 1px solid #C7D3DE;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 700;
}

.workspace-shell .teacher-classes-empty {
  padding: 1rem;
  background: var(--cll-canvas, #F6F8FB);
  border: 1px dashed #B9C6D4;
  border-radius: 10px;
}

.workspace-shell .teacher-classes-empty h3,
.workspace-shell .teacher-students-empty h3 {
  margin: 0;
  color: var(--cll-harbor, #173F6B);
  font-size: 1rem;
  font-weight: 750;
}

.workspace-shell .teacher-classes-empty p,
.workspace-shell .teacher-students-empty p {
  margin: 0.45rem 0 0.9rem;
  color: var(--cll-muted, #59677A);
  line-height: 1.5;
}

.workspace-shell .teacher-students-context,
.workspace-shell .teacher-students-context-note {
  margin-bottom: 1rem;
}

.workspace-shell .teacher-students-context {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.55rem;
}

.workspace-shell .teacher-students-context label {
  color: var(--cll-harbor, #173F6B);
  font-size: 0.82rem;
  font-weight: 750;
}

.workspace-shell .teacher-students-context select {
  width: min(100%, 24rem);
  min-height: 44px;
  color: var(--cll-ink, #142033);
  background: #FFFFFF;
  border: 1px solid #B9C6D4;
  border-radius: 8px;
}

.workspace-shell .teacher-students-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
  margin-bottom: 1rem;
}

.workspace-shell .teacher-students-summary-card {
  min-width: 0;
  padding: 1rem;
  background: var(--cll-surface, #FFFFFF);
  border: 1px solid var(--cll-border, #D8E0EA);
  border-radius: 12px;
}

.workspace-shell .teacher-students-summary-label {
  display: block;
  color: var(--cll-muted, #59677A);
  font-size: 0.74rem;
  font-weight: 750;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.workspace-shell .teacher-students-summary-card > strong {
  display: block;
  margin-top: 0.3rem;
  color: var(--cll-harbor, #173F6B);
  font-size: 1.55rem;
  line-height: 1.1;
}

.workspace-shell .teacher-students-summary-note {
  display: block;
  margin-top: 0.3rem;
  color: var(--cll-muted, #59677A);
  font-size: 0.78rem;
  line-height: 1.45;
}

.workspace-shell .teacher-students-summary-card--action a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  margin-top: 0.3rem;
  color: var(--cll-signal-teal, #0F766E);
  font-weight: 750;
}

.workspace-shell .teacher-students-table-wrap {
  max-width: 100%;
  overflow-x: auto;
  border: 1px solid var(--cll-border, #D8E0EA);
  border-radius: 10px;
}

.workspace-shell .teacher-students-table {
  width: 100%;
  min-width: 34rem;
  border-collapse: collapse;
  color: var(--cll-ink, #142033);
}

.workspace-shell .teacher-students-table th,
.workspace-shell .teacher-students-table td {
  padding: 0.8rem 0.9rem;
  border-bottom: 1px solid var(--cll-border, #D8E0EA);
  text-align: left;
  vertical-align: middle;
}

.workspace-shell .teacher-students-table thead th {
  color: #38516A;
  background: #EEF3F7;
  font-size: 0.75rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.workspace-shell .teacher-students-table tbody tr:last-child th,
.workspace-shell .teacher-students-table tbody tr:last-child td {
  border-bottom: 0;
}

.workspace-shell .teacher-students-table tbody tr:hover {
  background: var(--cll-canvas, #F6F8FB);
}

.workspace-shell .teacher-students-name,
.workspace-shell .teacher-students-username {
  display: block;
}

.workspace-shell .teacher-students-name {
  font-weight: 700;
}

.workspace-shell .teacher-students-username {
  margin-top: 0.2rem;
  color: var(--cll-muted, #59677A);
  font-size: 0.78rem;
  font-weight: 400;
}

.workspace-shell .teacher-students-table-action {
  text-align: right !important;
}

.workspace-shell .teacher-students-view-link {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  color: var(--cll-signal-teal, #0F766E);
  font-weight: 750;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.18em;
}

.workspace-shell .teacher-students-empty {
  padding: 1rem;
  background: var(--cll-canvas, #F6F8FB);
  border: 1px dashed #B9C6D4;
  border-radius: 10px;
}

.workspace-shell .teacher-students-empty-note {
  margin: 0;
  color: var(--cll-muted, #59677A);
  font-size: 0.84rem;
}

.workspace-shell .teacher-classes-page :is(a, button, select):focus-visible,
.workspace-shell .teacher-students-page :is(a, button, select):focus-visible {
  outline: 3px solid var(--cll-focus-ring, #0F766E);
  outline-offset: 3px;
}

@media (max-width: 720px) {
  .workspace-shell .teacher-students-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .workspace-shell .teacher-students-summary-card--action {
    grid-column: 1 / -1;
  }
}

@media (max-width: 520px) {
  .workspace-shell .teacher-class-card {
    align-items: stretch;
    flex-direction: column;
  }

  .workspace-shell .teacher-class-card-action {
    width: 100%;
  }

  .workspace-shell .teacher-class-card-actions,
  .workspace-shell .teacher-class-card-action-form,
  .workspace-shell .teacher-class-card-actions .teacher-class-card-action {
    width: 100%;
  }

  .workspace-shell .teacher-students-summary {
    grid-template-columns: minmax(0, 1fr);
  }

  .workspace-shell .teacher-students-summary-card--action {
    grid-column: auto;
  }
}

/* Assignment-linked long-form rich writing stays a plain-text canonical
   textarea for existing coach and integrity scripts. The visible Quill
   surface is deliberately scoped to the assignment workspace. */
.essay-coach-page .rich-writing-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
  align-items: center;
  padding: 0.4rem 0.5rem;
  background: #F6F8FB;
  border: 1px solid #C8D3DF;
  border-bottom: 0;
  border-radius: 10px 10px 0 0;
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

.essay-coach-page .rich-writing-toolbar button {
  min-height: 44px;
  min-width: 44px;
  padding: 0.25rem 0.4rem;
  border: 1px solid #B9C6D4;
  border-radius: 6px;
  background: #FFFFFF;
  color: #253246;
  font: 700 0.7rem/1 Arial, Helvetica, sans-serif;
  cursor: pointer;
}

.essay-coach-page .rich-writing-toolbar button:hover,
.essay-coach-page .rich-writing-toolbar button.ql-active {
  background: #E5EEF8;
  border-color: #6B8FB3;
}

.essay-coach-page .rich-writing-toolbar button:focus-visible,
.essay-coach-page .rich-writing-editor:focus-visible {
  outline: 3px solid var(--cll-focus-ring, #0F766E);
  outline-offset: 2px;
}

.essay-coach-page .rich-writing-editor {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
  min-height: 22rem;
  background: #FFFFFF;
  border: 1px solid #C8D3DF;
  border-radius: 0 0 10px 10px;
  color: #253246;
}

.essay-coach-page .rich-writing-editor .ql-container {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: 22rem;
  box-sizing: border-box;
}

.essay-coach-page .rich-writing-editor .ql-editor {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
  min-height: 22rem;
  padding: 1.15rem 1.2rem;
  color: #253246;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 1rem;
  line-height: 1.65;
  overflow-wrap: anywhere;
  word-break: normal;
}

.essay-coach-page .rich-writing-editor .ql-editor.ql-blank::before {
  color: #6B7788;
  font-family: Arial, Helvetica, sans-serif;
  font-style: normal;
}

.workspace-shell .essay-coach-page .rich-writing-editor .ql-tooltip {
  display: none !important;
}

.essay-coach-page .writing-canvas {
  width: 100%;
  min-width: 0;
  align-items: stretch;
  box-sizing: border-box;
}

.essay-coach-page .writing-canvas .rich-writing-toolbar,
.essay-coach-page .writing-canvas .rich-writing-editor {
  flex: 0 0 auto;
}

.essay-coach-page .rich-text-canonical-text {
  display: block;
  width: 100%;
  max-width: 100%;
  min-height: 22rem;
  box-sizing: border-box;
}

.essay-coach-page .rich-text-canonical-text--active {
  position: absolute;
  width: 1px;
  height: 1px;
  min-height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.writing-document-rendered {
  color: inherit;
  overflow-wrap: anywhere;
}

.writing-document-line {
  margin: 0 0 0.55rem;
  min-height: 1.2em;
}

.writing-document-list {
  margin: 0 0 0.55rem;
  padding-left: 1.8rem;
}

.writing-document-paragraph:last-child,
.writing-document-list-item:last-child {
  margin-bottom: 0;
}

.writing-document-align-left {
  text-align: left;
}

.writing-document-align-center {
  text-align: center;
}

.writing-document-align-right {
  text-align: right;
}

.writing-document-list-item {
  display: list-item;
  margin-left: 0;
  list-style-position: outside;
}

.writing-document-list-bullet {
  list-style-type: disc;
}

.writing-document-list-ordered {
  list-style-type: decimal;
}

.writing-document-legacy {
  overflow-wrap: anywhere;
}

/* Gate B: keep one clear coach entry. The older nudge flow remains in the
   markup for compatibility with existing scripts, but is not presented as a
   second student-facing path. */
.workspace-shell .essay-coach-page .coach-nudge-legacy {
  display: none !important;
}

@media (max-width: 640px) {
  .essay-coach-page .rich-writing-editor,
  .essay-coach-page .rich-writing-editor .ql-container,
  .essay-coach-page .rich-writing-editor .ql-editor,
  .essay-coach-page .rich-text-canonical-text {
    max-width: 100%;
  }
}

@media (max-width: 640px) {
  .essay-coach-page .rich-writing-toolbar button {
    flex: 0 1 auto;
    min-height: 44px;
    min-width: 44px;
    padding: 0.2rem 0.3rem;
    font-size: 0.68rem;
  }

  .essay-coach-page .rich-writing-toolbar {
    gap: 0.15rem;
    padding: 0.35rem 0.4rem;
  }

  .essay-coach-page .rich-writing-editor,
  .essay-coach-page .rich-writing-editor .ql-editor {
    min-height: 18rem;
  }
}

/* Full writing workspace light-shell cleanup. The essay template predates
   the shared shell and carries dark inline/card rules. Keep the page scoped
   so policy notices, coach actions, and recovery controls retain their
   existing behavior while their surfaces use the shell palette. */
.workspace-shell:has(.essay-coach-page),
.workspace-shell:has(.essay-coach-page) .workspace-shell__main,
.workspace-shell:has(.essay-coach-page) #mainContent {
  background: var(--cll-canvas, #F6F8FB) !important;
  color: var(--cll-ink, #142033) !important;
}

.workspace-shell .essay-coach-page,
.workspace-shell .essay-coach-page .essay-workspace,
.workspace-shell .essay-coach-page .essay-workspace-grid,
.workspace-shell .essay-coach-page .essay-workspace-main,
.workspace-shell .essay-coach-page .feedback-panel {
  color: var(--cll-ink, #142033) !important;
  background: transparent !important;
}

.workspace-shell .essay-coach-page :is(
  .essay-studio-title,
  .essay-assignment-title,
  .essay-studio-subtitle,
  .essay-studio-meta,
  .essay-studio-meta strong,
  .essay-assignment-meta,
  .essay-prompt-card-header,
  .writing-toolbar-stat,
  .actions-panel-rubric,
  .actions-panel-label,
  .coach-workflow-save-text,
  .coach-nudge-prompt,
  .coach-nudge-gate-prompt,
  .feedback-panel-empty,
  .feedback-panel-empty-sub,
  .coach-nudge-text,
  .coach-scaffold-area,
  .essay-loading-text,
  .essay-loading-sub,
  .ec-breakdown-name,
  .ec-breakdown-pts,
  .ec-breakdown-hint,
  .ec-section-head,
  .ec-rubric-desc,
  .ec-tf-content,
  .ec-overall,
  .ec-label,
  .ec-pct-label
) {
  color: var(--cll-ink, #142033) !important;
}

.workspace-shell .essay-coach-page :is(
  .essay-assignment-panel,
  .essay-precanvas-card,
  .essay-prompt-card,
  .essay-draft-recovery,
  .coach-card-outer,
  .feedback-panel-empty-card,
  .essay-recent-attempts .card,
  .ec-score-hero,
  .ec-breakdown-row,
  .ec-breakdown-detail,
  .ec-rubric-item,
  .coach-scaffold-area,
  .coach-why-section
) {
  color: var(--cll-ink, #142033) !important;
  background: var(--cll-surface, #FFFFFF) !important;
  border-color: var(--cll-border, #D8E0EA) !important;
  box-shadow: 0 4px 18px rgba(23, 63, 107, .06) !important;
}

.workspace-shell .essay-coach-page :is(
  .essay-assignment-panel,
  .essay-precanvas-card,
  .essay-prompt-card,
  .essay-draft-recovery,
  .coach-card-outer
) :is(h1, h2, h3, h4, h5, h6, strong, summary, label) {
  color: var(--cll-harbor, #173F6B) !important;
}

.workspace-shell .essay-coach-page .essay-assignment-instructions,
.workspace-shell .essay-coach-page .inline-prompt-panel,
.workspace-shell .essay-coach-page .essay-prompt-sticky,
.workspace-shell .essay-coach-page .feedback-panel-empty-card,
.workspace-shell .essay-coach-page .coach-nudge-gate-input,
.workspace-shell .essay-coach-page .coach-scaffold-area {
  color: var(--cll-ink, #142033) !important;
  background: var(--cll-canvas, #F6F8FB) !important;
  border-color: var(--cll-border, #D8E0EA) !important;
}

.workspace-shell .essay-coach-page .essay-assignment-instructions {
  border-left-color: var(--cll-signal-teal, #0F766E) !important;
}

.workspace-shell .essay-coach-page .essay-prompt-sticky-title,
.workspace-shell .essay-coach-page .essay-prompt-sticky-meta,
.workspace-shell .essay-coach-page .essay-restore-banner-title,
.workspace-shell .essay-coach-page .essay-restore-banner-sub,
.workspace-shell .essay-coach-page .essay-restore-dismiss,
.workspace-shell .essay-coach-page .coach-card-title,
.workspace-shell .essay-coach-page .coach-nudge-result,
.workspace-shell .essay-coach-page .coach-scaffold-btn,
.workspace-shell .essay-coach-page .coach-example-label,
.workspace-shell .essay-coach-page .coach-example-guardrail {
  color: var(--cll-harbor, #173F6B) !important;
}

.workspace-shell .essay-coach-page .essay-prompt-sticky {
  border-color: var(--cll-border, #D8E0EA) !important;
  box-shadow: 0 4px 14px rgba(23, 63, 107, .08) !important;
}

.workspace-shell .essay-coach-page .writing-toolbar,
.workspace-shell .essay-coach-page .essay-tool-btn,
.workspace-shell .essay-coach-page .essay-word-predict-input,
.workspace-shell .essay-coach-page .coach-nudge-gate-input {
  color: var(--cll-ink, #142033) !important;
  background: var(--cll-canvas, #F6F8FB) !important;
  border-color: var(--cll-border, #D8E0EA) !important;
}

.workspace-shell .essay-coach-page .essay-tool-btn:hover,
.workspace-shell .essay-coach-page .essay-word-predict-input:focus,
.workspace-shell .essay-coach-page .coach-nudge-gate-input:focus {
  color: var(--cll-signal-teal, #0F766E) !important;
  border-color: var(--cll-signal-teal, #0F766E) !important;
}

.workspace-shell .essay-coach-page :is(
  .essay-submit-btn,
  .essay-submit-btn-primary,
  .feedback-panel-cta,
  .coach-nudge-gate-btn,
  .coach-scaffold-btn.coach-scaffold-active
) {
  color: #FFFFFF !important;
  background: var(--cll-harbor, #173F6B) !important;
  border-color: var(--cll-harbor, #173F6B) !important;
  box-shadow: 0 4px 14px rgba(23, 63, 107, .16) !important;
}

.workspace-shell .essay-coach-page :is(
  .essay-submit-btn:hover,
  .essay-submit-btn-primary:hover,
  .feedback-panel-cta:hover,
  .coach-nudge-gate-btn:hover:not(:disabled),
  .coach-scaffold-btn.coach-scaffold-active:hover
) {
  color: #FFFFFF !important;
  background: var(--cll-signal-teal-hover, #0C655F) !important;
  border-color: var(--cll-signal-teal-hover, #0C655F) !important;
}

.workspace-shell .essay-coach-page :is(
  .essay-assignment-toggle,
  .essay-prompt-sticky-btn,
  .coach-nudge-btn,
  .coach-refresh-btn,
  .essay-draft-recovery-btn
) {
  color: var(--cll-signal-teal, #0F766E) !important;
  border-color: rgba(15, 118, 110, .42) !important;
  background: transparent !important;
}

.workspace-shell .essay-coach-page :is(
  .essay-assignment-toggle:hover,
  .essay-prompt-sticky-btn:hover,
  .coach-nudge-btn:hover,
  .coach-refresh-btn:hover,
  .essay-draft-recovery-btn:hover
) {
  color: var(--cll-harbor, #173F6B) !important;
  border-color: var(--cll-signal-teal, #0F766E) !important;
  background: rgba(15, 118, 110, .08) !important;
}

.workspace-shell .essay-coach-page .coach-workflow-card {
  color: var(--cll-ink, #142033) !important;
  background: transparent !important;
}

.workspace-shell .essay-coach-page .feedback-panel,
.workspace-shell .essay-coach-page .feedback-panel-body,
.workspace-shell .essay-coach-page .coach-card-header,
.workspace-shell .essay-coach-page .coach-nudge-area,
.workspace-shell .essay-coach-page .coach-scaffold-actions {
  color: var(--cll-ink, #142033) !important;
  background: transparent !important;
}

.workspace-shell .essay-coach-page .coach-workflow-card :is(details, summary, label, .small),
.workspace-shell .essay-coach-page .coach-workflow-card :is(textarea, input, select),
.workspace-shell .essay-coach-page .coach-card-outer :is(.small, label, summary) {
  color: var(--cll-ink, #142033) !important;
}

.workspace-shell .essay-coach-page .essay-submit-btn:disabled,
.workspace-shell .essay-coach-page .essay-submit-btn[disabled] {
  color: var(--cll-muted, #59677A) !important;
  background: #E7EDF3 !important;
  border-color: #B9C6D4 !important;
  box-shadow: none !important;
  opacity: 1 !important;
}

.workspace-shell .essay-coach-page .essay-restore-banner {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  color: var(--cll-ink, #142033) !important;
  background: #FFF9ED !important;
  border-color: #E7D4A1 !important;
}

.workspace-shell .essay-coach-page .essay-restore-banner-content {
  align-items: flex-start;
  flex-wrap: wrap;
  min-width: 0;
}

.workspace-shell .essay-coach-page .essay-restore-banner-text {
  flex: 1 1 18rem;
  min-width: 0;
  max-width: 100%;
}

.workspace-shell .essay-coach-page .essay-restore-banner-sub {
  overflow-wrap: break-word !important;
  word-break: normal !important;
  white-space: normal !important;
  color: var(--cll-muted, #59677A) !important;
}

.workspace-shell .essay-coach-page .essay-restore-banner-actions {
  flex: 0 1 auto;
  min-width: 0;
  max-width: 100%;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.workspace-shell .essay-coach-page .essay-restore-banner-actions button {
  min-height: 44px;
}

.workspace-shell .essay-coach-page :is(
  .actions-panel-status-draft,
  .actions-panel-status-submitted,
  .ec-revision-hint,
  .essay-integrity-notice
) {
  color: var(--cll-ink, #142033) !important;
  border-color: var(--cll-border, #D8E0EA) !important;
}

.workspace-shell .essay-coach-page .essay-assignment-panel [style*="color: rgba(255,255,255"],
.workspace-shell .essay-coach-page .essay-prompt-card [style*="color: rgba(255,255,255"],
.workspace-shell .essay-coach-page .essay-precanvas-card [style*="color: rgba(255,255,255"],
.workspace-shell .essay-coach-page .coach-card-outer [style*="color: rgba(255,255,255"],
.workspace-shell .essay-coach-page .feedback-panel [style*="color: rgba(255,255,255"] {
  color: var(--cll-ink, #142033) !important;
}

.workspace-shell .essay-coach-page .coach-workflow-save-text,
.workspace-shell .essay-coach-page .essay-restore-banner-sub {
  white-space: normal !important;
  overflow-wrap: break-word;
  word-break: normal;
  min-width: 0;
  max-width: 100%;
}

/* Inline legacy tokens are retained in the template for script/markup
   compatibility. Translate only those values while this page is in the
   workspace shell. Semantic warning/success colors remain untouched. */
.workspace-shell .essay-coach-page [style*="color: rgba(255,255,255"],
.workspace-shell .essay-coach-page [style*="color:rgba(255,255,255"],
.workspace-shell .essay-coach-page [style*="color: rgba(160,190,245"],
.workspace-shell .essay-coach-page [style*="color:rgba(160,190,245"],
.workspace-shell .essay-coach-page [style*="color: rgba(129,140,248"],
.workspace-shell .essay-coach-page [style*="color:rgba(129,140,248"],
.workspace-shell .essay-coach-page [style*="color: rgba(99,102,241"],
.workspace-shell .essay-coach-page [style*="color:rgba(99,102,241"] {
  color: var(--cll-ink, #142033) !important;
}

.workspace-shell .essay-coach-page [style*="background: rgba(17,17"],
.workspace-shell .essay-coach-page [style*="background:rgba(17,17"],
.workspace-shell .essay-coach-page [style*="background: rgba(44,66"],
.workspace-shell .essay-coach-page [style*="background:rgba(44,66"],
.workspace-shell .essay-coach-page [style*="background: rgba(10,16"],
.workspace-shell .essay-coach-page [style*="background:rgba(10,16"],
.workspace-shell .essay-coach-page [style*="background: rgba(15,22"],
.workspace-shell .essay-coach-page [style*="background:rgba(15,22"] {
  background: var(--cll-canvas, #F6F8FB) !important;
}

@media (max-width: 399px) {
  .workspace-shell .essay-coach-page,
  .workspace-shell .essay-coach-page .essay-workspace-grid,
  .workspace-shell .essay-coach-page .essay-workspace-main,
  .workspace-shell .essay-coach-page .feedback-panel,
  .workspace-shell .essay-coach-page .coach-card-outer {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow-x: hidden;
  }

  .workspace-shell .essay-coach-page .coach-workflow-card,
  .workspace-shell .essay-coach-page .coach-workflow-buttons,
  .workspace-shell .essay-coach-page .essay-submit-btn,
  .workspace-shell .essay-coach-page .feedback-panel-cta {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  .workspace-shell .essay-coach-page .coach-workflow-buttons {
    margin-left: 0;
    flex-wrap: wrap;
  }

  .workspace-shell .essay-coach-page .essay-restore-banner-content,
  .workspace-shell .essay-coach-page .essay-restore-banner-actions {
    align-items: stretch;
    flex-direction: column;
    width: 100%;
  }

  .workspace-shell .essay-coach-page .essay-restore-banner-text {
    flex: 0 1 auto;
  }

  .workspace-shell .essay-coach-page .essay-restore-banner-actions button {
    width: 100%;
  }
}

@media (min-width: 400px) and (max-width: 768px) {
  .workspace-shell .essay-coach-page .essay-restore-banner-actions {
    width: 100%;
    justify-content: flex-start;
  }
}

/* Mobile writing priority: keep the document visible first, then disclose
   coaching and turn-in actions through an explicit keyboard-accessible toggle. */
.workspace-shell .essay-mobile-coach-bar {
  display: none;
}

.workspace-shell .essay-document-leave {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: var(--cll-signal-teal, #0F766E) !important;
  font-size: 0.78rem;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}

.workspace-shell .essay-document-leave:hover {
  color: var(--cll-harbor, #173F6B) !important;
  text-decoration: underline;
}

@media (max-width: 640px) {
  .workspace-shell .essay-mobile-coach-bar {
    display: block;
    width: 100%;
    margin: 0 0 0.75rem;
  }

  .workspace-shell .essay-mobile-coach-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    box-sizing: border-box;
    min-height: 48px;
    padding: 0.7rem 0.9rem;
    color: var(--cll-harbor, #173F6B);
    background: var(--cll-surface, #FFFFFF);
    border: 1px solid var(--cll-border, #D8E0EA);
    border-radius: 10px;
    font-weight: 700;
    text-align: left;
  }

  .workspace-shell .essay-mobile-coach-toggle:focus-visible {
    outline: 3px solid var(--cll-focus-ring, #0F766E);
    outline-offset: 2px;
  }

  /* Keep Turn In, reflection, and recovery controls in the document flow.
     Only the coach card is disclosed on mobile. */
  .workspace-shell .essay-coach-page .feedback-panel {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    padding-top: 0;
  }

  .workspace-shell .essay-coach-page .coach-card-outer {
    display: none !important;
  }

  .workspace-shell .essay-coach-page .coach-card-outer.essay-mobile-coach-open {
    display: flex !important;
  }

  .workspace-shell .essay-coach-page .coach-workflow-save-text {
    flex: 1 1 12rem;
  }

  .workspace-shell .essay-coach-page .essay-document-controls {
    align-items: flex-start;
  }
}

/* Remaining live student content surfaces. These selectors intentionally
 * target the explicit page roots added to the legacy templates so the shell
 * can become light without changing form names, route behavior, or scoring. */
.workspace-shell :is(
  .student-dashboard-page,
  .student-question-page,
  .student-progress-page,
  .student-study-plan-page,
  .student-assignment-complete-page,
  .student-scotus-page
) {
  min-width: 0;
  max-width: 100%;
  color: var(--cll-ink, #142033);
  overflow-wrap: anywhere;
}

.workspace-shell .student-dashboard-page {
  width: min(100%, 1120px);
  margin: 0 auto;
}

.workspace-shell .student-question-page {
  width: min(100%, 1120px);
  margin: 0 auto;
  padding: 0.25rem 0 2rem;
}

.workspace-shell .student-question-page.student-quiz-page,
.workspace-shell .student-question-page.student-practice-skill-page {
  max-width: 920px;
}

.workspace-shell :is(
  .student-dashboard-page,
  .student-question-page,
  .student-progress-page,
  .student-study-plan-page,
  .student-assignment-complete-page
) :is(.card, .app-surface, .hint-card, .sticky-actions) {
  color: var(--cll-ink, #142033) !important;
  background: var(--cll-surface, #FFFFFF) !important;
  background-image: none !important;
  border-color: var(--cll-border, #D8E0EA) !important;
  box-shadow: 0 6px 20px rgba(20, 32, 51, 0.06) !important;
}

.workspace-shell :is(
  .student-dashboard-page,
  .student-question-page,
  .student-progress-page,
  .student-study-plan-page,
  .student-assignment-complete-page
) :is(h1, h2, h3, h4, h5, h6, .student-mc-prompt, .fw-bold, .fw-semibold, strong) {
  color: var(--cll-ink, #142033) !important;
}

.workspace-shell :is(
  .student-dashboard-page,
  .student-question-page,
  .student-progress-page,
  .student-study-plan-page,
  .student-assignment-complete-page
) :is(.text-muted, .small, .text-secondary) {
  color: var(--cll-muted, #59677A) !important;
}

.workspace-shell :is(
  .student-dashboard-page,
  .student-question-page,
  .student-progress-page,
  .student-study-plan-page,
  .student-assignment-complete-page
) a:not(.btn) {
  color: var(--cll-signal-teal, #0F766E) !important;
  text-underline-offset: 0.18em;
}

.workspace-shell :is(
  .student-dashboard-page,
  .student-question-page,
  .student-progress-page,
  .student-study-plan-page,
  .student-assignment-complete-page
) :is(input, select, textarea) {
  color: var(--cll-ink, #142033) !important;
  background: var(--cll-surface, #FFFFFF) !important;
  border-color: var(--cll-border-strong, #B8C4D2) !important;
}

.workspace-shell :is(
  .student-dashboard-page,
  .student-question-page,
  .student-progress-page,
  .student-study-plan-page,
  .student-assignment-complete-page
) :is(input, select, textarea):focus-visible {
  outline: 3px solid var(--cll-focus-ring, #0F766E);
  outline-offset: 2px;
  border-color: var(--cll-signal-teal, #0F766E) !important;
  box-shadow: 0 0 0 0.2rem rgba(15, 118, 110, 0.14) !important;
}

/* The old question templates use .answer-choice rather than the newer
 * quiz-answer-choice component. Keep the radio form and its states intact. */
.workspace-shell .student-question-page .answer-choice {
  min-height: 44px;
  color: var(--cll-ink, #142033) !important;
  background: var(--cll-surface, #FFFFFF) !important;
  border-color: var(--cll-border, #D8E0EA) !important;
  box-shadow: none !important;
  transform: none !important;
}

.workspace-shell .student-question-page .answer-choice:hover {
  background: rgba(15, 118, 110, 0.04) !important;
  border-color: var(--cll-signal-teal, #0F766E) !important;
}

.workspace-shell .student-question-page .answer-choice:has(input:checked) {
  background: rgba(15, 118, 110, 0.07) !important;
  border-color: var(--cll-signal-teal, #0F766E) !important;
  box-shadow: 0 0 0 2px rgba(15, 118, 110, 0.1) !important;
}

.workspace-shell .student-question-page .answer-choice input {
  accent-color: var(--cll-signal-teal, #0F766E);
}

.workspace-shell .student-question-page :is(.choice-correct, .result-chip-success) {
  color: #14613D !important;
  background: #EDF8F1 !important;
  border-color: #AED9BE !important;
}

.workspace-shell .student-question-page :is(.choice-wrong, .result-chip-danger) {
  color: #8F1D16 !important;
  background: #FFF1F0 !important;
  border-color: #F3B8B4 !important;
}

.workspace-shell .student-question-page .btn-primary,
.workspace-shell .student-assignment-complete-page .btn-primary {
  color: #FFFFFF !important;
  background: var(--cll-harbor, #173F6B) !important;
  border-color: var(--cll-harbor, #173F6B) !important;
  box-shadow: 0 4px 12px rgba(23, 63, 107, 0.16) !important;
}

.workspace-shell .student-question-page .btn-outline-secondary,
.workspace-shell .student-question-page .btn-outline-light,
.workspace-shell .student-assignment-complete-page .btn-outline-secondary {
  color: var(--cll-harbor, #173F6B) !important;
  background: var(--cll-surface, #FFFFFF) !important;
  border-color: var(--cll-border-strong, #B8C4D2) !important;
}

.workspace-shell .student-question-page .btn-hint {
  color: var(--cll-warm-accent-text, #7A4800) !important;
  background: #FFF8E8 !important;
  border-color: #E9D3A0 !important;
  box-shadow: none !important;
}

.workspace-shell .student-question-page :is(.btn, a):focus-visible,
.workspace-shell .student-assignment-complete-page :is(.btn, a):focus-visible {
  outline: 3px solid var(--cll-focus-ring, #0F766E);
  outline-offset: 2px;
}

/* Explicit component hooks keep the migrated roots light without inspecting
 * arbitrary style attributes. Dynamic geometry, such as progress widths,
 * remains in the templates and is not overridden here. */
.workspace-shell .student-dashboard-page :is(
  .zone-card,
  .class-overview-card,
  #welcome-card,
  .student-dashboard-page > .card
) {
  color: var(--cll-ink, #142033) !important;
  background: var(--cll-surface, #FFFFFF) !important;
  border-color: var(--cll-border, #D8E0EA) !important;
}

.workspace-shell .student-dashboard-page :is(
  .zone-card .small,
  .zone-card .text-muted,
  .zone-card .class-overview-stat,
  .zone-card .asgn-meta,
  .class-overview-card .small,
  #welcome-card .small
) {
  color: var(--cll-muted, #59677A) !important;
}

.workspace-shell .student-question-page :is(
  .mb-3.p-2.rounded-3,
  .mb-3.p-3.rounded-3,
  .rounded-3.p-3.small,
  .p-3.rounded-3,
  .py-2.px-3.rounded-3
) {
  color: var(--cll-ink, #142033) !important;
  background: var(--cll-surface, #FFFFFF) !important;
  border-color: var(--cll-border, #D8E0EA) !important;
}

.workspace-shell .student-question-page :is(
  .small,
  .mt-2,
  .hint-text,
  .stimulus-source
) {
  color: var(--cll-muted, #59677A) !important;
}

.workspace-shell .student-progress-page :is(
  .small,
  .topic-main .fw-semibold,
  .topic-main .fw-bold
) {
  color: var(--cll-muted, #59677A) !important;
}

.workspace-shell .student-study-plan-page :is(
  .small,
  .fw-semibold,
  .fw-bold
) {
  color: var(--cll-muted, #59677A) !important;
}

.workspace-shell .student-study-plan-page .mb-3.pb-3 {
  border-bottom-color: var(--cll-border, #D8E0EA) !important;
}

.workspace-shell .student-assignment-complete-page :is(
  .small,
  .card-body > p
) {
  color: var(--cll-muted, #59677A) !important;
}

@media (max-width: 991.98px) {
  .workspace-shell .student-question-page .row > [class*="col-lg-"] {
    width: 100%;
  }
}

@media (max-width: 767.98px) {
  .workspace-shell :is(
    .student-dashboard-page,
    .student-question-page,
    .student-progress-page,
    .student-study-plan-page,
    .student-assignment-complete-page
  ) {
    width: 100%;
    padding-right: 0.15rem;
    padding-left: 0.15rem;
  }

  .workspace-shell .student-question-page .sticky-actions {
    position: static;
    flex-wrap: wrap;
  }

  .workspace-shell .student-progress-topic {
    grid-template-columns: minmax(0, 1fr);
  }

  .workspace-shell .student-scotus-page .case-card-header {
    flex-wrap: wrap;
  }

  .workspace-shell .student-scotus-page .case-principle-pill {
    max-width: min(100%, 16rem);
  }
}

@media (max-width: 390px) {
  .workspace-shell :is(
    .student-dashboard-page,
    .student-question-page,
    .student-progress-page,
    .student-study-plan-page,
    .student-assignment-complete-page
  ) {
    padding-right: 0;
    padding-left: 0;
  }

  .workspace-shell .student-question-page .card-body {
    padding: 0.9rem;
  }

  .workspace-shell .student-question-page :is(.btn, .btn-group) {
    max-width: 100%;
    overflow-wrap: anywhere;
  }

  .workspace-shell .student-scotus-page .case-card-header {
    gap: 0.45rem;
    padding: 0.75rem;
  }
}

@media (max-width: 320px) {
  .workspace-shell .student-question-page .card-body {
    padding: 0.75rem;
  }

  .workspace-shell .student-scotus-page .case-title {
    max-width: 11rem;
  }
}

/* A few dashboard/progress primitives still have page-local legacy rules.
 * Keep these overrides scoped to the migrated student roots. */
.workspace-shell .student-dashboard-page :is(.snapshot-stat, .zone-details, .asgn-row) {
  color: var(--cll-ink, #142033);
  background: var(--cll-canvas, #F6F8FB) !important;
  border-color: var(--cll-border, #D8E0EA) !important;
}

.workspace-shell .student-dashboard-page :is(.snapshot-stat-val, .asgn-title) {
  color: var(--cll-ink, #142033) !important;
}

.workspace-shell .student-dashboard-page :is(.snapshot-stat-label, .asgn-meta) {
  color: var(--cll-muted, #59677A) !important;
}

.workspace-shell .student-dashboard-page .asgn-row:hover {
  background: var(--cll-canvas, #F6F8FB) !important;
}

.workspace-shell .student-dashboard-page .dash-action-btn {
  min-height: 44px;
  color: var(--cll-harbor, #173F6B) !important;
  background: rgba(15, 118, 110, 0.08) !important;
  border-color: rgba(15, 118, 110, 0.42) !important;
}

.workspace-shell .student-dashboard-page .dash-action-btn:hover {
  color: #FFFFFF !important;
  background: var(--cll-signal-teal, #0F766E) !important;
  border-color: var(--cll-signal-teal, #0F766E) !important;
}

.workspace-shell .student-dashboard-page .progress-track {
  background: var(--cll-border, #D8E0EA) !important;
}

.workspace-shell .student-progress-page .topic-row {
  color: var(--cll-ink, #142033) !important;
  background: var(--cll-canvas, #F6F8FB) !important;
  border-color: var(--cll-border, #D8E0EA) !important;
}

.workspace-shell .student-progress-page .topic-row:hover {
  color: var(--cll-ink, #142033) !important;
  background: var(--cll-surface, #FFFFFF) !important;
  border-color: var(--cll-signal-teal, #0F766E) !important;
}

.workspace-shell .student-progress-page .topic-meter > div > div {
  border-radius: 999px;
}

.workspace-shell .student-progress-page .review-cta-btn {
  min-height: 44px;
  color: #FFFFFF !important;
  background: var(--cll-harbor, #173F6B) !important;
  border-color: var(--cll-harbor, #173F6B) !important;
  box-shadow: 0 4px 12px rgba(23, 63, 107, 0.16) !important;
}

.workspace-shell .student-progress-page .review-cta-btn:hover {
  color: #FFFFFF !important;
  background: var(--cll-harbor-hover, #123457) !important;
}

.workspace-shell .student-progress-page .topic-actions .btn-outline-light {
  color: var(--cll-signal-teal, #0F766E) !important;
  background: var(--cll-surface, #FFFFFF) !important;
  border-color: var(--cll-signal-teal, #0F766E) !important;
}

.workspace-shell .student-study-plan-page .btn-outline-warning,
.workspace-shell .student-study-plan-page .btn-outline-success,
.workspace-shell .student-study-plan-page .btn-outline-info {
  color: var(--cll-signal-teal, #0F766E) !important;
  background: var(--cll-surface, #FFFFFF) !important;
  border-color: var(--cll-signal-teal, #0F766E) !important;
}

.workspace-shell .student-study-plan-page :is(.btn-outline-warning, .btn-outline-success, .btn-outline-info):hover {
  color: #FFFFFF !important;
  background: var(--cll-signal-teal, #0F766E) !important;
}

.workspace-shell .student-study-plan-page .mb-3.pb-3 {
  border-bottom-color: var(--cll-border, #D8E0EA) !important;
}

.workspace-shell .student-assignment-complete-page .table {
  --bs-table-color: var(--cll-ink, #142033);
  --bs-table-border-color: var(--cll-border, #D8E0EA);
  color: var(--cll-ink, #142033);
}

.workspace-shell .student-assignment-complete-page .table th {
  color: var(--cll-harbor, #173F6B);
}
