/* Student-only correction layer. Never load this file on home, admin, or faculty pages. */

body.student-page {
  min-width: 20rem;
  background-color: var(--color-page) !important;
  background-image: none !important;
  color: var(--color-text) !important;
  font-size: var(--fs-base);
  font-weight: var(--weight-regular);
  line-height: 1.80857;
}

body.student-page > :not(footer),
body.student-page > :not(footer) :where(*:not(i):not(.fa):not([class^="fa-"]):not([class*=" fa-"])) {
  font-family: var(--font-body) !important;
}

body.student-page.student-page--dark {
  background-color: var(--color-dark-page);
  color: var(--color-dark-text);
}

body.student-page > :not(footer) :is(h1, h2, h3, h4, h5, h6) {
  color: var(--color-heading) !important;
  font-family: var(--font-heading) !important;
  font-weight: var(--weight-bold) !important;
  line-height: var(--leading-heading) !important;
  letter-spacing: var(--tracking-normal) !important;
}

body.student-page > :not(footer) h1,
body.student-page > :not(footer) h2 {
  font-size: var(--fs-h2) !important;
}

body.student-page > :not(footer) h3 { font-size: var(--fs-h3) !important; }
body.student-page > :not(footer) h4,
body.student-page > :not(footer) h5,
body.student-page > :not(footer) h6 { font-size: var(--fs-h4) !important; }

body.student-page > :not(footer) :is(p, li, label, input, select, textarea, button, a) {
  font-family: var(--font-body);
}

body.student-page > :not(footer) p {
  font-size: var(--fs-body);
  font-weight: var(--weight-regular);
  line-height: var(--leading-body);
}

body.student-page > :not(footer) :is(.card-title, .course-title, .project-card h4, .resource-card h3, .module-title, .video-gallery-title) {
  color: var(--color-card-heading) !important;
  font-size: var(--fs-card-title) !important;
  font-weight: var(--weight-bold) !important;
  line-height: var(--leading-card) !important;
  letter-spacing: var(--tracking-normal) !important;
}

body.student-page > :not(footer) :is(.eyebrow, .dashboard-eyebrow, .section-kicker, .hero-kicker, .impact-label, .form-label, label) {
  color: var(--color-text) !important;
  font-size: var(--fs-label) !important;
  font-weight: var(--weight-nav) !important;
  letter-spacing: var(--tracking-label) !important;
  line-height: 1.8 !important;
}

body.student-page > :not(footer) :is(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid var(--color-focus-ring) !important;
  outline-offset: 3px;
}

/* Match the destination while the loader is visible. */
body.student-page .loader_bg {
  background: var(--color-surface) !important;
  color: var(--color-text) !important;
}

body.student-page.student-page--dark .loader_bg {
  background: var(--color-dark-page) !important;
  color: var(--color-dark-text) !important;
}

/* Navbar geometry and visual treatment measured from index.html. */
body.student-page .header:has(.navigation.navbar),
body.student-page.inner_page .header:has(.navigation.navbar) {
  position: relative !important;
  inset: auto !important;
  width: 100%;
  min-height: var(--navbar-height) !important;
  height: auto !important;
  margin-bottom: 0 !important;
  padding: 0.625rem 1.75rem !important;
  background: rgba(255, 255, 255, 0.92) !important;
  border-bottom: 1px solid rgba(226, 232, 240, 0.7) !important;
  box-shadow: 0 0 0.625rem var(--color-header-hairline) !important;
  backdrop-filter: blur(18px);
}

body.student-page .header:has(.navigation.navbar) .container-fluid {
  width: 100%;
  max-width: var(--container-navbar);
  margin-inline: auto;
}

body.student-page .header:has(.navigation.navbar) .row.d_flex {
  min-height: 3.5rem;
  align-items: center;
  flex-wrap: nowrap;
}

body.student-page .header:has(.navigation.navbar) .logo_section {
  flex: 0 0 auto;
  width: auto;
  max-width: none;
}

body.student-page .header:has(.navigation.navbar) .logo a {
  display: inline-block;
  color: var(--color-logo-start) !important;
  background: var(--gradient-logo) !important;
  background-clip: text !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  font-family: var(--font-logo) !important;
  font-size: clamp(1.35rem, 2.2vw, 2.55rem) !important;
  font-weight: var(--weight-nav) !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  white-space: nowrap;
}

body.student-page .header:has(.navigation.navbar) .col-md-10 {
  flex: 1 1 auto;
  min-width: 0;
  max-width: none;
}

body.student-page .navigation.navbar {
  width: 100%;
  min-height: 0;
  align-items: center;
  justify-content: flex-end;
}

body.student-page .navigation .navbar-collapse { justify-content: flex-end; }
body.student-page .navigation .navbar-nav {
  align-items: center;
  gap: 0.625rem;
  margin-left: auto !important;
  margin-right: 0 !important;
}

body.student-page .navigation.navbar-dark .navbar-nav .nav-link {
  min-height: 2.75rem;
  padding: 0.8125rem 1.125rem !important;
  border-radius: var(--radius-pill) !important;
  background: var(--color-transparent) !important;
  color: var(--color-nav) !important;
  font-family: var(--font-heading) !important;
  font-size: 0.86rem !important;
  font-weight: var(--weight-nav) !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  white-space: nowrap;
}

body.student-page .navigation.navbar-dark .navbar-nav .nav-link:hover,
body.student-page .navigation.navbar-dark .navbar-nav .active > .nav-link,
body.student-page .navigation.navbar-dark .navbar-nav .active .nav-link,
body.student-page .navigation.navbar-dark .navbar-nav .nav-link.active {
  background: var(--color-interactive-soft) !important;
  color: var(--color-interactive) !important;
}

body.student-page .navigation :is(.portal-login-toggle, .auth-nav-item > .nav-link, #auth-nav-item > .nav-link, #auth-sm-nav-item > .nav-link) {
  display: inline-flex !important;
  align-items: center !important;
  gap: var(--space-2);
  min-height: 2.75rem;
  border: 2px solid var(--color-primary-border) !important;
  border-radius: var(--radius-pill) !important;
  background: var(--color-surface) !important;
  color: var(--color-profile) !important;
  box-shadow: var(--shadow-sm) !important;
}

body.student-page .navigation :is(.portal-login-toggle, #auth-nav-item > .nav-link, #auth-sm-nav-item > .nav-link):hover,
body.student-page .navigation :is(.portal-login-toggle, #auth-nav-item > .nav-link, #auth-sm-nav-item > .nav-link)[aria-expanded="true"] {
  background: linear-gradient(135deg, var(--color-primary-soft), var(--color-interactive-wash)) !important;
  color: var(--color-interactive) !important;
}

body.student-page .navigation #auth-username { color: inherit !important; }
body.student-page .navigation .dropdown-menu {
  border: 1px solid var(--color-border) !important;
  border-radius: var(--radius-lg) !important;
  background: var(--color-surface) !important;
  box-shadow: var(--shadow-md) !important;
}

body.student-page .navigation .dropdown-item { color: var(--color-text) !important; }
body.student-page .navigation .dropdown-item:hover,
body.student-page .navigation .dropdown-item:focus {
  background: var(--color-interactive-soft) !important;
  color: var(--color-interactive-hover) !important;
}

body.student-page .header:has(.navigation.navbar):has(.enrolled_courses) {
  height: var(--navbar-height) !important;
  max-height: var(--navbar-height) !important;
}

/* Controls use the same measured index roles. */
body.student-page > :not(footer) :is(.btn, button, [role="button"]):not(.nav-link):not(.navbar-toggler):not(.close):not(.carousel-control-prev):not(.carousel-control-next) {
  min-height: var(--control-height);
  border-radius: var(--radius-md);
  font-family: var(--font-body) !important;
  font-size: 0.85rem !important;
  font-weight: var(--weight-bold) !important;
  line-height: 1.5 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  transition: transform var(--transition-fast), background-color var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast);
}

body.student-page > :not(footer) :is(.btn-primary, .send_btn, .read_more, .btn-neon-apply, .btn-neon-submit, .btn-project-action, .resource-action, .enroll-btn, .btn-enroll-hero, .watch-button, .action-btn.primary) {
  border-color: var(--color-primary) !important;
  background: var(--color-primary) !important;
  background-image: none !important;
  color: var(--color-surface) !important;
  box-shadow: 0 0.625rem 1.5rem rgba(225, 29, 143, 0.25) !important;
}

body.student-page > :not(footer) :is(.btn-primary, .send_btn, .read_more, .btn-neon-apply, .btn-neon-submit, .btn-project-action, .resource-action, .enroll-btn, .btn-enroll-hero, .watch-button, .action-btn.primary):hover {
  border-color: var(--color-primary-hover) !important;
  background: var(--color-primary-hover) !important;
  color: var(--color-surface) !important;
  transform: translateY(-1px);
}

body.student-page > :not(footer) :is(.btn-secondary, .btn-outline-primary, .btn-outline-secondary, .action-btn.secondary) {
  border: 1px solid var(--color-interactive) !important;
  background: var(--color-transparent) !important;
  color: var(--color-interactive) !important;
  box-shadow: none !important;
}

body.student-page > :not(footer) :is(.btn-secondary, .btn-outline-primary, .btn-outline-secondary, .action-btn.secondary):hover {
  background: var(--color-interactive) !important;
  color: var(--color-surface) !important;
}

body.student-page > :not(footer) :is(.btn-link, .btn-ghost) {
  border-color: var(--color-transparent) !important;
  background: var(--color-transparent) !important;
  color: var(--color-interactive) !important;
  box-shadow: none !important;
}

