/* Student home: the welcome, overlapping work card, status and history form one layout. */
.app {
  --home-ink: var(--ui-ink, #101049);
  --home-purple: #7639f5;
  --home-muted: var(--ui-muted, #44496e);
  --home-canvas: var(--ui-canvas, #fafaff);
  --home-card: var(--ui-surface, #fff);
  --home-line: var(--ui-line, #efedf9);
  --home-shadow: 0 3px 7px rgb(46 32 110 / 8%), 0 10px 22px rgb(65 45 120 / 3%);
}
.student-shell {
  --home-ink: #101049;
  --home-purple: #7639f5;
  --home-muted: #44496e;
  --home-canvas: #fafaff;
  --home-card: #fff;
  --home-line: #efedf9;
  --home-shadow: 0 3px 7px rgb(46 32 110 / 8%), 0 10px 22px rgb(65 45 120 / 3%);
}
.student-shell .student-topbar-brand {
  display: flex;
  align-items: center;
  gap: 9px;
  color: var(--home-ink);
  font:
    800 23px/1 Arial,
    sans-serif;
  letter-spacing: -1px;
}
.student-topbar-brand img {
  display: block;
  width: 34px;
  height: 32px;
}
.student-shell .student-home-notifications {
  display: block;
  position: relative;
  order: 2;
  flex: 0 0 auto;
}
.student-shell .topbar-context {
  order: 1;
}
.student-shell .topbar-user {
  order: 3;
}
.student-shell #sidebar-toggle {
  order: 4;
}
.student-shell .app-main:has(#page-dashboard:not(.hidden)) {
  padding-bottom: 0;
  background: var(--home-canvas);
}
.student-shell .app-main:has(#page-dashboard:not(.hidden)) > .topbar {
  height: 76px;
  min-height: 76px;
  padding: 13px 25px;
  border: 0;
  background: var(--home-canvas);
  box-shadow: none;
}
.student-shell .app-main:has(#page-dashboard:not(.hidden)) .topbar-context,
.student-shell .app-main:has(#page-dashboard:not(.hidden)) #sidebar-toggle {
  display: none;
}
.student-shell .app-main:has(#page-dashboard:not(.hidden)) .student-home-notifications {
  margin-left: auto;
}
.student-home-notifications summary {
  display: grid;
  width: 40px;
  height: 44px;
  place-items: center;
  list-style: none;
  cursor: pointer;
  color: var(--home-ink);
}
.student-home-notifications summary::-webkit-details-marker {
  display: none;
}
.student-home-notifications summary svg {
  width: 25px;
  height: 27px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linejoin: round;
  stroke-linecap: round;
}
.student-notification-panel {
  position: absolute;
  z-index: 40;
  top: 48px;
  right: -8px;
  width: min(280px, calc(100vw - 40px));
  padding: 18px;
  border: 1px solid var(--home-line);
  border-radius: 18px;
  background: var(--home-card);
  color: var(--home-ink);
  box-shadow: var(--home-shadow);
}
.student-notification-panel p {
  margin: 8px 0 12px;
  font-size: 13px;
  line-height: 1.45;
}
.student-notification-panel button {
  display: block;
  width: 100%;
  min-height: 44px;
  margin-top: 6px;
  border: 0;
  border-radius: 10px;
  background: #f1edff;
  color: #5424ce;
  cursor: pointer;
}
.student-shell .page:has(#page-dashboard:not(.hidden)) {
  padding: 0 16px calc(84px + env(safe-area-inset-bottom));
  background: var(--home-canvas);
}
.student-shell #page-dashboard {
  display: block;
  width: 100%;
  max-width: 440px;
  margin: 0 auto;
  padding: 0;
}
.student-shell #page-dashboard > :not(.student-home) {
  display: none !important;
}
.student-shell #page-dashboard > .student-home:not(.hidden) {
  display: grid !important;
  gap: 14px;
  padding: 0;
  font-family: Arial, sans-serif;
  color: var(--home-ink);
}
.student-home *,
.student-home *::before,
.student-home *::after {
  box-sizing: border-box;
}
.student-home h2,
.student-home p {
  margin: 0;
}
.student-home svg {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.student-home .home-welcome {
  position: relative;
  height: 150px;
  margin: 0 -6px;
  overflow: hidden;
  border-radius: 0 28px 21px 21px;
  background: #e8f8ff url("/assets/student-home-landscape.svg") center bottom / cover no-repeat;
}
.home-welcome-copy {
  position: relative;
  z-index: 1;
  padding: 17px 24px;
}
.student-home .home-welcome h2 {
  color: var(--home-ink);
  font-size: 24px;
  line-height: 1.15;
  font-weight: 800;
  letter-spacing: -0.8px;
}
.student-home .home-welcome p {
  margin-top: 9px;
  color: var(--home-ink);
  font-size: 15px;
  line-height: 1.4;
  letter-spacing: -0.25px;
}
.student-home .home-work-card,
.student-shell #home-insights.home-status-card,
.student-home .home-recent-card {
  min-width: 0;
  padding: 0;
  margin: 0;
  border: 1px solid var(--home-line);
  border-radius: 22px;
  background: var(--home-card);
  box-shadow: var(--home-shadow);
}
.student-home .home-work-card {
  position: relative;
  z-index: 2;
  margin-top: -34px;
  overflow: hidden;
}
.home-work-summary {
  display: flex;
  align-items: flex-start;
  gap: 13px;
  padding: 16px 17px 10px;
  background: linear-gradient(140deg, #fff 32%, #faf8ff);
}
.student-home .home-icon-tile {
  flex: 0 0 47px;
  display: grid;
  width: 47px;
  height: 47px;
  place-items: center;
  border-radius: 16px;
  background: linear-gradient(145deg, #fcfbff, #ede8ff);
  color: var(--home-purple);
}
.home-icon-tile svg {
  width: 25px;
  height: 25px;
}
.home-work-copy {
  flex: 1;
  min-width: 0;
}
.student-home .home-work-copy h2 {
  font-size: 18px;
  line-height: 1.2;
  font-weight: 750;
  letter-spacing: -0.5px;
}
.home-work-progress-row {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-top: 10px;
}
.home-work-track {
  flex: 1;
  height: 13px;
  overflow: hidden;
  border-radius: 99px;
  background: #eaeaf4;
  box-shadow: inset 0 1px 2px #dfe0ee;
}
#home-work-fill {
  display: block;
  width: 0;
  height: 100%;
  border: 0;
  border-radius: inherit;
  background: linear-gradient(180deg, #a15afc, #7238f7);
  transition: width 200ms ease;
}
#home-work-percent {
  min-width: 37px;
  color: var(--home-ink);
  font-size: 16px;
  line-height: 1;
}
.student-home #home-work-description {
  margin-top: 9px;
  color: var(--home-ink);
  font-size: 12px;
  line-height: 1.35;
}
.home-work-action {
  padding: 10px;
  border-top: 1px solid #f0edf9;
}
.student-home #home-start-next {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  width: 100%;
  min-height: 53px;
  padding: 10px 12px;
  border: 1px solid #7834f0;
  border-radius: 24px;
  background: linear-gradient(180deg, #a34ff8, #8139f5 52%, #5c30e8);
  box-shadow:
    inset 0 1px 1px #c58aff,
    0 3px 5px #7034e51a;
  color: #fff;
  font:
    700 18px/1.15 Arial,
    sans-serif;
  letter-spacing: -0.4px;
  cursor: pointer;
}
.student-home #home-start-next svg {
  width: 26px;
  height: 28px;
  flex-shrink: 0;
  fill: #fff;
  stroke: #fff;
  stroke-width: 1;
  filter: drop-shadow(0 1px 1px #4420b9);
}
.student-home #home-start-next:disabled {
  cursor: default;
  opacity: 0.7;
}
.student-shell #home-insights.home-status-card:not(.hidden) {
  display: block !important;
  padding: 10px 10px 9px;
}
.student-home .home-card-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 27px;
  gap: 8px;
  padding: 0 7px;
}
.student-home .home-card-heading h2 {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--home-ink);
  font-size: 16px;
  line-height: 1.15;
  font-weight: 750;
  letter-spacing: -0.45px;
}
.student-home .home-card-heading button {
  width: auto;
  min-width: 32px;
  min-height: 32px;
  padding: 3px 0 3px 7px;
  border: 0;
  background: transparent;
  color: #5121d4;
  font:
    12px/1.15 Arial,
    sans-serif;
  white-space: nowrap;
  cursor: pointer;
}
.student-home .home-card-heading button svg {
  display: block;
  width: 20px;
  height: 20px;
  stroke-width: 2.5;
}
.student-shell #home-insights-values {
  display: block;
  margin: 0;
  padding: 0;
}
.home-level {
  display: flex;
  align-items: center;
  gap: 13px;
  min-height: 62px;
  padding: 6px 7px 9px;
}
.student-home .home-level > span {
  font-size: 14px;
  font-weight: 700;
}
.home-level-value {
  margin-left: auto;
  max-width: 62%;
  text-align: center;
}
.student-shell #home-insights-values .home-level-value strong {
  display: inline-block;
  padding: 4px 13px;
  border-radius: 99px;
  background: #eee9ff;
  color: #5920df;
  font-size: 14px;
  line-height: 1.1;
  font-weight: 700;
}
.home-level-value small {
  display: block;
  margin-top: 4px;
  color: var(--home-ink);
  font-size: 11px;
  line-height: 1.1;
}
.home-bars {
  width: 29px;
  height: 29px;
}
.student-home .home-bars rect {
  fill: currentColor;
  stroke-width: 0.6;
}
.home-measurements {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9px;
}
.home-measurement {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 65px;
  padding: 8px 12px;
  border-radius: 15px;
  background: linear-gradient(135deg, #f2edff, #ece8ff);
}
.home-measurement > svg {
  flex: 0 0 29px;
  width: 29px;
  height: 29px;
  color: #8642f8;
  stroke-width: 2.2;
}
.home-measurement small {
  display: block;
  margin-bottom: 2px;
  font-size: 11px;
  line-height: 1.15;
}
.student-shell #home-insights-values .home-measurement strong {
  display: block;
  color: var(--home-ink);
  font-size: 22px;
  line-height: 1.02;
  font-weight: 750;
  letter-spacing: -0.6px;
}
.home-measurement .home-unit {
  display: block;
  margin-top: 2px;
  font-size: 11px;
  line-height: 1;
}
.home-measurement.home-comprehension {
  background: linear-gradient(135deg, #f0fcee, #e2f9e5);
}
.home-comprehension > svg {
  color: #0bbb2c;
}
.student-shell #home-insights-values strong.home-no-measurement {
  font-size: 11px;
  line-height: 1.25;
  font-weight: 500;
  letter-spacing: 0;
}
.student-home .home-recent-card {
  padding: 8px 10px 5px;
}
.home-recent-card .home-card-heading {
  padding: 0 7px 0 3px;
}
.home-card-heading h2 > svg {
  width: 23px;
  height: 23px;
}
#home-recent-activity {
  display: grid;
  gap: 0;
  padding-top: 3px;
}
.home-activity {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 46px;
  padding: 6px 6px;
  border-top: 1px solid #f0eff8;
}
.home-activity:first-child {
  border-top: 0;
}
.student-home .home-activity .home-icon-tile {
  flex-basis: 36px;
  width: 36px;
  height: 36px;
  border-radius: 12px;
}
.home-activity .home-icon-tile svg {
  width: 20px;
  height: 20px;
}
.home-activity-copy {
  flex: 1;
  min-width: 0;
}
.home-activity-copy strong {
  display: block;
  overflow: hidden;
  color: var(--home-ink);
  font-size: 14px;
  line-height: 1.2;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.home-activity-copy span {
  display: block;
  margin-top: 2px;
  color: #303359;
  font-size: 12px;
  line-height: 1.2;
}
.home-activity-score {
  padding: 6px 10px;
  border-radius: 12px;
  background: #e5fae5;
  color: #0b6914;
  font-size: 18px;
  line-height: 1;
}
.student-home .home-empty {
  min-height: 61px;
  padding: 14px 8px;
  color: var(--home-muted);
  font-size: 12px;
  line-height: 1.5;
}
.student-shell #student-bottom-nav {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  height: calc(70px + env(safe-area-inset-bottom));
  min-height: 70px;
  padding: 5px 15px calc(5px + env(safe-area-inset-bottom));
  border: 0;
  border-top: 1px solid #f0edf9;
  border-radius: 0;
  background: #fcfbff;
  box-shadow: 0 -4px 14px #41389005;
}
.student-shell #student-bottom-nav .bottom-nav-item {
  display: flex;
  min-height: 53px;
  gap: 4px;
  padding: 2px;
  border-radius: 0;
  background: transparent;
  color: #434b70;
}
.student-shell #student-bottom-nav .bottom-nav-item.active {
  color: #7132f0;
  background: transparent;
}
.student-shell #student-bottom-nav .bottom-nav-icon,
.student-shell #student-bottom-nav .bottom-nav-icon .ui-icon {
  width: 25px;
  height: 25px;
}
.student-shell #student-bottom-nav .bottom-nav-label {
  font:
    12px/1.15 Arial,
    sans-serif;
  letter-spacing: -0.25px;
}
.student-shell #student-bottom-nav [data-bottom-page="dashboard"].active svg {
  fill: #843cf7;
  stroke: #6f32ed;
}
.student-home button:focus-visible,
.student-home-notifications summary:focus-visible,
.student-shell #student-bottom-nav button:focus-visible {
  outline: 3px solid #ba9aff;
  outline-offset: 3px;
}