body.student-page > :not(footer) :is(input, select, textarea, .form-control):not([type="checkbox"]):not([type="radio"]):not(.newsl) {
  min-height: var(--control-height);
  border: 1px solid var(--color-border-field) !important;
  border-radius: var(--radius-sm) !important;
  background: rgba(255, 255, 255, 0.9) !important;
  color: var(--color-input-text) !important;
  font-family: var(--font-logo) !important;
  font-size: var(--fs-control) !important;
  font-weight: var(--weight-regular) !important;
  line-height: 1.80857 !important;
  box-shadow: none !important;
}

body.student-page > :not(footer) textarea:not(.newsl) { min-height: 8rem; resize: vertical; }
body.student-page > :not(footer) :is(input, textarea, .form-control):not(.newsl)::placeholder {
  color: var(--color-muted) !important;
  opacity: 1;
}

body.student-page > :not(footer) :is(input, select, textarea, .form-control):not(.newsl):focus {
  border-color: var(--color-interactive) !important;
  outline: 0;
  box-shadow: 0 0 0 0.25rem var(--color-focus-ring) !important;
}

body.student-page > :not(footer) input:-webkit-autofill,
body.student-page > :not(footer) input:-webkit-autofill:hover,
body.student-page > :not(footer) input:-webkit-autofill:focus {
  -webkit-text-fill-color: var(--color-input-text) !important;
  box-shadow: 0 0 0 62.5rem var(--color-surface) inset !important;
}

/* Cards and supporting components use index density. */
body.student-page > :not(footer) :is(.card, .course-card, .project-card, .resource-card, .notification-card, .study-material-card, .help-card, .stat-card, .module-card) {
  border: 1px solid var(--color-border) !important;
  border-radius: var(--radius-lg) !important;
  background-color: var(--color-surface);
  box-shadow: var(--shadow-sm);
}

body.student-page > :not(footer) :is(.card, .course-card, .project-card, .resource-card, .notification-card, .study-material-card, .help-card, .stat-card, .module-card):hover {
  border-color: var(--color-border) !important;
  box-shadow: var(--shadow-md);
}

body.student-page .student-course-card .continue-learning,
body.student-page .student-course-card .continue-learning :is(span, i) {
  color: var(--color-surface) !important;
  -webkit-text-fill-color: var(--color-surface) !important;
}

body.student-page .student-course-card .continue-learning:hover,
body.student-page .student-course-card .continue-learning:focus-visible,
body.student-page .student-course-card .continue-learning:hover :is(span, i),
body.student-page .student-course-card .continue-learning:focus-visible :is(span, i) {
  color: var(--color-surface) !important;
  -webkit-text-fill-color: var(--color-surface) !important;
}

body.student-page.student-page--dark > :not(footer) :is(h1, h2, h3, h4, h5, h6) {
  color: var(--color-dark-text) !important;
}

body.student-page.student-page--dark > :not(footer) :is(.card, .course-card, .project-card, .resource-card, .notification-card, .study-material-card, .help-card, .stat-card, .module-card) {
  border-color: rgba(255, 255, 255, 0.08) !important;
  background-color: var(--color-dark-surface);
  color: var(--color-dark-text);
}

body.student-page.student-page--dark > :not(footer) :is(p, .text-muted, small, .muted, .description, .subtitle) {
  color: var(--color-dark-muted) !important;
}

body.student-page > :not(footer) :is(.badge, .tag, .pill, .status-badge) {
  border: 1px solid var(--color-interactive);
  border-radius: var(--radius-pill);
  background: var(--color-interactive-soft);
  color: var(--color-interactive-hover);
  font-size: var(--fs-small) !important;
  font-weight: var(--weight-bold) !important;
}

body.student-page > :not(footer) :is(.badge-success, .status-success, .available, .text-success) { color: var(--color-success) !important; }
body.student-page > :not(footer) :is(.badge-warning, .status-warning, .text-warning) { color: var(--color-warning) !important; }
body.student-page > :not(footer) :is(.badge-danger, .status-danger, .text-danger) { color: var(--color-danger) !important; }
body.student-page > :not(footer) :is(.text-primary, a:not(.btn):not(.nav-link):not(.dropdown-item)) { color: var(--color-interactive) !important; }

/* Page-role corrections. */
body.student-page .hero:not(.banner_main),
body.student-page .help-hero,
body.student-page .welcome-header,
body.student-page .courses-hero,
body.student-page .course-hero-section,
body.student-page .intern-hero,
body.student-page .project-hero {
  background-color: var(--color-dark-page) !important;
  background-image: none !important;
}

body.student-page :is(.hero:not(.banner_main), .help-hero, .welcome-header, .courses-hero, .course-hero-section, .intern-hero, .project-hero) :is(h1, h2) {
  color: var(--color-dark-text) !important;
}

body.student-page :is(.hero:not(.banner_main), .help-hero, .welcome-header, .courses-hero, .course-hero-section, .intern-hero, .project-hero) p {
  color: var(--color-dark-muted) !important;
  font-size: 1.16rem !important;
  font-weight: var(--weight-regular) !important;
  line-height: 1.7 !important;
}

body.student-page :is(.project-hero, .intern-hero) h1 {
  max-width: 60rem;
  font-size: clamp(2rem, 4vw, 3.5rem) !important;
  font-weight: var(--weight-bold) !important;
  line-height: 1.1 !important;
}

body.student-page :is(.hero:not(.banner_main), .help-hero, .welcome-header, .courses-hero, .course-hero-section) :is(h1, h2) {
  font-size: var(--fs-h2) !important;
}

body.student-page.internship-page > :not(footer) :is(.intern-feature-section, .process-step, .glass-form) :is(h2, h3, h4, label) {
  color: var(--color-input-text) !important;
  background-image: none !important;
  -webkit-text-fill-color: currentColor !important;
}

body.student-page.internship-page .intern-process-section h2 {
  color: var(--color-input-text) !important;
  background-image: none !important;
  -webkit-text-fill-color: currentColor !important;
}

body.student-page.internship-page .intern-process-section .section-subtitle {
  color: var(--color-text) !important;
}

body.student-page.internship-page .video-gallery-heading {
  color: var(--color-heading) !important;
  background-image: none !important;
  -webkit-text-fill-color: currentColor !important;
}

body.student-page.internship-page .intern-feature-section .neon-card > i {
  color: var(--color-input-text) !important;
  text-shadow: none !important;
}

body.student-page.internship-page .intern-feature-section .neon-card {
  padding: var(--space-6) !important;
}

body.student-page.internship-page .intern-feature-section .neon-card > i {
  width: 3rem;
  height: 3rem;
  margin-bottom: var(--space-4) !important;
  border-radius: var(--radius-md);
  font-size: 1.25rem !important;
}

body.student-page.internship-page .intern-feature-section .neon-card h3 {
  margin-bottom: var(--space-2) !important;
  color: var(--color-card-heading) !important;
  font-size: var(--fs-card-title) !important;
  font-weight: var(--weight-bold) !important;
  line-height: var(--leading-card) !important;
  letter-spacing: var(--tracking-normal) !important;
}

body.student-page.internship-page .intern-feature-section .neon-card p {
  margin-bottom: 0;
  color: var(--color-muted) !important;
  font-size: var(--fs-base) !important;
  font-weight: var(--weight-regular) !important;
  line-height: var(--leading-body) !important;
}

body.student-page.internship-page .glass-form {
  width: 100%;
  max-width: 52rem;
  margin-inline: auto;
  padding: var(--space-8) !important;
}

body.student-page.internship-page #internshipForm > .row {
  margin-right: -0.5rem;
  margin-left: -0.5rem;
}

body.student-page.internship-page #internshipForm > .row > [class*="col-"] {
  display: flex;
  flex-direction: column;
  padding-right: 0.5rem;
  padding-left: 0.5rem;
}

body.student-page.internship-page #internshipForm .form-label {
  display: block;
  width: 100%;
  min-height: 1.5rem;
  margin: 0 0 var(--space-2);
  color: var(--color-text) !important;
  font-size: var(--fs-label) !important;
  font-weight: var(--weight-bold) !important;
  line-height: 1.5 !important;
  letter-spacing: var(--tracking-normal) !important;
  text-align: left;
}

body.student-page.internship-page #internshipForm .input-group {
  display: flex;
  flex-wrap: nowrap;
  width: 100%;
  min-width: 0;
}

body.student-page.internship-page #internshipForm .input-group-prepend {
  display: flex;
  flex: 0 0 2.75rem;
  margin-right: -1px;
}

body.student-page.internship-page #internshipForm .input-group-text {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: var(--control-height);
  padding: 0;
  border: 1px solid var(--color-border-field) !important;
  border-right: 0 !important;
  border-radius: var(--radius-sm) 0 0 var(--radius-sm) !important;
  background: var(--color-surface) !important;
  color: var(--color-interactive) !important;
}

body.student-page.internship-page #internshipForm .neon-input {
  flex: 1 1 auto;
  width: 1%;
  min-width: 0;
  min-height: var(--control-height) !important;
  height: var(--control-height) !important;
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0 !important;
}

body.student-page.internship-page #internshipForm select.neon-input {
  padding-right: 2rem;
}

body.student-page.internship-page .intern-hero h1 span {
  color: var(--color-dark-text) !important;
  background-image: none !important;
  -webkit-text-fill-color: currentColor !important;
}

body.student-page.internship-page .video-gallery-body {
  position: relative;
  padding: 78px 0 86px !important;
  background:
    radial-gradient(circle at top left, rgba(255, 11, 172, 0.09), transparent 24%),
    radial-gradient(circle at top right, rgba(33, 150, 243, 0.12), transparent 28%),
    linear-gradient(180deg, var(--color-surface) 0%, #fff7fc 55%, #f3f9ff 100%) !important;
}

body.student-page.internship-page .video-gallery-body::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.55), rgba(255, 255, 255, 0.55)),
    radial-gradient(circle at 1px 1px, rgba(15, 39, 66, 0.08) 1px, transparent 0);
  background-size: auto, 22px 22px;
  opacity: 0.45;
  pointer-events: none;
}