/* Authenticated notification center, shared by learner and administrator shells. */
.student-home-notifications {
  display: block;
  position: relative;
  z-index: 30;
  order: 3;
  flex: 0 0 auto;
  margin-left: auto;
}
.student-home-notifications summary {
  position: relative;
}
.notification-unread-count {
  position: absolute;
  top: 3px;
  right: 0;
  display: grid;
  min-width: 18px;
  height: 18px;
  padding: 0 4px;
  place-items: center;
  border: 2px solid #fff;
  border-radius: 999px;
  background: #e34b5e;
  color: #fff;
  font:
    700 10px/1 Arial,
    sans-serif;
}
.notification-panel-heading,
.support-list-heading,
.support-message-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.notification-panel-heading > span {
  color: var(--home-muted);
  font-size: 11px;
}
.notification-list {
  display: grid;
  max-height: min(420px, 65vh);
  margin-top: 10px;
  overflow-y: auto;
  gap: 7px;
}
.notification-item {
  display: grid;
  width: 100%;
  gap: 4px;
  padding: 10px 11px;
  border: 1px solid var(--home-line);
  border-radius: 12px;
  background: #fff;
  color: var(--home-ink);
  text-align: left;
  cursor: pointer;
}
.notification-item.is-unread {
  border-color: #cfc0ff;
  background: #f6f2ff;
}
.notification-item-body,
.notification-item time {
  color: var(--home-muted);
  font-size: 12px;
  line-height: 1.4;
}
.notification-empty {
  margin: 10px 0 0;
  color: var(--home-muted);
  font-size: 13px;
}
.support-list-heading {
  margin: 18px 0 8px;
}
.support-list-heading h4,
.account-deletion-history h4 {
  margin: 0;
  color: var(--home-ink);
}
.support-ticket-list,
.account-deletion-history {
  display: grid;
  gap: 7px;
}
.support-ticket-row,
.account-deletion-history-row {
  display: flex;
  width: 100%;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px;
  border: 1px solid var(--home-line);
  border-radius: 12px;
  background: var(--home-card);
  color: var(--home-ink);
  text-align: left;
  cursor: pointer;
}
.support-ticket-row > span:first-child,
.account-deletion-history-row > span:first-child {
  display: grid;
  min-width: 0;
  gap: 4px;
}
.support-ticket-row small,
.account-deletion-history-row small {
  overflow-wrap: anywhere;
  color: var(--home-muted);
  font-size: 11px;
}
.support-status-chip {
  flex: 0 0 auto;
  padding: 5px 8px;
  border-radius: 999px;
  background: #f0edff;
  color: #5925cb;
  font-size: 11px;
}
.support-detail-card {
  margin-top: 14px;
  padding: 14px;
  border: 1px solid var(--home-line);
  border-radius: 14px;
  background: var(--home-canvas);
}
.support-conversation {
  display: grid;
  max-height: 440px;
  margin: 12px 0;
  overflow-y: auto;
  gap: 8px;
}
.support-message,
.support-activity {
  min-width: 0;
  padding: 11px 12px;
  border: 1px solid var(--home-line);
  border-radius: 12px;
  background: var(--home-card);
  color: var(--home-ink);
}
.support-message p,
.support-activity p {
  margin: 7px 0 0;
  overflow-wrap: anywhere;
  white-space: pre-wrap;
  line-height: 1.5;
}
.support-message time,
.support-activity time {
  color: var(--home-muted);
  font-size: 11px;
}
.support-activity {
  background: #f7f5ff;
}
.support-activity > span {
  margin-left: 7px;
  color: #5925cb;
  font-size: 12px;
}
.support-activity time {
  display: block;
  margin-top: 7px;
}
.support-reply-form {
  display: grid;
  gap: 10px;
  margin-top: 12px;
}
.support-reply-form textarea {
  min-height: 82px;
  resize: vertical;
}
.support-detail-card .profile-card-heading {
  align-items: flex-start;
}
.support-ticket-unread {
  background: #f7f3ff;
}
.support-unread-label {
  display: inline-block;
  margin-top: 4px;
  padding: 3px 6px;
  border-radius: 999px;
  background: #e9ddff;
  color: #5120b7;
  font-size: 10px;
}
#account-deletion-history {
  margin-top: 16px;
}
@media (min-width: 769px) {
  .app:not(.student-shell) .topbar > #sidebar-toggle {
    order: 1;
  }
  .app:not(.student-shell) .topbar > .topbar-context {
    order: 2;
    flex: 1;
  }
  .app:not(.student-shell) .topbar > .student-home-notifications {
    order: 3;
    margin-left: 0;
  }
  .app:not(.student-shell) .topbar > .topbar-user {
    order: 4;
  }
}
@media (max-width: 768px) {
  .student-notification-panel {
    position: fixed;
    top: 66px;
    right: 12px;
    width: min(360px, calc(100vw - 24px));
    max-height: calc(100dvh - 86px);
    overflow-y: auto;
  }
  .support-ticket-row,
  .account-deletion-history-row {
    align-items: flex-start;
  }
  .support-status-chip {
    white-space: normal;
    text-align: right;
  }
}
@media (min-width: 769px) {
  .student-shell .app-main:has(#page-dashboard:not(.hidden)) > .topbar {
    padding-inline: calc(16px + max(0px, (100% - 1392px) / 2));
  }
  .student-shell .page:has(#page-dashboard:not(.hidden)) {
    padding-top: 12px;
  }
}
@media (max-width: 380px) {
  .student-shell .page:has(#page-dashboard:not(.hidden)) {
    padding-inline: 14px;
  }
  .home-work-summary {
    padding-inline: 16px;
    gap: 12px;
  }
  .student-home #home-start-next {
    font-size: 17px;
    gap: 10px;
  }
  .home-measurement {
    padding-inline: 10px;
    gap: 9px;
  }
  .student-home .home-welcome p {
    font-size: 15px;
  }
}
:root[data-theme="dark"] .student-shell {
  --home-canvas: #17182c;
  --home-card: #24243c;
  --home-ink: #f1efff;
  --home-muted: #c5c2e5;
  --home-line: #35344e;
}
:root[data-theme="dark"] .home-work-summary {
  background: #24243c;
}
:root[data-theme="dark"] .student-home .home-welcome {
  background-color: #b9dff1;
}
:root[data-theme="dark"] .student-home .home-welcome h2,
:root[data-theme="dark"] .student-home .home-welcome p {
  color: #101049;
}
:root[data-theme="dark"] .home-measurement {
  background: #393051;
}
:root[data-theme="dark"] .home-measurement.home-comprehension {
  background: #213d33;
}
:root[data-theme="dark"] .home-level-value small,
:root[data-theme="dark"] .home-activity-copy span {
  color: #cbc8e9;
}
:root[data-theme="dark"] .student-shell #student-bottom-nav {
  background: #24243c;
  border-color: #35344e;
}
:root[data-theme="dark"] .student-shell #student-bottom-nav .bottom-nav-item {
  color: #c5c2e5;
}
:root[data-theme="dark"] .student-shell #student-bottom-nav .bottom-nav-item.active {
  color: #b596ff;
}
@media (prefers-reduced-motion: reduce) {
  #home-work-fill {
    transition: none;
  }
}