body.student-page.internship-page .video-gallery-body #app-wrapper {
  position: relative;
  z-index: 1;
  background: transparent !important;
}

body.student-page.internship-page .video-gallery-body > #app-wrapper > section {
  padding: 0 !important;
}

body.student-page.internship-page .video-gallery-section-shell {
  position: relative;
  z-index: 1;
  max-width: 82rem;
  margin: 0 auto;
  padding: 0 1rem;
}

body.student-page.internship-page .video-gallery-intro {
  margin-bottom: 2.75rem;
  text-align: center;
}

body.student-page.internship-page .video-gallery-body,
body.student-page.internship-page .video-gallery-body :where(a, p, span, div) {
  font-family: "Outfit", system-ui, sans-serif !important;
}

body.student-page.internship-page .video-gallery-heading {
  color: #16263d !important;
  font-family: "Playfair Display", Georgia, serif !important;
  font-size: 2rem !important;
  font-weight: var(--weight-bold) !important;
  line-height: var(--leading-heading) !important;
}

body.student-page.internship-page #videos-description {
  color: #62748a !important;
  font-size: 1.125rem !important;
  line-height: var(--leading-body) !important;
}

body.student-page.internship-page .video-gallery-kicker {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1rem;
  padding: 8px 16px;
  border-radius: var(--radius-pill);
  background: #fff0f9;
  color: var(--color-logo-start) !important;
  font-size: 0.8rem !important;
  font-weight: var(--weight-bold) !important;
  letter-spacing: var(--tracking-label) !important;
  text-transform: uppercase;
}

body.student-page.internship-page .video-gallery-card {
  display: flex;
  flex-direction: column;
  height: 420px;
  overflow: hidden;
  border: 1px solid #e3edf8 !important;
  border-radius: 1.2rem !important;
  background: linear-gradient(180deg, var(--color-surface) 0%, #fbfdff 100%) !important;
  box-shadow: 0 18px 40px var(--color-shadow-soft) !important;
}

body.student-page.internship-page .video-gallery-card:hover {
  transform: translateY(-8px) !important;
  border-color: rgba(255, 11, 172, 0.22) !important;
  box-shadow: 0 24px 48px rgba(15, 23, 42, 0.14) !important;
}

body.student-page.internship-page .video-gallery-content {
  display: flex;
  flex: 1;
  flex-direction: column;
}

body.student-page.internship-page .video-gallery-grid {
  gap: var(--space-6) !important;
}

body.student-page.internship-page .video-gallery-card :is(h3, .video-gallery-title) {
  display: -webkit-box;
  overflow: hidden;
  color: #16263d !important;
  font-family: "Outfit", system-ui, sans-serif !important;
  font-size: 1.125rem !important;
  font-weight: var(--weight-bold) !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

body.student-page.internship-page .video-gallery-card :is(p, .video-gallery-description, .video-gallery-stats) {
  display: -webkit-box;
  overflow: hidden;
  color: #62748a !important;
  font-family: "Outfit", system-ui, sans-serif !important;
  font-size: 0.875rem !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

body.student-page.internship-page .video-gallery-play-button {
  background: var(--gradient-logo) !important;
  box-shadow: 0 14px 28px rgba(255, 11, 172, 0.24) !important;
}

body.student-page.internship-page .video-gallery-duration {
  padding: 0.35rem 0.65rem;
  border-radius: var(--radius-pill);
  background: rgba(255, 255, 255, 0.92) !important;
  color: var(--color-card-heading) !important;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.14);
}

@media (max-width: 640px) {
  body.student-page.internship-page .video-gallery-body {
    padding: 56px 0 62px !important;
  }

  body.student-page.internship-page .video-gallery-heading {
    font-size: 1.7rem !important;
  }
}

@media (max-width: 47.99875rem) {
  body.student-page.internship-page .glass-form {
    padding: var(--space-6) var(--space-4) !important;
  }

  body.student-page.internship-page #internshipForm > .row > [class*="col-"] {
    flex: 0 0 100%;
    max-width: 100%;
  }
}

/* Internship footer mirrors the index footer cascade exactly. */
body.student-page.internship-page footer .footer {
  background: #0f172a !important;
  color: #cbd5e1;
}

body.student-page.internship-page footer :is(.infoma h3, .footer a, .footer p) {
  color: #f8fafc !important;
}

body.student-page.internship-page footer :is(ul.conta li, .infoma ul li) {
  color: #cbd5e1 !important;
}

body.student-page.internship-page footer .copyright {
  background: #020617 !important;
}

/* Project listing: a consistent light theme using the index design roles. */
body.student-page.project-page {
  background: var(--color-page) !important;
  color: var(--color-text) !important;
}

body.student-page.project-page .loader_bg {
  background: var(--color-page) !important;
}

body.student-page.project-page:not(.has-announcement) .header + .project-hero {
  margin-top: 0 !important;
}

body.student-page.project-page .project-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 4.5rem 0 4rem !important;
  border-bottom: 1px solid var(--color-header-hairline);
  background:
    radial-gradient(circle at 1px 1px, rgba(255, 255, 255, 0.055) 1px, transparent 0),
    radial-gradient(circle at 12% 18%, rgba(255, 11, 172, 0.2), transparent 30%),
    radial-gradient(circle at 88% 14%, rgba(33, 150, 243, 0.22), transparent 32%),
    linear-gradient(135deg, var(--color-dark-page) 0%, var(--color-dark-surface) 52%, #102845 100%) !important;
  background-size: 24px 24px, auto, auto, auto !important;
}

body.student-page.project-page .project-hero::before,
body.student-page.project-page .project-hero::after {
  content: "";
  position: absolute;
  z-index: -1;
  width: 12rem;
  height: 12rem;
  border-radius: 50%;
  filter: blur(0.25rem);
  opacity: 0.55;
  pointer-events: none;
}

body.student-page.project-page .project-hero::before {
  top: -7rem;
  left: 8%;
  background: radial-gradient(circle, rgba(255, 11, 172, 0.24) 0%, transparent 70%);
}

body.student-page.project-page .project-hero::after {
  right: 7%;
  bottom: -7rem;
  background: radial-gradient(circle, rgba(33, 150, 243, 0.26) 0%, transparent 70%);
}

body.student-page.project-page .project-hero .container {
  position: relative;
  z-index: 1;
}

body.student-page.project-page .project-hero h5 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.45rem 0.9rem;
  border: 1px solid rgba(255, 11, 172, 0.35);
  border-radius: var(--radius-pill);
  background: rgba(255, 255, 255, 0.08);
  color: var(--color-logo-start) !important;
  -webkit-text-fill-color: var(--color-logo-start) !important;
  font-size: var(--fs-label) !important;
  font-weight: var(--weight-bold) !important;
  letter-spacing: var(--tracking-label) !important;
  box-shadow: 0 0.5rem 1.5rem var(--color-shadow-soft);
}

body.student-page.project-page .project-hero h1 {
  color: var(--color-dark-text) !important;
  font-size: clamp(2rem, 4vw, 2.75rem) !important;
  font-weight: var(--weight-bold) !important;
  line-height: var(--leading-heading) !important;
  letter-spacing: var(--tracking-normal) !important;
  text-shadow: none !important;
}

body.student-page.project-page .project-hero .gradient-text {
  background: var(--gradient-logo) !important;
  background-clip: text !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  text-shadow: none !important;
}

body.student-page.project-page .project-hero h1::after {
  content: "";
  display: block;
  width: 4.5rem;
  height: 0.2rem;
  margin: 1rem auto 0;
  border-radius: var(--radius-pill);
  background: var(--gradient-logo);
}

body.student-page.project-page .project-hero p {
  color: var(--color-dark-muted) !important;
  font-size: 0.875rem !important;
  line-height: var(--leading-body) !important;
}

body.student-page.project-page #projects-container {
  padding-top: var(--space-12) !important;
}

body.student-page.project-page .project-card {
  position: relative;
  border: 1px solid #e3edf8 !important;
  border-radius: 1.2rem !important;
  background: linear-gradient(180deg, var(--color-surface) 0%, #fbfdff 100%) !important;
  color: var(--color-text) !important;
  box-shadow: 0 18px 40px var(--color-shadow-soft) !important;
}

body.student-page.project-page .project-card:hover {
  transform: translateY(-6px) !important;
  border-color: rgba(255, 11, 172, 0.22) !important;
  box-shadow: 0 24px 48px rgba(15, 23, 42, 0.14) !important;
}

body.student-page.project-page .p-card-header {
  padding: var(--space-6) !important;
  border-bottom: 1px solid var(--color-border) !important;
  background: var(--color-surface) !important;
}

body.student-page.project-page .p-card-body {
  gap: 0;
  justify-content: space-between;
  padding: var(--space-6) !important;
  background: transparent !important;
}

body.student-page.project-page .project-card h4 {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  color: var(--color-card-heading) !important;
  font-size: var(--fs-card-title) !important;
  font-weight: var(--weight-bold) !important;
  line-height: var(--leading-card) !important;
  letter-spacing: var(--tracking-normal) !important;
}

body.student-page.project-page .project-card h4::before {
  content: "\f121";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 2rem;
  height: 2rem;
  border-radius: 0.65rem;
  background: var(--color-primary-soft);
  color: var(--color-primary);
  font-family: FontAwesome;
  font-size: 0.82rem;
  font-weight: normal;
  line-height: 1;
  box-shadow: none;
  transition: transform var(--transition-base), box-shadow var(--transition-base);
}

body.student-page.project-page .project-card:hover h4::before {
  transform: translateY(-2px);
  box-shadow: 0 0.5rem 1.25rem var(--color-primary-soft);
}

body.student-page.project-page .simple-desc {
  margin-bottom: 0 !important;
  color: var(--color-muted) !important;
  font-size: var(--fs-base) !important;
  line-height: var(--leading-body) !important;
}

body.student-page.project-page .badge-tech {
  border: 1px solid var(--color-interactive-border) !important;
  background: var(--color-interactive-soft) !important;
  color: var(--color-interactive-hover) !important;
  font-size: var(--fs-small) !important;
  font-weight: var(--weight-semibold) !important;
}

body.student-page.project-page .impact-box {
  margin-top: var(--space-4) !important;
  margin-bottom: var(--space-6) !important;
  padding: var(--space-4) !important;
  border: 1px solid var(--color-border) !important;
  border-left: 3px solid var(--color-primary) !important;
  border-radius: var(--radius-md) !important;
  background: rgba(225, 29, 143, 0.035) !important;
}

body.student-page.project-page .impact-box::after {
  content: "\f135" !important;
  right: 0.65rem !important;
  bottom: -0.45rem !important;
  color: var(--color-primary-soft) !important;
  font-size: 3rem !important;
  transform: rotate(-12deg) !important;
}

body.student-page.project-page .impact-label {
  color: var(--color-primary) !important;
  font-size: var(--fs-label) !important;
  font-weight: var(--weight-bold) !important;
  letter-spacing: var(--tracking-label) !important;
}

body.student-page.project-page .impact-text {
  color: var(--color-text) !important;
  font-size: var(--fs-base) !important;
  font-weight: var(--weight-regular) !important;
  line-height: var(--leading-body) !important;
}

body.student-page.project-page .btn-project-action,
body.student-page.project-page .btn-project-action:hover,
body.student-page.project-page .btn-project-action:focus {
  margin-top: 0 !important;
  border-radius: var(--radius-md) !important;
  border-color: var(--color-primary) !important;
  background: var(--color-primary) !important;
  color: var(--color-surface) !important;
  -webkit-text-fill-color: var(--color-surface) !important;
  text-decoration: none !important;
}

body.student-page.project-page .btn-project-action:hover,
body.student-page.project-page .btn-project-action:focus {
  border-color: var(--color-primary-hover) !important;
  background: var(--color-primary-hover) !important;
  box-shadow: 0 0.875rem 1.75rem var(--color-primary-soft) !important;
}

/* Student dashboard: fitted account pill and neutral content typography. */
body.student-page.student-dashboard-page .navigation :is(#auth-nav-item, #auth-sm-nav-item) {
  display: flex;
  align-items: center;
  width: auto !important;
  border: 0 !important;
  border-radius: 0 !important;
}

body.student-page.student-dashboard-page .navigation :is(#auth-nav-item, #auth-sm-nav-item) > .nav-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center;
  gap: 0.4rem;
  min-height: 2.75rem;
  padding: 0.625rem 0.875rem !important;
  box-sizing: border-box;
  border: 1px solid var(--color-primary) !important;
  border-radius: var(--radius-pill) !important;
  background: var(--color-surface) !important;
  color: var(--color-profile) !important;
  line-height: 1 !important;
  white-space: nowrap;
  box-shadow: none !important;
}

body.student-page.student-dashboard-page .navigation #auth-username {
  max-width: 9rem;
  margin-left: 0 !important;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.student-page.student-dashboard-page .navigation :is(#auth-nav-item, #auth-sm-nav-item) > .nav-link::after {
  margin-left: 0.25rem;
  vertical-align: middle;
}

body.student-page.student-dashboard-page .welcome-header {
  isolation: isolate;
}

body.student-page.student-dashboard-page .welcome-header::after {
  z-index: 0;
  opacity: 0.72;
}

body.student-page.student-dashboard-page .welcome-header > * {
  position: relative;
  z-index: 1;
}

body.student-page.student-dashboard-page .welcome-header .dashboard-eyebrow {
  color: var(--color-dark-small) !important;
  font-size: var(--fs-label) !important;
  line-height: 1.5 !important;
}

body.student-page.student-dashboard-page .welcome-header h2 {
  color: var(--color-dark-text) !important;
  font-size: var(--fs-h2) !important;
  font-weight: var(--weight-bold) !important;
  line-height: var(--leading-heading) !important;
}

body.student-page.student-dashboard-page .welcome-header #welcome-username {
  color: var(--color-logo-start) !important;
  -webkit-text-fill-color: var(--color-logo-start) !important;
}

body.student-page.student-dashboard-page .welcome-header p {
  max-width: 42rem;
  color: var(--color-dark-muted) !important;
  font-size: var(--fs-base) !important;
  line-height: var(--leading-body) !important;
}

body.student-page.student-dashboard-page :is(.announcements-panel, .assignment-panel) {
  color: var(--color-text) !important;
}

body.student-page.student-dashboard-page :is(.announcements-panel, .assignment-panel) :is(.panel-heading, .assignment-heading, .card-title) {
  color: var(--color-input-text) !important;
  font-size: 1rem !important;
  font-weight: var(--weight-bold) !important;
  line-height: var(--leading-card) !important;
}

body.student-page.student-dashboard-page .announcements-panel :is(.panel-kicker, .notification-type) {
  color: var(--color-text) !important;
}

body.student-page.student-dashboard-page .announcements-panel .panel-description {
  color: var(--color-muted) !important;
  font-size: 0.8rem !important;
  line-height: var(--leading-body) !important;
}

body.student-page.student-dashboard-page .notification-item .item-header .title-group strong {
  color: var(--color-input-text) !important;
  font-size: 0.875rem !important;
  font-weight: var(--weight-semibold) !important;
  line-height: var(--leading-card) !important;
}

body.student-page.student-dashboard-page .notification-item .item-body,
body.student-page.student-dashboard-page .notification-item .item-body p {
  color: var(--color-input-text) !important;
  font-size: 0.8125rem !important;
  line-height: var(--leading-body) !important;
}

body.student-page.student-dashboard-page .notification-meta {
  color: var(--color-muted) !important;
  font-size: 0.7rem !important;
}

body.student-page.student-dashboard-page .learning-progress-meta > span {
  color: var(--color-muted) !important;
}

body.student-page.student-dashboard-page .continue-course {
  color: var(--color-input-text) !important;
}

body.student-page.student-dashboard-page .continue-course:hover,
body.student-page.student-dashboard-page .continue-course:focus-visible {
  color: var(--color-primary) !important;
}

body.student-page.student-dashboard-page .assignment-panel {
  --assignment-ink: var(--color-input-text);
  --assignment-muted: var(--color-muted);
}

body.student-page.student-dashboard-page .assignment-panel :is(.assignment-kicker, .assignment-section-label) {
  color: var(--color-input-text) !important;
}

body.student-page.student-dashboard-page .assignment-subtitle {
  color: var(--color-muted) !important;
  font-size: 0.8125rem !important;
  line-height: var(--leading-body) !important;
}

body.student-page.student-dashboard-page .assignment-module {
  background: var(--color-surface) !important;
}

body.student-page.student-dashboard-page .assignment-picker-item {
  color: var(--color-input-text) !important;
  font-size: 0.8125rem !important;
}

body.student-page.student-dashboard-page .assignment-picker-item .name,
body.student-page.student-dashboard-page .assignment-detail-chip .value,
body.student-page.student-dashboard-page .assignment-status-head h6,
body.student-page.student-dashboard-page .assignment-status-value,
body.student-page.student-dashboard-page .assignment-history-title,
body.student-page.student-dashboard-page .assignment-history-filename,
body.student-page.student-dashboard-page .assignment-history-feedback {
  color: var(--color-input-text) !important;
}

body.student-page.student-dashboard-page .assignment-detail-chip .value,
body.student-page.student-dashboard-page .assignment-picker-item .name {
  font-size: 0.8125rem !important;
}

body.student-page.student-dashboard-page .assignment-picker-item .meta,
body.student-page.student-dashboard-page .assignment-status-head p,
body.student-page.student-dashboard-page .assignment-history-meta,
body.student-page.student-dashboard-page .assignment-field-hint,
body.student-page.student-dashboard-page .assignment-actions-row .assignment-note {
  color: var(--color-muted) !important;
  font-size: 0.75rem !important;
}

body.student-page.student-dashboard-page .assignment-detail-chip .label,
body.student-page.student-dashboard-page .assignment-status-label,
body.student-page.student-dashboard-page .assignment-panel .form-group > label {
  color: var(--color-input-text) !important;
  font-size: var(--fs-label) !important;
}

body.student-page.student-dashboard-page .assignment-panel .form-control {
  color: var(--color-input-text) !important;
  font-size: 0.875rem !important;
}

body.student-page.student-dashboard-page .assignment-panel .form-control::placeholder {
  color: var(--color-muted) !important;
  font-size: 0.8125rem !important;
}

body.student-page.student-dashboard-page .assignment-panel input[type="file"].form-control,
body.student-page.student-dashboard-page .assignment-panel input[type="file"]::file-selector-button {
  color: var(--color-text) !important;
}

body.student-page.student-dashboard-page .assignment-empty-state {
  color: var(--color-text) !important;
  font-size: 0.8125rem !important;
}