.student-shell #home-progress-link {
  width: auto;
  min-height: 32px;
  font:
    12px/1.15 Arial,
    sans-serif;
}
.student-shell #home-insights-values {
  color: var(--home-ink);
  font-family: Arial, sans-serif;
}
.student-shell #home-insights-values .home-comprehension > .ui-icon {
  width: 29px;
  height: 29px;
  color: #0bbb2c;
}
.home-activity-copy strong,
.home-activity-copy span {
  font-family: Arial, sans-serif;
}

/* Give tablet and desktop learners their available workspace while keeping the
   approved narrow-phone composition unchanged. */
@media (min-width: 600px) {
  .student-shell .page-view {
    max-width: 1360px;
  }

  .student-shell #page-dashboard {
    max-width: 1360px;
    margin-inline: auto;
  }

  .student-home .home-welcome {
    margin-inline: 0;
  }
}

@media (min-width: 700px) and (max-width: 1199px) {
  .student-home {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 18px;
  }

  .student-home .home-welcome {
    grid-column: 1 / -1;
    height: 188px;
    border-radius: 24px;
  }

  .student-home .home-work-card {
    grid-column: 1 / -1;
    margin-top: -34px;
  }

  .student-shell #home-insights.home-status-card:not(.hidden) {
    grid-column: span 7;
    align-self: start;
  }

  .student-home .home-recent-card {
    grid-column: span 5;
    align-self: start;
  }

  .student-home .home-card-heading h2 {
    font-size: 15px;
  }

  .student-home .home-measurements {
    gap: 7px;
  }

  .student-home .home-measurement {
    gap: 7px;
    padding-inline: 9px;
  }
}