@media (max-width: 47.99875rem) {
  body.student-page.student-dashboard-page .header:has(.navigation.navbar) .container {
    width: 100%;
    max-width: none;
    padding-inline: 0 !important;
  }

  body.student-page.student-dashboard-page .header:has(.navigation.navbar) .row.d_flex {
    justify-content: space-between;
    margin-inline: 0;
  }

  body.student-page.student-dashboard-page .header:has(.navigation.navbar) .logo_section {
    flex: 1 1 auto;
    min-width: 0;
  }

  body.student-page.student-dashboard-page .header:has(.navigation.navbar) .col-md-10.col-12 {
    position: absolute !important;
    top: 50%;
    right: 0;
    flex: 0 0 auto;
    width: auto !important;
    padding-inline: 0 !important;
    transform: translateY(-50%);
    z-index: 1002;
  }

  body.student-page.student-dashboard-page .navigation.navbar {
    width: auto;
    padding: 0 !important;
  }

  body.student-page.student-dashboard-page .navigation > .d-flex {
    gap: 0.375rem;
  }

  body.student-page.student-dashboard-page .navigation #auth-sm-nav-item > .nav-link {
    width: 2.75rem;
    padding: 0 !important;
  }

  body.student-page.student-dashboard-page #loginPrompt {
    padding-inline: 1rem;
  }

  body.student-page.student-dashboard-page #loginPrompt h3 {
    font-size: 1.25rem !important;
    white-space: normal;
  }
}

@media (max-width: 47.99875rem) {
  body.student-page.project-page .project-hero {
    padding: 3.5rem 0 3rem !important;
  }

  body.student-page.project-page #projects-container {
    padding-top: var(--space-8) !important;
  }
}

body.student-page #recordings-section,
body.student-page .video-library-section,
body.student-page .module-card,
body.student-page .assignment-module {
  background-color: var(--color-surface) !important;
  background-image: none !important;
}

body.student-page #recordings-section h2,
body.student-page .video-library-section h2,
body.student-page .module-title,
body.student-page .assignment-module :is(h3, h4, label) {
  color: var(--color-heading) !important;
  background-image: none !important;
  -webkit-text-fill-color: currentColor !important;
}

body.student-page .course-hero-section .hero-course-title {
  color: var(--color-dark-text) !important;
  background-image: none !important;
  -webkit-text-fill-color: currentColor !important;
}

body.student-page #course-hero-section .course-title {
  color: var(--color-heading) !important;
  font-family: var(--font-heading) !important;
  font-size: var(--fs-h2) !important;
  font-weight: var(--weight-bold) !important;
  line-height: var(--leading-heading) !important;
  letter-spacing: var(--tracking-normal) !important;
}

@media (min-width: 62rem) {
  body.student-page #course-hero-section > .container > .row.align-items-center {
    align-items: stretch !important;
  }

  body.student-page #course-hero-section > .container > .row.align-items-center > .col-lg-6 {
    display: flex;
  }

  body.student-page #course-hero-section :is(.course-details-panel, .course-video-wrapper) {
    flex: 1 1 auto;
    width: 100%;
    height: auto;
  }

  body.student-page #course-hero-section .course-video-wrapper {
    padding-top: 0;
  }
}

body.student-page .course-hero-section #card-head-2 .hero-subtitle {
  color: var(--color-dark-muted) !important;
}

body.student-page > :not(footer) [style*="background-color: var(--color-success-soft)"] {
  background-color: var(--color-surface) !important;
}

body.student-page .stat-card,
body.student-page .dashboard-card,
body.student-page .assignment-module,
body.student-page .main-panel-card,
body.student-page .progress-section-shell {
  background-color: var(--color-surface) !important;
  background-image: none !important;
  border-color: var(--color-border) !important;
  border-top-color: var(--color-border) !important;
  border-left-color: var(--color-border) !important;
}

body.student-page > :not(footer) .btn-workspace {
  border-color: var(--color-primary) !important;
  background: var(--color-primary) !important;
  color: var(--color-surface) !important;
  box-shadow: 0 0.625rem 1.5rem rgba(225, 29, 143, 0.25) !important;
}

body.student-page > :not(footer) :is(.modal-content, .accordion, .accordion-item, .table, .alert) {
  border-color: var(--color-border) !important;
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-md);
}

body.student-page > :not(footer) :is(.course-card, .course_box, .course-item, #courseContainer, .course-grid, .courses-grid) img {
  aspect-ratio: 16 / 9;
  border-radius: var(--radius-md);
  background: var(--color-interactive-soft);
  object-fit: cover;
}

body.student-page > :not(footer) :is(img[src=""], img:not([src])) {
  min-height: 10rem;
  border: 1px solid var(--color-border);
  background: var(--color-interactive-soft);
}

body.student-page > :not(footer) :is(.free-class-widget, .interested-widget, .btn-register-float, .floating-widget, .float-contact) {
  font-family: var(--font-body) !important;
}

@media (max-width: 47.99875rem) {
  body.student-page .header:has(.navigation.navbar),
  body.student-page.inner_page .header:has(.navigation.navbar) {
    min-height: 4.25rem !important;
    padding: 0.625rem 0.875rem !important;
  }

  body.student-page .header:has(.navigation.navbar) .row.d_flex { min-height: 3rem; }
  body.student-page .header:has(.navigation.navbar) .logo_section { max-width: calc(100% - 7rem) !important; padding: 0 !important; }
  body.student-page .header:has(.navigation.navbar) .logo a {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: clamp(1.18rem, 5.8vw, 1.55rem) !important;
  }

  body.student-page .navigation .navbar-collapse {
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: var(--radius-lg);
    background: var(--color-dark-surface) !important;
    box-shadow: var(--shadow-md);
  }

  body.student-page .navigation .navbar-nav { align-items: stretch; gap: var(--space-1); }
  body.student-page .navigation.navbar-dark .navbar-nav .nav-link { color: var(--color-dark-text) !important; }
  body.student-page .navigation.navbar-dark .navbar-nav .active > .nav-link,
  body.student-page .navigation.navbar-dark .navbar-nav .active .nav-link,
  body.student-page .navigation.navbar-dark .navbar-nav .nav-link:hover {
    background: var(--color-interactive-soft) !important;
    color: var(--color-interactive) !important;
  }

  body.student-page .navigation :is(.portal-login-toggle, .auth-nav-item > .nav-link, #auth-nav-item > .nav-link, #auth-sm-nav-item > .nav-link) {
    background: var(--color-surface) !important;
    color: var(--color-profile) !important;
  }

  body.student-page .header:has(.navigation.navbar):has(.enrolled_courses) {
    height: 4.3125rem !important;
    max-height: 4.3125rem !important;
  }

  body.student-page > :not(footer) :is(h1, h2) { font-size: clamp(1.75rem, 8vw, 2rem) !important; }
  body.student-page :is(.project-hero, .intern-hero) h1 { font-size: clamp(2rem, 10vw, 2.75rem) !important; }
}

@media (min-width: 48rem) and (max-width: 61.99875rem) {
  body.student-page .header:has(.navigation.navbar) #navbarsExample04 {
    margin-top: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: var(--color-transparent) !important;
    box-shadow: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.student-page > :not(footer) *,
  body.student-page > :not(footer) *::before,
  body.student-page > :not(footer) *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* Every student navbar uses one fitted account pill. */
body.student-page .navigation :is(
  #auth-nav-item,
  .portal-login-item,
  .nav-item:has(> .nav-link #auth-username)
) {
  display: flex;
  align-items: center;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  list-style: none;
}

body.student-page .navigation :is(
  #auth-nav-item,
  .portal-login-item,
  .nav-item:has(> .nav-link #auth-username)
) > .nav-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center;
  gap: 0.4rem;
  width: auto !important;
  min-width: 0;
  min-height: 2.75rem;
  height: 2.75rem;
  margin: 0 !important;
  padding: 0.625rem 0.875rem !important;
  box-sizing: border-box;
  border: 1px solid var(--color-primary) !important;
  border-radius: var(--radius-pill) !important;
  background: var(--color-surface) !important;
  color: var(--color-profile) !important;
  line-height: 1 !important;
  white-space: nowrap;
  box-shadow: none !important;
}

body.student-page .navigation :is(
  #auth-nav-item,
  .portal-login-item,
  .nav-item:has(> .nav-link #auth-username)
) > .nav-link > i {
  flex: 0 0 auto;
  margin: 0 !important;
  color: inherit !important;
  font-size: 1rem !important;
  line-height: 1 !important;
}

body.student-page .navigation #auth-username {
  display: block;
  max-width: 10rem;
  margin: 0 !important;
  overflow: hidden;
  color: inherit !important;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.student-page .navigation :is(
  #auth-nav-item,
  .portal-login-item,
  .nav-item:has(> .nav-link #auth-username)
) > .nav-link::after {
  flex: 0 0 auto;
  margin: 0 0 0 0.25rem !important;
  vertical-align: middle;
}

body.student-page .navigation :is(
  #auth-nav-item,
  .portal-login-item,
  .nav-item:has(> .nav-link #auth-username)
) > .dropdown-menu {
  top: calc(100% + 0.5rem) !important;
  right: 0 !important;
  left: auto !important;
  min-width: 13rem;
  margin: 0 !important;
  transform: none !important;
}

@media (max-width: 47.99875rem) {
  body.student-page .header:has(.navigation.navbar) .row.d_flex {
    justify-content: space-between !important;
  }

  body.student-page .header:has(.navigation.navbar) .col-md-10.col-12 {
    position: static !important;
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
    padding: 0 !important;
  }

  body.student-page .navigation.navbar {
    width: auto !important;
    padding: 0 !important;
  }

  body.student-page .navigation > .d-flex,
  body.student-page .navigation .user-menu {
    width: auto !important;
    margin: 0 !important;
    gap: 0.5rem;
  }

  body.student-page .navigation #auth-sm-nav-item {
    position: relative;
    flex: 0 0 2.75rem !important;
    width: 2.75rem !important;
    height: 2.75rem !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    list-style: none;
  }

  body.student-page .navigation #auth-sm-nav-item > .nav-link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0;
    width: 2.75rem !important;
    min-width: 2.75rem;
    height: 2.75rem !important;
    min-height: 2.75rem;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box;
    border: 1px solid var(--color-primary) !important;
    border-radius: 50% !important;
    background: var(--color-surface) !important;
    color: var(--color-profile) !important;
    line-height: 1 !important;
    box-shadow: none !important;
  }

  body.student-page .navigation #auth-sm-nav-item > .nav-link > i {
    margin: 0 !important;
    color: inherit !important;
    font-size: 1.125rem !important;
    line-height: 1 !important;
  }

  body.student-page .navigation #auth-sm-nav-item > .nav-link::after {
    display: none !important;
  }

  body.student-page .navigation #auth-sm-nav-item > .dropdown-menu {
    top: calc(100% + 0.5rem) !important;
    right: 0 !important;
    left: auto !important;
    min-width: 13rem;
    margin: 0 !important;
    transform: none !important;
  }
}

/* Authenticated student account menus expose only the existing logout action. */
body.student-page:has(.navigation #auth-nav-item:not(.portal-login-item))
  .navigation :is(#auth-nav-item, #auth-sm-nav-item, .nav-item:has(> .nav-link #auth-username))
  > .dropdown-menu
  > :not(.dropdown-item[onclick*="logout"], .dropdown-item[href$="logout.html"]),
body.student-page:has(.navigation .navbar-nav > .nav-item:not(.portal-login-item) > .nav-link #auth-username)
  .navigation :is(#auth-nav-item, #auth-sm-nav-item, .nav-item:has(> .nav-link #auth-username))
  > .dropdown-menu
  > :not(.dropdown-item[onclick*="logout"], .dropdown-item[href$="logout.html"]) {
  display: none !important;
}

body.student-page:has(.navigation #auth-nav-item:not(.portal-login-item))
  .navigation :is(#auth-nav-item, #auth-sm-nav-item, .nav-item:has(> .nav-link #auth-username))
  > .dropdown-menu,
body.student-page:has(.navigation .navbar-nav > .nav-item:not(.portal-login-item) > .nav-link #auth-username)
  .navigation :is(#auth-nav-item, #auth-sm-nav-item, .nav-item:has(> .nav-link #auth-username))
  > .dropdown-menu {
  min-width: 9.5rem !important;
  padding: 0.4rem !important;
}

body.student-page:has(.navigation #auth-nav-item:not(.portal-login-item))
  .navigation .dropdown-menu > :is(.dropdown-item[onclick*="logout"], .dropdown-item[href$="logout.html"]),
body.student-page:has(.navigation .navbar-nav > .nav-item:not(.portal-login-item) > .nav-link #auth-username)
  .navigation .dropdown-menu > :is(.dropdown-item[onclick*="logout"], .dropdown-item[href$="logout.html"]) {
  display: flex !important;
  align-items: center;
  gap: 0.625rem;
  min-height: 2.5rem;
  padding: 0.625rem 0.75rem !important;
  border-radius: var(--radius-md);
  color: var(--color-text) !important;
  font-size: var(--fs-small) !important;
  font-weight: var(--weight-nav) !important;
  line-height: 1.25 !important;
}

body.student-page:has(.navigation #auth-nav-item:not(.portal-login-item))
  .navigation .dropdown-menu > :is(.dropdown-item[onclick*="logout"], .dropdown-item[href$="logout.html"]) > i,
body.student-page:has(.navigation .navbar-nav > .nav-item:not(.portal-login-item) > .nav-link #auth-username)
  .navigation .dropdown-menu > :is(.dropdown-item[onclick*="logout"], .dropdown-item[href$="logout.html"]) > i {
  width: 1rem;
  margin: 0 !important;
  color: var(--color-primary) !important;
  text-align: center;
}

/* Shared light presentation for the authenticated student project flow. */
body.student-page.student-project-system-page {
  background: var(--color-page) !important;
  color: var(--color-text) !important;
}

body.student-page.student-project-system-page .main-content,
body.student-page.student-project-system-page .checkout-bar,
body.student-page.student-project-system-page .modal {
  --text-dark: var(--color-heading);
  --text-muted: var(--color-muted);
  --bg-light: var(--color-page);
  --surface: var(--color-surface);
  --surface-soft: var(--color-surface-muted);
  --surface-strong: var(--color-surface);
  --border-color: var(--color-border);
  --shadow-soft: var(--shadow-md);
}

body.student-page.student-project-system-page .main-content {
  margin-top: 0 !important;
  padding: var(--space-8) 0 var(--space-16) !important;
  background: var(--color-page) !important;
  color: var(--color-text) !important;
}

body.student-page.student-project-system-page .main-content :is(h1, h2) {
  color: var(--color-heading) !important;
  font-family: var(--font-heading) !important;
  font-size: var(--fs-h2) !important;
  font-weight: var(--weight-bold) !important;
  line-height: var(--leading-heading) !important;
  letter-spacing: var(--tracking-normal) !important;
}

body.student-page.student-project-system-page .main-content :is(h3, .section-title) {
  color: var(--color-heading) !important;
  font-family: var(--font-heading) !important;
  font-size: var(--fs-h3) !important;
  font-weight: var(--weight-bold) !important;
  line-height: var(--leading-heading) !important;
  letter-spacing: var(--tracking-normal) !important;
}

body.student-page.student-project-system-page .main-content :is(
  h4,
  h5,
  h6,
  .project-title,
  .resource-title,
  .resource-card-title,
  .resource-panel-title,
  .code-folder-title
) {
  color: var(--color-card-heading) !important;
  font-family: var(--font-heading) !important;
  font-size: var(--fs-card-title) !important;
  font-weight: var(--weight-bold) !important;
  line-height: var(--leading-card) !important;
  letter-spacing: var(--tracking-normal) !important;
  -webkit-text-fill-color: currentColor !important;
}

body.student-page.student-project-system-page .main-content :is(
  p,
  .project-desc,
  .resource-desc,
  .resource-meta,
  .code-folder-meta,
  .text-muted,
  small
) {
  color: var(--color-muted) !important;
  font-size: var(--fs-body) !important;
  line-height: var(--leading-body) !important;
}

body.student-page.student-project-system-page .main-content :is(
  .welcome-header,
  .workspace-header,
  .page-shell,
  .resource-panel,
  .status-card,
  .empty-state
) {
  border: 1px solid var(--color-border) !important;
  border-radius: var(--radius-lg) !important;
  background: var(--color-surface) !important;
  background-image: none !important;
  color: var(--color-text) !important;
  box-shadow: var(--shadow-sm) !important;
}

body.student-page.student-project-system-page .main-content :is(.welcome-header, .workspace-header, .page-header) {
  padding: var(--space-6) !important;
}

body.student-page.student-project-system-page .main-content .welcome-header {
  border-left: 4px solid var(--color-primary) !important;
}

body.student-page.student-project-system-page .main-content .workspace-header {
  border-top: 4px solid var(--color-primary) !important;
}

body.student-page.student-project-system-page .main-content .page-header {
  margin: calc(0rem - var(--space-6)) calc(0rem - var(--space-6)) var(--space-6) !important;
  border: 0 !important;
  border-bottom: 1px solid var(--color-border) !important;
  border-radius: var(--radius-lg) var(--radius-lg) 0 0 !important;
  background: var(--color-surface-muted) !important;
}

body.student-page.student-project-system-page .main-content .section-title {
  padding-bottom: var(--space-3) !important;
  border-bottom: 1px solid var(--color-border) !important;
}

body.student-page.student-project-system-page .main-content :is(.project-card, .resource-card, .code-folder-row, .code-file-list .resource-item) {
  border: 1px solid var(--color-border) !important;
  border-radius: var(--radius-lg) !important;
  background: var(--color-surface) !important;
  background-image: none !important;
  color: var(--color-text) !important;
  box-shadow: var(--shadow-sm) !important;
}

body.student-page.student-project-system-page .main-content .project-card[style*="border-left"] {
  border-left: 4px solid var(--color-primary) !important;
}

body.student-page.student-project-system-page .main-content :is(.project-card, .resource-card, .code-folder-row):hover {
  border-color: var(--color-primary-border) !important;
  box-shadow: var(--shadow-md) !important;
  transform: translateY(-3px);
}

body.student-page.student-project-system-page .main-content :is(.project-footer, .resource-panel-header) {
  border-color: var(--color-border) !important;
}

body.student-page.student-project-system-page .main-content :is(.status-active, .badge-success, .badge-primary) {
  border: 1px solid var(--color-primary-border) !important;
  background: var(--color-primary-soft) !important;
  color: var(--color-primary) !important;
}

body.student-page.student-project-system-page .main-content .status-available {
  border: 1px solid var(--color-interactive-border) !important;
  background: var(--color-interactive-soft) !important;
  color: var(--color-interactive) !important;
}

body.student-page.student-project-system-page .main-content :is(.project-status, .badge, .resource-type-badge) {
  font-size: var(--fs-label) !important;
  font-weight: var(--weight-nav) !important;
  line-height: 1.25 !important;
  letter-spacing: var(--tracking-normal) !important;
}

body.student-page.student-project-system-page .main-content :is(
  .icon-wrapper,
  .resource-icon,
  .mobile-video-preview i
) {
  background: var(--color-primary-soft) !important;
  color: var(--color-primary) !important;
}

body.student-page.student-project-system-page .main-content :is(
  .btn-workspace,
  .resource-action,
  .project-footer .btn,
  .btn-proceed,
  .success-btn
) {
  border: 1px solid var(--color-primary) !important;
  background: var(--color-primary) !important;
  background-image: none !important;
  color: var(--color-surface) !important;
  -webkit-text-fill-color: var(--color-surface) !important;
  box-shadow: none !important;
}

body.student-page.student-project-system-page .main-content :is(
  .btn-workspace,
  .resource-action,
  .project-footer .btn,
  .btn-proceed,
  .success-btn
):hover,
body.student-page.student-project-system-page .main-content :is(
  .btn-workspace,
  .resource-action,
  .project-footer .btn,
  .btn-proceed,
  .success-btn
):focus {
  border-color: var(--color-primary-hover) !important;
  background: var(--color-primary-hover) !important;
  color: var(--color-surface) !important;
}

body.student-page.student-project-system-page .main-content :is(.btn-outline-secondary, #workspaceHomeLink) {
  border-color: var(--color-interactive) !important;
  background: transparent !important;
  color: var(--color-interactive) !important;
}

body.student-page.student-project-system-page .main-content :is(.btn-outline-secondary, #workspaceHomeLink):hover,
body.student-page.student-project-system-page .main-content :is(.btn-outline-secondary, #workspaceHomeLink):focus {
  background: var(--color-interactive) !important;
  color: var(--color-surface) !important;
}

body.student-page.student-project-system-page .main-content :is(.bg-light, [style*="background: var(--surface-soft)"]) {
  border-color: var(--color-border) !important;
  background: var(--color-surface-muted) !important;
  color: var(--color-text) !important;
}

body.student-page.student-project-system-page .checkout-bar {
  border-top: 2px solid var(--color-primary) !important;
  background: var(--color-surface) !important;
  color: var(--color-text) !important;
  box-shadow: 0 -0.5rem 1.5rem var(--color-shadow-soft) !important;
}

body.student-page.student-project-system-page .modal-content {
  border: 1px solid var(--color-border) !important;
  background: var(--color-surface) !important;
  color: var(--color-text) !important;
}

body.student-page.student-project-system-page .modal-content :is(.modal-header, .modal-footer) {
  border-color: var(--color-border) !important;
  background: var(--color-surface) !important;
}

body.student-page.student-project-system-page .modal-content :is(.modal-title, #codeViewerTitle, #resourceViewerTitle) {
  color: var(--color-heading) !important;
}

body.student-page.student-project-system-page .modal-content .close {
  color: var(--color-heading) !important;
  text-shadow: none !important;
}

@media (max-width: 47.99875rem) {
  body.student-page.student-project-system-page .main-content {
    padding-top: var(--space-6) !important;
  }

  body.student-page.student-project-system-page .navigation .navbar-toggler {
    border: 1px solid var(--color-border) !important;
    background: var(--color-surface) !important;
    box-shadow: none !important;
  }

  body.student-page.student-project-system-page .navigation .navbar-toggler-icon {
    width: 1.25rem !important;
    height: 1.25rem !important;
    background-image:
      linear-gradient(var(--color-nav), var(--color-nav)),
      linear-gradient(var(--color-nav), var(--color-nav)),
      linear-gradient(var(--color-nav), var(--color-nav)) !important;
    background-position: center 0.25rem, center 0.625rem, center 1rem !important;
    background-size: 1.25rem 0.125rem, 1.25rem 0.125rem, 1.25rem 0.125rem !important;
    background-repeat: no-repeat !important;
  }

  body.student-page.student-project-system-page .main-content :is(.welcome-header, .workspace-header, .page-header) {
    padding: var(--space-4) !important;
  }

  body.student-page.student-project-system-page .main-content .page-header {
    margin: calc(0rem - var(--space-6)) calc(0rem - var(--space-6)) var(--space-4) !important;
  }
}

/* Workspace and resource views share the overview's compact light typography. */
body.student-page.student-workspace-page .main-content :is(h1, h2) {
  font-size: 1.75rem !important;
  line-height: var(--leading-heading) !important;
  overflow-wrap: anywhere;
}

body.student-page.student-workspace-page .main-content :is(
  .resource-title, .resource-card-title, .resource-panel-title,
  .code-folder-title, .resource-meta h5
),
body.student-page.student-workspace-page .modal .modal-title {
  color: var(--color-heading) !important;
  font-family: var(--font-heading) !important;
  font-size: 1.05rem !important;
  font-weight: var(--weight-bold) !important;
  line-height: var(--leading-card) !important;
  letter-spacing: var(--tracking-normal) !important;
  overflow-wrap: anywhere;
}

body.student-page.student-workspace-page .main-content :is(
  p, small, .text-muted, .resource-desc, .resource-meta, .code-folder-meta,
  .resource-empty, .video-fallback, .status-card
),
body.student-page.student-workspace-page .modal :is(p, small, .text-muted) {
  color: var(--color-muted-legacy) !important;
  font-family: var(--font-body) !important;
  font-size: 0.875rem !important;
  line-height: 1.6 !important;
  letter-spacing: var(--tracking-normal) !important;
}

body.student-page.student-workspace-page .main-content :is(.workspace-header, .page-header) {
  border-top: 3px solid var(--color-interactive) !important;
  background: linear-gradient(120deg, var(--color-surface), var(--color-interactive-soft)) !important;
  box-shadow: none !important;
  gap: var(--space-4);
}

body.student-page.student-workspace-page .main-content .page-shell {
  padding: var(--space-6);
}

body.student-page.student-workspace-page .main-content :is(.badge, .resource-badge, .resource-type-badge) {
  border: 1px solid var(--color-interactive-border) !important;
  border-radius: var(--radius-pill) !important;
  padding: 0.3rem 0.65rem;
  background: var(--color-interactive-soft) !important;
  color: var(--color-interactive) !important;
  font-size: 0.75rem !important;
  font-weight: var(--weight-semibold) !important;
  line-height: 1.4 !important;
  box-shadow: none !important;
}

body.student-page.student-workspace-page .main-content :is(.icon-wrapper, .resource-icon) {
  width: 3rem;
  height: 3rem;
  border-radius: var(--radius-md);
  background: var(--color-interactive-soft) !important;
  color: var(--color-interactive) !important;
  font-size: 1.25rem !important;
}

body.student-page.student-workspace-page .main-content .code-folder-title i {
  color: var(--color-interactive) !important;
}

body.student-page.student-workspace-page .main-content .resource-card {
  padding: var(--space-6);
  background: linear-gradient(180deg, var(--color-surface), var(--color-page)) !important;
}

body.student-page.student-workspace-page .main-content :is(.resource-card, .code-folder-row, .resource-item):hover {
  border-color: var(--color-interactive-border) !important;
  box-shadow: var(--shadow-sm) !important;
}

body.student-page.student-workspace-page #workspaceContent .resource-title {
  margin-bottom: var(--space-3);
}

body.student-page.student-workspace-page #workspaceContent .resource-desc {
  margin-bottom: var(--space-6);
}

body.student-page.student-workspace-page .main-content :is(.resource-item, .resource-empty, .video-fallback) {
  border-color: var(--color-border) !important;
  background: var(--color-surface-muted) !important;
  color: var(--color-text) !important;
}

body.student-page.student-workspace-page .main-content .resource-meta {
  min-width: 0;
  overflow-wrap: anywhere;
}

body.student-page.student-workspace-page .main-content .resource-card.video-card {
  display: flex;
  flex-direction: column;
}

body.student-page.student-workspace-page .main-content .resource-card.video-card .resource-action {
  margin-top: auto;
}

body.student-page.student-workspace-page :is(.main-content, .modal) .btn {
  font-family: var(--font-body) !important;
  font-size: 0.875rem !important;
  font-weight: var(--weight-semibold) !important;
  line-height: 1.4 !important;
  letter-spacing: var(--tracking-normal) !important;
  -webkit-text-fill-color: currentColor !important;
}

body.student-page.student-workspace-page .main-content .btn-workspace:hover {
  box-shadow: none !important;
}

body.student-page.student-workspace-page .main-content .mobile-video-preview {
  background: linear-gradient(135deg, var(--color-surface-muted), var(--color-interactive-soft));
  border-color: var(--color-border);
}

body.student-page.student-workspace-page .main-content .mobile-video-preview::after {
  color: var(--color-heading);
  font-size: 0.875rem;
}

body.student-page.student-workspace-page .main-content .mobile-video-preview i {
  background: var(--color-interactive-soft) !important;
  color: var(--color-interactive) !important;
  box-shadow: 0 0 0 0.75rem var(--color-interactive-soft);
}

body.student-page.student-workspace-page .modal :is(#codeViewerSubtitle, #resourceViewerSubtitle) {
  color: var(--color-muted-legacy) !important;
  font-size: 0.875rem !important;
  overflow-wrap: anywhere;
}

body.student-page.student-workspace-page .modal #resourceViewerBody,
body.student-page.student-workspace-page .modal #codeViewerBody pre {
  background: var(--color-surface-muted) !important;
  color: var(--color-input-text) !important;
}

@media (max-width: 47.99875rem) {
  body.student-page.student-workspace-page .main-content :is(h1, h2) {
    font-size: 1.5rem !important;
  }

  body.student-page.student-workspace-page .main-content :is(.resource-card, .page-shell, .resource-panel) {
    padding: var(--space-4);
  }

  body.student-page.student-workspace-page .main-content .page-header {
    margin: calc(0rem - var(--space-4)) calc(0rem - var(--space-4)) var(--space-4) !important;
  }
}

/* Student projects overview: compact branded hero and balanced card hierarchy. */
/* Keep the overview, workspace, and resources on one shared content grid. */
body.student-page.student-project-system-page :is(#projectsContent, #workspaceContent, #resourcePage) {
  width: calc(100% - 2rem) !important;
  max-width: 77.5rem !important;
  margin-right: auto !important;
  margin-left: auto !important;
}

body.student-page.student-project-system-page .main-content :is(.workspace-header, .page-header) h1,
body.student-page.student-project-system-page .main-content :is(.workspace-header, .page-header) h2 {
  margin-top: 0 !important;
  margin-bottom: var(--space-2) !important;
  color: var(--color-heading) !important;
  font-family: var(--font-heading) !important;
  font-size: 1.5rem !important;
  font-weight: var(--weight-bold) !important;
  line-height: 1.3 !important;
  letter-spacing: var(--tracking-normal) !important;
}

body.student-page.student-project-system-page .main-content :is(.page-shell, .resource-panel, .status-card, .resource-card, .code-folder-row) {
  border: 1px solid var(--color-border) !important;
  border-radius: var(--radius-lg) !important;
  box-shadow: var(--shadow-sm) !important;
}

body.student-page.student-project-system-page .main-content :is(.page-shell, .resource-panel, .status-card) {
  background: var(--color-surface) !important;
}

body.student-page.student-project-system-page .main-content :is(.resource-card, .code-folder-row) {
  background: linear-gradient(180deg, var(--color-surface), var(--color-page)) !important;
}

body.student-page.student-project-system-page .main-content :is(.resource-card, .code-folder-row, .project-card):hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-md) !important;
}

body.student-page.student-project-system-page .main-content :is(.resource-title, .resource-card-title, .resource-panel-title, .code-folder-title) {
  color: var(--color-card-heading) !important;
  font-family: var(--font-heading) !important;
  font-size: 1rem !important;
  font-weight: var(--weight-bold) !important;
  line-height: var(--leading-card) !important;
}

body.student-page.student-project-system-page .main-content :is(.resource-desc, .resource-meta, .code-folder-meta, .resource-empty, .video-fallback) {
  color: var(--color-muted) !important;
  font-family: var(--font-body) !important;
  font-size: 0.875rem !important;
  line-height: 1.6 !important;
}

body.student-page.student-project-system-page .main-content :is(.badge, .resource-badge, .resource-type-badge, .project-status) {
  border-radius: var(--radius-pill) !important;
  font-family: var(--font-body) !important;
  font-weight: var(--weight-semibold) !important;
  letter-spacing: var(--tracking-normal) !important;
}

body.student-page.student-projects-index-page .main-content .welcome-header {
  position: relative;
  isolation: isolate;
  min-height: 10.5rem;
  margin-bottom: var(--space-8) !important;
  padding: var(--space-8) !important;
  overflow: hidden;
  border: 1px solid var(--color-dark-border) !important;
  border-left: 4px solid var(--color-interactive) !important;
  border-radius: var(--radius-lg) !important;
  background:
    radial-gradient(circle at 88% 18%, var(--color-primary-soft), transparent 28%),
    radial-gradient(circle at 70% 110%, var(--color-interactive-border), transparent 34%),
    linear-gradient(135deg, var(--color-dark-page), var(--color-dark-raised)) !important;
  box-shadow: var(--shadow-md) !important;
}

body.student-page.student-projects-index-page .main-content .welcome-header::after {
  content: "";
  position: absolute;
  z-index: -1;
  top: -5rem;
  right: -3rem;
  width: 14rem;
  height: 14rem;
  border: 1px solid var(--color-dark-glass-strong);
  border-radius: 50%;
  background: var(--color-dark-glass);
}

body.student-page.student-projects-index-page .main-content .welcome-header h2 {
  margin: 0 0 var(--space-2) !important;
  color: var(--color-dark-text) !important;
  font-family: var(--font-heading) !important;
  font-size: 1.75rem !important;
  font-weight: var(--weight-bold) !important;
  line-height: 1.25 !important;
  letter-spacing: var(--tracking-normal) !important;
}

body.student-page.student-projects-index-page .main-content .welcome-header #welcome-username {
  color: var(--color-interactive) !important;
}

body.student-page.student-projects-index-page .main-content .welcome-header p {
  max-width: 36rem;
  margin: 0 !important;
  color: var(--color-dark-muted) !important;
  font-size: var(--fs-body) !important;
  line-height: var(--leading-body) !important;
}

body.student-page.student-projects-index-page .main-content .section-title {
  margin-bottom: var(--space-4) !important;
  padding-bottom: var(--space-3) !important;
  color: var(--color-heading) !important;
  font-size: 1.25rem !important;
  font-weight: var(--weight-bold) !important;
}

body.student-page.student-projects-index-page .main-content .section-title i {
  color: var(--color-interactive) !important;
  font-size: 1rem !important;
}

body.student-page.student-projects-index-page .main-content .status-active {
  border-color: var(--color-interactive-border) !important;
  background: var(--color-interactive-soft) !important;
  color: var(--color-interactive) !important;
}

body.student-page.student-projects-index-page .main-content .project-card {
  position: relative;
  min-height: 17rem;
  padding: var(--space-6) !important;
  overflow: hidden;
  border: 1px solid var(--color-border) !important;
  border-radius: var(--radius-lg) !important;
  background: linear-gradient(180deg, var(--color-surface) 0%, var(--color-page) 100%) !important;
  box-shadow: var(--shadow-sm) !important;
}

body.student-page.student-projects-index-page .main-content .project-card::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 0.1875rem;
  background: var(--color-interactive);
  pointer-events: none;
}

body.student-page.student-projects-index-page .main-content .project-card[style*="border-left"] {
  border-left: 1px solid var(--color-border) !important;
}

body.student-page.student-projects-index-page .main-content .project-card:hover {
  border-color: var(--color-primary-border) !important;
  box-shadow: var(--shadow-md) !important;
  transform: translateY(-0.1875rem);
}

body.student-page.student-projects-index-page .main-content .project-title {
  display: -webkit-box;
  min-height: 2.7em;
  margin-bottom: var(--space-3) !important;
  overflow: hidden;
  color: var(--color-card-heading) !important;
  font-family: var(--font-heading) !important;
  font-size: 1.05rem !important;
  font-weight: var(--weight-bold) !important;
  line-height: var(--leading-card) !important;
  letter-spacing: var(--tracking-normal) !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

body.student-page.student-projects-index-page .main-content .project-desc {
  display: -webkit-box;
  margin-bottom: var(--space-6) !important;
  overflow: hidden;
  color: var(--color-muted) !important;
  font-family: var(--font-body) !important;
  font-size: 0.875rem !important;
  line-height: var(--leading-body) !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

body.student-page.student-projects-index-page .main-content .project-header {
  align-items: flex-start !important;
  gap: var(--space-3);
  margin-bottom: var(--space-4) !important;
}

body.student-page.student-projects-index-page .main-content .project-header > i {
  display: inline-flex;
  flex: 0 0 2.5rem;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: var(--radius-md);
  background: var(--color-interactive-soft);
  color: var(--color-interactive) !important;
  font-size: 1.125rem !important;
}

body.student-page.student-projects-index-page .main-content .project-status {
  align-self: center;
  padding: 0.3rem 0.65rem !important;
  border-radius: var(--radius-pill) !important;
  font-family: var(--font-body) !important;
  font-size: 0.72rem !important;
  font-weight: var(--weight-nav) !important;
  line-height: 1.25 !important;
  letter-spacing: var(--tracking-normal) !important;
}

body.student-page.student-projects-index-page .main-content .project-footer {
  gap: var(--space-3);
  min-height: 3rem;
  margin-top: auto;
  padding-top: var(--space-4) !important;
}

body.student-page.student-projects-index-page .main-content .project-footer :is(small, .btn) {
  font-family: var(--font-body) !important;
  font-size: 0.78rem !important;
}

body.student-page.student-projects-index-page .main-content .project-footer small {
  color: var(--color-muted) !important;
}

body.student-page.student-projects-index-page .main-content .project-footer .btn {
  min-height: 2.25rem;
  padding: 0.45rem 0.85rem !important;
  border-radius: var(--radius-pill) !important;
  font-weight: var(--weight-nav) !important;
  line-height: 1.2 !important;
  white-space: nowrap;
}

body.student-page.student-projects-index-page .main-content .project-footer small:has(.fa-hashtag) {
  display: none !important;
}

body.student-page.student-projects-index-page .main-content .project-footer .btn-outline-success {
  border-color: var(--color-interactive) !important;
  background: transparent !important;
  color: var(--color-interactive) !important;
  -webkit-text-fill-color: var(--color-interactive) !important;
}

body.student-page.student-projects-index-page .main-content .project-footer .btn-outline-success:hover,
body.student-page.student-projects-index-page .main-content .project-footer .btn-outline-success:focus,
body.student-page.student-projects-index-page .main-content .project-footer .btn-outline-success:active {
  background: var(--color-interactive) !important;
  color: var(--color-surface) !important;
  -webkit-text-fill-color: var(--color-surface) !important;
}

@media (max-width: 47.99875rem) {
  body.student-page.student-project-system-page :is(#projectsContent, #workspaceContent, #resourcePage) {
    width: calc(100% - 1.5rem) !important;
  }

  body.student-page.student-project-system-page .main-content :is(.workspace-header, .page-header) h1,
  body.student-page.student-project-system-page .main-content :is(.workspace-header, .page-header) h2 {
    font-size: 1.25rem !important;
  }

  body.student-page.student-projects-index-page .main-content .welcome-header {
    min-height: 9rem;
    padding: var(--space-6) !important;
    border-radius: var(--radius-lg) !important;
  }

  body.student-page.student-projects-index-page .main-content .welcome-header h2 {
    font-size: 1.5rem !important;
  }

  body.student-page.student-projects-index-page .main-content .section-title {
    font-size: 1.125rem !important;
  }
}