@media (min-width: 769px) {
  .student-shell #page-dashboard {
    width: 100%;
  }

  .student-home {
    gap: 18px;
  }

  .student-home .home-welcome {
    height: clamp(188px, 15vw, 230px);
    border-radius: 26px;
    background-position: center 66%;
  }

  .student-home .home-welcome-copy {
    max-width: 600px;
    padding: clamp(26px, 3vw, 40px);
  }

  .student-home .home-welcome h2 {
    font-size: clamp(26px, 2.2vw, 32px);
  }

  .student-home .home-welcome p {
    max-width: 54ch;
    font-size: 16px;
  }

  .student-home .home-work-card {
    margin-top: -32px;
  }

  .student-shell #home-insights.home-status-card:not(.hidden) {
    margin-top: -32px;
    padding: 14px 14px 12px;
  }

  .student-home .home-recent-card {
    padding: 12px 14px 8px;
  }

  #home-recent-activity {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 18px;
    padding-top: 6px;
  }

  #home-recent-activity .home-activity:nth-child(2) {
    border-top: 0;
  }

  .student-shell .learning-path-course {
    max-width: 1360px;
  }
}

@media (min-width: 769px) and (max-width: 1199px) {
  .student-shell #home-insights.home-status-card:not(.hidden) {
    margin-top: 0;
  }

  #home-recent-activity {
    grid-template-columns: minmax(0, 1fr);
  }

  #home-recent-activity .home-activity:nth-child(2) {
    border-top: 1px solid #f0edf9;
  }
}

@media (min-width: 1200px) {
  .student-home {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 20px;
  }

  .student-home .home-welcome {
    grid-column: 1 / -1;
  }

  .student-home .home-work-card {
    grid-column: span 7;
  }

  .student-shell #home-insights.home-status-card:not(.hidden) {
    grid-column: span 5;
  }

  .student-home .home-recent-card {
    grid-column: 1 / -1;
  }
}

@media (min-width: 769px) {
  .student-shell #learning-path-card > #learning-path.learning-path {
    width: min(100%, 1040px);
  }
}

@media (min-width: 1600px) {
  .student-shell #learning-path-card > #learning-path.learning-path {
    width: min(100%, 1120px);
  }
}

@media (min-width: 769px) and (max-width: 900px) {
  .student-shell .app-main {
    padding-bottom: 88px;
  }

  .student-shell #student-bottom-nav {
    display: grid !important;
  }

  .student-shell .app-main:has(#page-dashboard:not(.hidden)) #sidebar-toggle {
    display: inline-flex !important;
  }
}
