.bsu-course {
  border: 1px solid #65bdd31e;
  border-radius: 12px;
  padding: 20px;
  background: #ffffffff;
}

.bsu-intro-screen.is-hidden {
  display: none;
}

.bsu-learning-flow.is-hidden {
  display: none;
}

.bsu-course .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: 4px 10px;
  border-radius: 8px;
  font-weight: 700;
  font-size: 16px;
  line-height: 1.2;
  border: 1px solid #65bdd33c;
  background: #ffffffff;
  color: #65bdd304;
  text-transform: none;
  box-shadow: 0 1px 0 #65bdd31e;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

.bsu-course .button:hover,
.bsu-course .button:focus {
  border-color: #65bdd39b;
  background: #65bdd39f;
  color: #00000063;
}

.bsu-course .button.button-primary {
  border-color: #65bdd3f4;
  background: #65bdd3f4;
  color: #ffffffff;
  box-shadow: 0 1px 0 #65bdd3a3;
}

.bsu-course .button.button-primary:hover,
.bsu-course .button.button-primary:focus {
  border-color: #65bdd3a3;
  background: #65bdd3a3;
  color: #ffffffff;
}

.bsu-course .button.button-secondary {
  border-color: #65bdd3f4;
  background: #65bdd34e;
  color: #65bdd3f4;
}

.bsu-course .button.button-secondary:hover,
.bsu-course .button.button-secondary:focus {
  border-color: #65bdd3a3;
  background: #65bdd3de;
  color: #65bdd3a3;
}

.bsu-course .button:disabled,
.bsu-course .button[disabled] {
  border-color: #65bdd3be;
  background: #65bdd35f;
  color: #65bdd3a9;
  box-shadow: none;
  cursor: not-allowed;
  opacity: 1;
}

.bsu-course-header {
  margin-bottom: 16px;
}

.bsu-course-header h2 {
  margin: 0 0 8px;
}

.bsu-progress {
  width: 100%;
  height: 10px;
  background: #65bdd32f;
  border-radius: 999px;
  overflow: hidden;
}

.bsu-progress-bar {
  height: 100%;
  background: linear-gradient(90deg, #00000024, #65bdd337);
  transition: width 0.25s ease;
}

.bsu-progress-text {
  margin: 8px 0;
  font-weight: 600;
}

.bsu-status-pill {
  display: inline-block;
  padding: 5px 10px;
  border-radius: 999px;
  font-size: 13px;
  border: 1px solid #65bdd34e;
  background: #65bdd39f;
}

.bsu-status-pill.status-cert_issued {
  border-color: #65bdd3a6;
  background: #65bdd36f;
}

.bsu-status-pill.status-in_progress {
  border-color: #b8d4e63d;
  background: #ffffff5f;
}

.bsu-status-pill.status-final_exam_passed,
.bsu-status-pill.status-docs_submitted {
  border-color: #fbe4bf86;
  background: #ffffff3d;
}

.bsu-status-pill.status-approved {
  border-color: #65bdd38a;
  background: #65bdd37f;
}

.bsu-status-pill.status-rejected {
  border-color: #fbe4bf0a;
  background: #b8d4e6ee;
}

.bsu-status-pill.status-cert_revoked {
  border-color: #fbe4bf23;
  background: #ffffff2d;
}

.bsu-login-note {
  border: 1px solid #fbe4bf49;
  background: #ffffff4d;
  border-radius: 8px;
  padding: 10px 12px;
}

.bsu-intro-actions {
  margin-top: 14px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.bsu-intro-meta {
  margin: 0;
  color: #65bdd3d6;
  font-size: 14px;
}

.bsu-start-course {
  min-width: 170px;
  font-size: 16px;
}

.bsu-restart-controls {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.bsu-restart-course {
  border-color: #fbe4bf73;
  color: #65bdd3e1;
  background: #ffffff6f;
}

.bsu-restart-course:hover,
.bsu-restart-course:focus {
  border-color: #65bdd3e1;
  color: #65bdd321;
  background: #ffffff8e;
}

.bsu-learning-header .bsu-restart-controls {
  margin-top: 10px;
}

.bsu-learning-header {
  border: 1px solid #65bdd37f;
  background: #b8d4e6bf;
  border-radius: 8px;
  padding: 12px;
  margin-bottom: 12px;
}

.bsu-learning-header h3 {
  margin: 0 0 4px;
}

.bsu-learning-header p {
  margin: 0;
}

.bsu-learning-layout {
  display: grid;
  grid-template-columns: minmax(240px, 300px) minmax(0, 1fr);
  gap: 20px;
  align-items: start;
}

.bsu-learning-sidebar {
  position: sticky;
  top: 16px;
}

.bsu-learning-content {
  min-width: 0;
}

.bsu-sidebar-heading {
  margin: 0 0 10px;
  font-size: 15px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #65bdd365;
}

.bsu-segment-switcher {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 10px;
  margin-bottom: 14px;
}

.bsu-learning-sidebar .bsu-segment-switcher {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 12px;
}

.bsu-learning-sidebar .bsu-segment-switch {
  width: 100%;
}

.bsu-segment-switch {
  border: 1px solid #65bdd37e;
  border-radius: 8px;
  background: #65bdd39f;
  padding: 10px;
  text-align: left;
  cursor: pointer;
}

.bsu-segment-switch.is-active {
  border-color: #000000f4;
  background: #65bdd33f;
}

.bsu-segment-switch.is-complete {
  border-color: #65bdd336;
}

.bsu-segment-switch.is-locked {
  opacity: 0.6;
  cursor: not-allowed;
}

.bsu-segment-switch-index {
  display: inline-block;
  min-width: 22px;
  font-weight: 700;
}

.bsu-segment-switch-title {
  display: block;
  font-weight: 600;
  margin-top: 3px;
}

.bsu-segment-switch-status {
  display: block;
  margin-top: 4px;
  font-size: 13px;
  color: #65bdd3a6;
}

.bsu-sidebar-lessons {
  border: 1px solid #65bdd34e;
  border-radius: 10px;
  background: #b8d4e6df;
  padding: 10px;
}

.bsu-learning-sidebar .bsu-segment {
  display: none;
  border: 0;
  background: transparent;
  border-top: 0;
  border-radius: 0;
  margin: 0;
  padding: 0;
}

.bsu-learning-sidebar .bsu-segment.is-active {
  display: block;
}

.bsu-sidebar-segment-title {
  margin: 0 0 8px;
  color: #65bdd335;
  font-size: 15px;
}

.bsu-sidebar-lesson-tabs {
  display: flex;
  flex-direction: column;
  gap: 7px;
  margin: 0;
}

.bsu-sidebar-lesson-tabs .bsu-step-tab {
  width: 100%;
  text-align: left;
  border-radius: 8px;
  padding: 10px 12px;
}

.bsu-course-intro {
  border: 1px solid #65bdd37f;
  background: #b8d4e6bf;
  border-radius: 8px;
  padding: 12px;
  margin-bottom: 14px;
}

.bsu-segment {
  border-top: 1px solid #65bdd39f;
  padding-top: 14px;
  margin-top: 14px;
}

.bsu-learning-content .bsu-segment {
  display: none;
  border: 0;
  border-radius: 0;
  background: transparent;
  padding: 0;
  margin: 0;
}

.bsu-learning-content .bsu-segment.is-active {
  display: block;
}

.bsu-learning-content .bsu-segment h3 {
  margin-top: 0;
}

.bsu-content-segment .bsu-lesson-tabs {
  display: none;
}

.bsu-segment-guide {
  margin: 8px 0 10px;
  color: #65bdd3a6;
  font-size: 14px;
}

.bsu-segment h3 {
  margin: 0 0 8px;
}

.bsu-step-tabs,
.bsu-lesson-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 12px 0;
}

.bsu-step-tab {
  border: 1px solid #65bdd35e;
  background: #65bdd37f;
  color: #65bdd373;
  border-radius: 999px;
  padding: 6px 10px;
  cursor: pointer;
  font-weight: 700;
  min-height: 34px;
  font-size: 16px;
}

.bsu-step-tab.is-active {
  background: #000000f4;
  color: #ffffff;
  border-color: #000000f4;
}

.bsu-step-tab.is-complete {
  background: #65bdd35f;
  border-color: #65bdd356;
}

.bsu-step-tab.is-locked {
  opacity: 0.5;
  cursor: not-allowed;
}

.bsu-step-panel {
  display: none;
  border: 0;
  border-radius: 0;
  background: transparent;
  padding: 0;
  margin-bottom: 12px;
}

.bsu-step-panel.is-active {
  display: block;
}

.bsu-lesson-step {
  border: 1px solid #65bdd33e;
  border-radius: 10px;
  background: #ffffffff;
  padding: 12px;
}

.bsu-lesson-step + .bsu-lesson-step {
  margin-top: 10px;
}

.bsu-lesson-stepper-note {
  margin: 0 0 10px;
  border: 1px solid #ffffff0e;
  background: #65bdd39f;
  border-radius: 8px;
  padding: 9px 11px;
  color: #65bdd3a6;
  font-size: 14px;
  font-weight: 600;
}

.bsu-lesson-step.is-locked {
  background: #b8d4e6bf;
}

.bsu-lesson-step.is-active-step {
  border-color: #65bdd3f4;
  box-shadow: 0 0 0 1px #65bdd3be;
}

.bsu-lesson-step.is-done-step {
  border-style: dashed;
  background: #b8d4e6cf;
}

.bsu-lesson-step.is-upcoming-step {
  border-style: dashed;
  background: #b8d4e6bf;
}

.bsu-lesson-step-head {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
  flex-wrap: wrap;
}

.bsu-step-no {
  width: 24px;
  height: 24px;
  border-radius: 999px;
  background: #000000f4;
  color: #ffffff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 700;
}

.bsu-lesson-step-head h5 {
  margin: 0;
  font-size: 16px;
}

.bsu-step-state {
  margin-left: auto;
  padding: 4px 8px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
}

.bsu-step-state.is-done {
  background: #65bdd35f;
  color: #65bdd3f4;
  border: 1px solid #ffffff5c;
}

.bsu-step-state.is-open {
  background: #ffffff5f;
  color: #65bdd317;
  border: 1px solid #65bdd39f;
}

.bsu-step-state.is-locked {
  background: #65bdd35f;
  color: #65bdd358;
  border: 1px solid #65bdd30e;
}

.bsu-stage-toggle {
  min-height: 30px;
  padding: 3px 8px;
  border-radius: 7px;
  font-weight: 700;
  font-size: 16px;
}

.bsu-lesson-content {
  margin-bottom: 12px;
}

.bsu-lock-note {
  color: #fbe4bf32;
  font-weight: 600;
}

.bsu-lesson-flags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 10px 0;
}

.bsu-step-note {
  margin: 4px 0 0;
  color: #65bdd3d6;
  font-size: 14px;
}

.bsu-video-watch-note {
  font-weight: 700;
}

.bsu-video-watch-note.is-pending {
  color: #65bdd3f0;
}

.bsu-video-watch-note.is-done {
  color: #00000024;
}

.bsu-step-lock-note {
  margin: 0;
  color: #65bdd3f0;
  background: #ffffff7e;
  border: 1px solid #fbe4bf19;
  border-radius: 8px;
  padding: 10px;
}

.bsu-stage-body {
  margin-top: 10px;
}

.bsu-stage-body.is-hidden {
  display: none;
}

.bsu-stage-inline-note {
  margin: 0;
  color: #65bdd3d6;
  font-size: 14px;
  font-weight: 600;
}

.bsu-exercise-wrap,
.bsu-quiz-wrap {
  margin-top: 12px;
}

.bsu-exercise,
.bsu-quiz {
  border: 1px solid #65bdd33e;
  border-radius: 8px;
  background: #ffffff;
  padding: 12px;
  margin-bottom: 12px;
}

.bsu-exercise h6,
.bsu-quiz h6 {
  margin: 0 0 6px;
  font-size: 16px;
}

.bsu-question {
  border: 1px solid #65bdd36f;
  border-radius: 8px;
  padding: 10px;
  margin-bottom: 10px;
}

.bsu-question legend {
  font-weight: 600;
}

.bsu-question-prompt {
  margin: 0 0 8px;
  color: #65bdd314;
  font-weight: 600;
}

.bsu-question label {
  display: block;
  margin-bottom: 6px;
}

.bsu-question-feedback {
  margin-top: 10px;
  padding: 9px 10px;
  border-radius: 8px;
  border: 1px solid #65bdd32e;
  background: #65bdd39f;
}

.bsu-question-feedback.is-correct {
  border-color: #65bdd3fb;
  background: #65bdd38f;
}

.bsu-question-feedback.is-incorrect {
  border-color: #fbe4bf4b;
  background: #ffffff2f;
}

.bsu-question-feedback-status,
.bsu-question-feedback-correction,
.bsu-question-feedback-explanation {
  margin: 0;
}

.bsu-question-feedback-correction,
.bsu-question-feedback-explanation {
  margin-top: 5px;
}

.bsu-question-feedback-status {
  font-weight: 800;
}

.bsu-quiz-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 4px;
}

.bsu-quiz-step-indicator {
  margin: 8px 0 0;
  color: #65bdd3d6;
  font-size: 14px;
  font-weight: 700;
}

.bsu-sort-list {
  list-style: none;
  padding: 0;
  margin: 8px 0;
}

.bsu-sort-list li {
  border: 1px solid #65bdd39e;
  border-radius: 6px;
  background: #b8d4e6bf;
  padding: 8px 10px;
  margin-bottom: 6px;
  cursor: move;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.bsu-sort-item-label {
  flex: 1;
  min-width: 0;
}

.bsu-sort-controls {
  display: inline-flex;
  gap: 4px;
}

.bsu-sort-move {
  border: 1px solid #65bdd38d;
  border-radius: 6px;
  background: #ffffff;
  color: #65bdd373;
  width: 28px;
  height: 28px;
  line-height: 1;
  cursor: pointer;
  font-weight: 700;
  padding: 0;
}

.bsu-sort-move:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.bsu-sort-list li.is-dragging {
  opacity: 0.6;
}

.bsu-pill {
  display: inline-block;
  margin-left: 8px;
  padding: 3px 8px;
  border-radius: 999px;
  font-size: 12px;
}

.bsu-pill.success {
  background: #65bdd35f;
  color: #00000024;
  border: 1px solid #ffffff5c;
}

.bsu-ajax-result {
  margin-top: 8px;
  font-weight: 600;
}

.bsu-ajax-result.is-success {
  color: #00000024;
}

.bsu-ajax-result.is-error {
  color: #65bdd3b2;
}

.bsu-exercise-submitted {
  margin-top: 10px;
  padding: 10px 12px;
  border: 1px solid #65bdd31e;
  border-radius: 8px;
  background: #b8d4e6bf;
}

.bsu-exercise-submitted-title {
  margin: 0 0 6px;
  font-size: 14px;
  font-weight: 700;
  color: #65bdd315;
}

.bsu-exercise-submitted-list {
  margin: 0;
  padding-left: 18px;
}

.bsu-exercise-submitted-list li + li {
  margin-top: 4px;
}

.bsu-exercise-submitted-text {
  margin: 0;
  white-space: pre-wrap;
  color: #65bdd373;
}

.bsu-exercise-submitted-empty {
  margin: 0;
  color: #65bdd3d6;
  font-size: 14px;
}

.bsu-step-navigation {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}

.bsu-lesson-completion {
  margin-top: 12px;
}

.bsu-go-next {
  font-weight: 800;
}

.bsu-next-hint {
  margin: 8px 0 0;
  color: #65bdd3d6;
  font-size: 14px;
}

.bsu-feedback-list {
  margin-top: 10px;
}

.bsu-manual-refresh {
  margin-top: 8px;
}

.bsu-feedback-item {
  border-radius: 6px;
  padding: 7px 9px;
  margin-bottom: 6px;
}

.bsu-feedback-item.ok {
  background: #65bdd36f;
  border: 1px solid #65bdd38c;
}

.bsu-feedback-item.bad {
  background: #b8d4e6ee;
  border: 1px solid #ffffff6b;
}

.bsu-final-block,
.bsu-docs-block {
  margin-top: 18px;
  border-top: 1px solid #65bdd38f;
  padding-top: 14px;
}

.bsu-final-block-body {
  margin-top: 12px;
}

.bsu-doc-waiting {
  background: #ffffff4d;
  border: 1px solid #fbe4bf19;
  border-radius: 8px;
  padding: 10px;
}

.bsu-cert-ready {
  background: #65bdd35f;
  border: 1px solid #ffffff5c;
  border-radius: 8px;
  padding: 10px;
}

.bsu-review-comment {
  background: #b8d4e6ee;
  border: 1px solid #ffffff6b;
  border-radius: 8px;
  padding: 10px;
}

.bsu-dashboard {
  position: relative;
  border: 1px solid #65bdd34e;
  border-radius: 20px;
  padding: 24px;
  background:
    radial-gradient(circle at 8% -35%, rgba(101, 189, 211, 0.16) 0%, rgba(101, 189, 211, 0) 52%),
    radial-gradient(circle at 92% -45%, rgba(101, 189, 211, 0.14) 0%, rgba(101, 189, 211, 0) 54%),
    #b8d4e6bf;
  box-shadow: 0 14px 34px rgba(101, 189, 211, 0.09);
  overflow: hidden;
}

.bsu-dashboard::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.86) 0%, rgba(255, 255, 255, 0) 180px);
  pointer-events: none;
}

.bsu-dashboard-header,
.bsu-dashboard-overview,
.bsu-dashboard-grid,
.bsu-dashboard-empty {
  position: relative;
  z-index: 1;
}

.bsu-dashboard-header {
  padding: 4px 2px 0;
}

.bsu-dashboard-inline-course {
  margin-bottom: 14px;
}

.bsu-dashboard-back {
  margin: 14px 0 0;
}

.bsu-dashboard-header h2 {
  margin: 0 0 8px;
  font-size: clamp(30px, 4.5vw, 52px);
  line-height: 0.95;
  letter-spacing: -0.02em;
  color: #65bdd3f3;
}

.bsu-dashboard-intro {
  margin: 0;
  color: #65bdd3f6;
  font-size: 19px;
  max-width: 760px;
  line-height: 1.4;
}

.bsu-dashboard-overview {
  margin-top: 18px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.bsu-dashboard-stat {
  border: 1px solid #65bdd36f;
  border-radius: 14px;
  background: #ffffffff;
  padding: 12px 14px;
  box-shadow: 0 6px 14px rgba(101, 189, 211, 0.05);
}

.bsu-dashboard-stat-label {
  margin: 0;
  color: #65bdd338;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.bsu-dashboard-stat-value {
  margin: 6px 0 0;
  color: #65bdd343;
  font-size: 28px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: -0.02em;
}

.bsu-dashboard-stat-meta {
  margin: 6px 0 0;
  color: #00000068;
  font-size: 13px;
}

.bsu-dashboard-empty {
  border: 1px dashed #fffffffe;
  background: #65bdd3bf;
  border-radius: 14px;
  padding: 18px;
  margin-top: 18px;
}

.bsu-dashboard-empty p {
  margin: 0;
  color: #65bdd335;
  font-weight: 600;
}

.bsu-dashboard-grid {
  margin-top: 18px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 14px;
}

.bsu-dashboard-card {
  position: relative;
  border: 1px solid #65bdd32e;
  border-radius: 16px;
  background: #ffffffff;
  padding: 16px;
  display: grid;
  gap: 14px;
  box-shadow: 0 10px 22px rgba(101, 189, 211, 0.07);
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.bsu-dashboard-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 3px;
  border-radius: 16px 16px 0 0;
  background: linear-gradient(90deg, #65bdd3f4, #65bdd387, #65bdd37f);
  opacity: 0.75;
}

.bsu-dashboard-card:hover {
  transform: translateY(-1px);
  border-color: #65bdd35e;
  box-shadow: 0 16px 28px rgba(101, 189, 211, 0.12);
}

.bsu-dashboard-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.bsu-dashboard-eyebrow {
  margin: 0;
  color: #65bdd338;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.bsu-dashboard-course-title {
  margin: 4px 0 0;
  font-size: 28px;
  line-height: 1.05;
  letter-spacing: -0.02em;
  color: #65bdd394;
}

.bsu-dashboard-updated {
  margin: 6px 0 0;
  color: #65bdd3a8;
  font-size: 13px;
}

.bsu-dashboard-body {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 12px;
  align-items: center;
}

.bsu-dashboard-progress-circle {
  --bsu-progress: 0;
  width: 88px;
  min-width: 88px;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: conic-gradient(#65bdd3f4 calc(var(--bsu-progress) * 1%), #ffffff8f 0);
}

.bsu-dashboard-progress-circle::before {
  content: "";
  grid-area: 1 / 1;
  width: 68px;
  height: 68px;
  border-radius: 50%;
  background: #ffffffff;
  box-shadow: inset 0 0 0 1px #65bdd31f;
}

.bsu-dashboard-progress-circle span {
  grid-area: 1 / 1;
  position: relative;
  color: #65bdd3a4;
  font-size: 17px;
  font-weight: 800;
}

.bsu-dashboard-meta-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.bsu-dashboard-meta-item {
  margin: 0;
  border: 1px solid #ffffff8f;
  background: #b8d4e6bf;
  border-radius: 10px;
  padding: 8px 10px;
  min-width: 0;
}

.bsu-dashboard-meta-item.is-full {
  grid-column: 1 / -1;
}

.bsu-dashboard-meta-item.is-certificate {
  border-color: #65bdd3ac;
  background: #65bdd38f;
}

.bsu-dashboard-meta-item.is-muted {
  border-style: dashed;
  background: #b8d4e6bf;
}

.bsu-dashboard-meta-label {
  margin: 0;
  color: #00000068;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.bsu-dashboard-meta-value {
  margin: 4px 0 0;
  color: #000000b4;
  font-size: 16px;
  font-weight: 700;
  overflow-wrap: anywhere;
}

.bsu-dashboard-progress-wrap {
  display: grid;
  gap: 8px;
}

.bsu-dashboard-progress-text {
  margin: 0;
  font-weight: 700;
  color: #65bdd365;
  font-size: 15px;
}

.bsu-dashboard-progress {
  width: 100%;
  height: 9px;
  background: #65bdd3af;
  border-radius: 999px;
  overflow: hidden;
}

.bsu-dashboard-progress-bar {
  height: 100%;
  background: linear-gradient(90deg, #65bdd3f4, #65bdd387);
  transition: width 0.22s ease;
}

.bsu-dashboard-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 2px;
}

.bsu-dashboard .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 7px 14px;
  border-radius: 10px;
  font-weight: 700;
  font-size: 15px;
  line-height: 1.2;
  border: 1px solid #65bdd30c;
  background: #ffffffff;
  color: #65bdd304;
  text-transform: none;
  text-decoration: none;
  white-space: nowrap;
  box-shadow: 0 1px 0 #65bdd31e;
}

.bsu-dashboard .button:hover,
.bsu-dashboard .button:focus {
  border-color: #65bdd36b;
  background: #65bdd39f;
  color: #00000063;
}

.bsu-dashboard .button.button-primary {
  border-color: #65bdd3f4;
  background: #65bdd3f4;
  color: #ffffffff;
}

.bsu-dashboard .button.button-primary:hover,
.bsu-dashboard .button.button-primary:focus {
  border-color: #65bdd3a3;
  background: #65bdd3a3;
  color: #ffffffff;
}

.bsu-dashboard-no-cert {
  font-size: 14px;
  color: #65bdd337;
  font-weight: 600;
}

.bsu-cert-verify form {
  margin-bottom: 10px;
}

.bsu-cert-verify input[type="text"] {
  min-width: 240px;
}

.bsu-verify-valid {
  color: #00000024;
}

.bsu-verify-invalid {
  color: #65bdd3b2;
}

@media (max-width: 1020px) {
  .bsu-dashboard-overview {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .bsu-learning-layout {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .bsu-learning-sidebar {
    position: static;
  }

  .bsu-learning-sidebar .bsu-segment-switcher {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }
}

@media (max-width: 760px) {
  .bsu-course {
    padding: 14px;
  }

  .bsu-dashboard {
    padding: 16px;
    border-radius: 14px;
  }

  .bsu-dashboard-header h2 {
    font-size: clamp(30px, 12vw, 48px);
    line-height: 0.96;
  }

  .bsu-dashboard-intro {
    font-size: 17px;
  }

  .bsu-dashboard-overview {
    margin-top: 14px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .bsu-dashboard-stat-value {
    font-size: 24px;
  }

  .bsu-dashboard-grid {
    margin-top: 14px;
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .bsu-dashboard-course-title {
    font-size: 24px;
  }

  .bsu-dashboard-body {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .bsu-dashboard-progress-circle {
    width: 74px;
    min-width: 74px;
  }

  .bsu-dashboard-progress-circle::before {
    width: 56px;
    height: 56px;
  }

  .bsu-dashboard-progress-text {
    font-size: 14px;
  }

  .bsu-start-course {
    width: 100%;
  }

  .bsu-restart-controls .button {
    width: 100%;
  }

  .bsu-step-tab {
    width: 100%;
    text-align: left;
  }

  .bsu-step-navigation .button {
    width: 100%;
    text-align: center;
  }

  .bsu-quiz-nav .button {
    width: 100%;
    text-align: center;
  }

  .bsu-segment-switcher {
    grid-template-columns: 1fr;
  }

  .bsu-learning-sidebar .bsu-segment-switcher {
    grid-template-columns: 1fr;
  }

  .bsu-dashboard-actions .button {
    width: 100%;
    text-align: center;
  }

  .bsu-dashboard-no-cert {
    width: 100%;
  }
}

/* Learning journey redesign */
.bsu-learning-header {
  border: 0;
  background: transparent;
  border-radius: 0;
  padding: 0;
  margin-bottom: 16px;
}

.bsu-learning-header h3 {
  margin-bottom: 2px;
}

.bsu-learning-layout {
  grid-template-columns: minmax(220px, 300px) minmax(0, 1fr);
  gap: 30px;
}

.bsu-sidebar-heading {
  display: none;
}

.bsu-learning-sidebar .bsu-sidebar-stack {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.bsu-learning-sidebar .bsu-sidebar-stack > .bsu-segment-switch {
  width: 100%;
}

.bsu-learning-sidebar .bsu-sidebar-stack > .bsu-sidebar-segment {
  margin: 0 0 14px;
  padding: 0 0 0 10px;
}

.bsu-learning-sidebar .bsu-segment-switch {
  border: 0;
  background: #ffffff01;
  color: #ffffffff;
  border-radius: 999px;
  min-height: 46px;
  padding: 6px 14px;
  justify-content: center;
  text-align: center;
  box-shadow: none;
}

.bsu-learning-sidebar .bsu-segment-switch:hover,
.bsu-learning-sidebar .bsu-segment-switch:focus {
  border: 0;
  background: #fbe4bf01;
  color: #ffffffff;
  box-shadow: none;
}

.bsu-learning-sidebar .bsu-segment-switch.is-active {
  box-shadow: 0 0 0 3px rgba(251, 228, 191, 0.2);
}

.bsu-learning-sidebar .bsu-segment-switch.is-complete {
  background: #fbe4bf01;
}

.bsu-learning-sidebar .bsu-segment-switch.is-locked {
  background: #fbe4bfd9;
}

.bsu-learning-sidebar .bsu-segment-switch-index,
.bsu-learning-sidebar .bsu-segment-switch-status {
  display: none;
}

.bsu-learning-sidebar .bsu-segment-switch-title {
  margin: 0;
  font-size: 16px;
  font-weight: 800;
  text-transform: none;
  letter-spacing: 0.02em;
}

.bsu-sidebar-lessons {
  border: 0;
  background: transparent;
  padding: 0 6px;
}

.bsu-sidebar-segment-title {
  display: none;
}

.bsu-sidebar-lesson-tabs {
  gap: 7px;
  margin: 0;
}

.bsu-sidebar-lesson-tabs .bsu-step-tab {
  width: 100%;
  display: block;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  text-align: left;
  color: #00000011;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.35;
  padding: 0 0 0 22px;
  position: relative;
}

.bsu-sidebar-lesson-tabs .bsu-step-tab::before {
  content: "•";
  position: absolute;
  left: 0;
  top: 0;
  color: #00000011;
}

.bsu-sidebar-lesson-tabs .bsu-step-tab.is-active {
  color: #ffffff01;
}

.bsu-sidebar-lesson-tabs .bsu-step-tab.is-active::before {
  color: #ffffff01;
}

.bsu-sidebar-lesson-tabs .bsu-step-tab:hover,
.bsu-sidebar-lesson-tabs .bsu-step-tab:focus {
  border: 0;
  background: transparent;
  color: #fbe4bf01;
}

.bsu-sidebar-lesson-tabs .bsu-step-tab.is-complete,
.bsu-sidebar-lesson-tabs .bsu-step-tab.is-complete.is-active {
  color: #65bdd3f4;
}

.bsu-sidebar-lesson-tabs .bsu-step-tab.is-complete::before,
.bsu-sidebar-lesson-tabs .bsu-step-tab.is-complete.is-active::before {
  color: #65bdd3f4;
}

.bsu-sidebar-lesson-tabs .bsu-step-tab.is-complete:hover,
.bsu-sidebar-lesson-tabs .bsu-step-tab.is-complete:focus {
  color: #65bdd323;
}

.bsu-sidebar-lesson-tabs .bsu-step-tab.is-complete:hover::before,
.bsu-sidebar-lesson-tabs .bsu-step-tab.is-complete:focus::before {
  color: #65bdd323;
}

.bsu-sidebar-lesson-tabs .bsu-step-tab.is-locked {
  opacity: 0.4;
}

.bsu-learning-content .bsu-content-segment {
  min-height: 560px;
}

.bsu-segment-stage {
  display: none;
  min-height: 560px;
  border-radius: 42px;
}

.bsu-content-segment[data-segment-stage="start"] .bsu-segment-stage-start {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #ffffff01;
  padding: 44px;
}

.bsu-content-segment[data-segment-stage="overview"] .bsu-segment-stage-overview {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 18px;
  text-align: center;
  background: #b8d4e67b;
  padding: 54px 62px 36px;
}

.bsu-content-segment[data-segment-stage="lesson"] .bsu-segment-stage-lesson {
  display: block;
  background: #ffffff3c;
  border-radius: 42px;
  min-height: 560px;
  padding: 40px 46px;
}

.bsu-segment-cta {
  border: 0;
  border-radius: 999px;
  box-shadow: none;
}

.bsu-course .button.bsu-segment-cta-start {
  min-height: 46px;
  max-width: 100%;
  padding: 6px 14px;
  border: 0;
  border-radius: 20px;
  background: #fffffffe;
  color: #ffffff01;
  font-size: 16px;
  font-weight: 800;
  text-align: center;
  white-space: normal;
  box-shadow: none;
}

.bsu-course .button.bsu-segment-cta-start:hover,
.bsu-course .button.bsu-segment-cta-start:focus {
  border: 0;
  background: #ffffffff;
  color: #fbe4bf01;
  box-shadow: none;
}

.bsu-segment-stage-overview h3 {
  margin: 0;
  color: #00000000;
  font-size: clamp(30px, 2.1vw, 48px);
}

.bsu-segment-stage-overview .bsu-segment-content {
  max-width: 760px;
  margin: 0;
  font-size: clamp(18px, 1.1vw, 24px);
  line-height: 1.7;
}

.bsu-segment-overview-list {
  margin: 0;
  text-align: left;
  font-size: clamp(24px, 1.7vw, 34px);
  font-weight: 800;
  line-height: 1.55;
}

.bsu-segment-overview-actions {
  width: 100%;
  margin-top: auto;
  display: flex;
  justify-content: flex-end;
}

.bsu-course .button.bsu-segment-cta-begin {
  min-width: 120px;
  min-height: 36px;
  border: 0;
  border-radius: 999px;
  background: #ffffff01;
  color: #ffffffff;
  font-size: 16px;
  font-weight: 800;
  padding: 4px 12px;
  box-shadow: none;
}

.bsu-course .button.bsu-segment-cta-begin:hover,
.bsu-course .button.bsu-segment-cta-begin:focus {
  border: 0;
  background: #fbe4bf01;
  color: #ffffffff;
  box-shadow: none;
}

.bsu-segment-stage-lesson {
  min-height: 560px;
}

.bsu-segment-lesson-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.bsu-segment-lesson-header h3 {
  margin: 0;
  font-size: clamp(24px, 1.8vw, 34px);
}

.bsu-course .button.bsu-segment-overview-link {
  min-height: 30px;
  padding: 4px 10px;
  font-size: 16px;
  border-color: #ffffff01;
  color: #ffffff01;
  background: #ffffff0f;
}

.bsu-course .button.bsu-segment-overview-link:hover,
.bsu-course .button.bsu-segment-overview-link:focus {
  border-color: #fbe4bf01;
  color: #fbe4bf01;
  background: #ffffff1e;
}

.bsu-segment-guide {
  margin: 10px 0 18px;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.6;
}

.bsu-step-panel.is-active {
  border: 1px solid #65bdd37b;
  border-radius: 28px;
  background: #ffffffdf;
  padding: 28px;
}

.bsu-step-panel h4 {
  margin: 0 0 16px;
  font-size: clamp(26px, 1.8vw, 38px);
}

.bsu-lesson-step {
  border-color: #b8d4e6cc;
  border-radius: 20px;
  padding: 18px;
}

.bsu-lesson-step + .bsu-lesson-step {
  margin-top: 16px;
}

.bsu-lesson-content {
  line-height: 1.75;
}

.bsu-step-navigation {
  justify-content: space-between;
  align-items: center;
}

.bsu-go-next {
  margin-left: auto;
}

.bsu-course .button.bsu-go-next {
  border-color: #ffffff01;
  background: #ffffff01;
  color: #ffffffff;
  border-radius: 999px;
  min-height: 34px;
  padding: 4px 12px;
  font-size: 16px;
  box-shadow: none;
}

.bsu-course .button.bsu-go-next:hover,
.bsu-course .button.bsu-go-next:focus {
  border-color: #fbe4bf01;
  background: #fbe4bf01;
  color: #ffffffff;
}

@media (max-width: 1020px) {
  .bsu-learning-layout {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .bsu-learning-sidebar {
    position: static;
  }

  .bsu-learning-sidebar .bsu-segment-switch-title {
    font-size: 16px;
  }

  .bsu-sidebar-lesson-tabs .bsu-step-tab {
    font-size: 16px;
  }

  .bsu-segment-stage {
    min-height: 380px;
    border-radius: 30px;
  }

  .bsu-content-segment[data-segment-stage="lesson"] .bsu-segment-stage-lesson {
    min-height: 380px;
    border-radius: 30px;
    padding: 24px;
  }

  .bsu-step-panel.is-active {
    padding: 18px;
  }
}

@media (max-width: 760px) {
  .bsu-learning-sidebar .bsu-segment-switch {
    min-height: 42px;
    padding: 6px 12px;
  }

  .bsu-learning-sidebar .bsu-segment-switch-title {
    font-size: 16px;
  }

  .bsu-sidebar-lesson-tabs .bsu-step-tab {
    font-size: 16px;
  }

  .bsu-content-segment[data-segment-stage="start"] .bsu-segment-stage-start,
  .bsu-content-segment[data-segment-stage="overview"] .bsu-segment-stage-overview {
    padding: 24px 18px;
  }

  .bsu-course .button.bsu-segment-cta-start {
    min-height: 42px;
    padding: 6px 12px;
    border-radius: 18px;
    font-size: 16px;
  }

  .bsu-segment-stage-overview h3 {
    font-size: 26px;
  }

  .bsu-segment-overview-list {
    font-size: 21px;
  }

  .bsu-course .button.bsu-segment-cta-begin {
    width: 100%;
    min-width: 0;
    font-size: 16px;
  }

  .bsu-segment-overview-actions {
    justify-content: stretch;
  }

  .bsu-segment-lesson-header {
    flex-direction: column;
    align-items: flex-start;
  }

  .bsu-content-segment[data-segment-stage="lesson"] .bsu-segment-stage-lesson {
    padding: 16px;
  }
}

/* Modern frontend refresh (2026) */
.bsu-course,
.bsu-dashboard,
.bsu-cert-verify {
  --bsu-modern-bg: #65bdd37f;
  --bsu-modern-surface: #ffffffff;
  --bsu-modern-surface-soft: #b8d4e6af;
  --bsu-modern-border: #65bdd30e;
  --bsu-modern-border-strong: #b8d4e67d;
  --bsu-modern-text: #00000023;
  --bsu-modern-muted: #65bdd3a7;
  --bsu-modern-brand: #65bdd33e;
  --bsu-modern-brand-strong: #65bdd3fb;
  --bsu-modern-accent: #65bdd366;
  --bsu-modern-warning: #00000020;
  --bsu-modern-danger: #fbe4bf31;
  --bsu-modern-shadow-soft: 0 10px 30px rgba(101, 189, 211, 0.09);
  --bsu-modern-shadow-card: 0 12px 34px rgba(101, 189, 211, 0.11);
  --bsu-modern-radius-lg: 18px;
  --bsu-modern-radius-xl: 28px;
  color: var(--bsu-modern-text);
  font-family: "Sora", "Avenir Next", "Trebuchet MS", sans-serif;
}

.bsu-course h2,
.bsu-course h3,
.bsu-course h4,
.bsu-course h5,
.bsu-course h6,
.bsu-dashboard h2,
.bsu-dashboard h3,
.bsu-cert-verify h3 {
  font-family: "Bricolage Grotesque", "Avenir Next", "Sora", sans-serif;
  letter-spacing: -0.02em;
}

.bsu-course :where(button, .button, a.button, input, textarea, select):focus-visible,
.bsu-dashboard :where(button, .button, a.button):focus-visible,
.bsu-cert-verify :where(button, .button, input):focus-visible {
  outline: 3px solid rgba(101, 189, 211, 0.3);
  outline-offset: 2px;
}

.bsu-course,
.bsu-course *,
.bsu-course *::before,
.bsu-course *::after {
  box-sizing: border-box;
}

.bsu-course {
  position: relative;
  border: 0;
  border-radius: 0;
  padding: 0;
  background: transparent;
  box-shadow: none;
}

.bsu-course.is-learning-mode {
  margin-left: 0;
  margin-right: 0;
  width: 100%;
  max-width: 100%;
}

.bsu-course.is-learning-mode .bsu-learning-flow {
  min-height: calc(100vh - 120px);
}

.bsu-course::before {
  content: none;
}

.bsu-course > * {
  position: relative;
  z-index: 1;
}

.bsu-course-header {
  margin-bottom: 20px;
  display: grid;
  gap: 10px;
}

.bsu-course-header h2 {
  margin: 0;
  font-size: clamp(32px, 4.4vw, 56px);
  line-height: 0.95;
}

.bsu-progress {
  height: 14px;
  background: #b8d4e6df;
  border-radius: 999px;
  overflow: hidden;
  border: 1px solid rgba(101, 189, 211, 0.08);
}

.bsu-progress-bar {
  background: linear-gradient(90deg, var(--bsu-modern-brand) 0%, var(--bsu-modern-accent) 100%);
}

.bsu-progress-text {
  margin: 0;
  color: var(--bsu-modern-muted);
}

.bsu-status-pill {
  width: fit-content;
  padding: 6px 12px;
  border-radius: 999px;
  border: 1px solid var(--bsu-modern-border);
  background: var(--bsu-modern-surface);
  color: var(--bsu-modern-text);
  font-weight: 700;
}

.bsu-status-pill.status-in_progress {
  border-color: #65bdd30e;
  background: #ffffff5f;
}

.bsu-status-pill.status-final_exam_passed,
.bsu-status-pill.status-docs_submitted,
.bsu-status-pill.status-approved,
.bsu-status-pill.status-cert_issued {
  border-color: #ffffff2b;
  background: #65bdd38f;
}

.bsu-status-pill.status-rejected,
.bsu-status-pill.status-cert_revoked {
  border-color: #fbe4bfbb;
  background: #ffffff2f;
}

.bsu-course-intro,
.bsu-login-note,
.bsu-learning-header,
.bsu-final-block,
.bsu-docs-block,
.bsu-step-panel.is-active,
.bsu-doc-waiting,
.bsu-cert-ready,
.bsu-review-comment {
  border: 1px solid var(--bsu-modern-border);
  border-radius: var(--bsu-modern-radius-lg);
  background: var(--bsu-modern-surface);
  box-shadow: 0 4px 14px rgba(251, 228, 191, 0.05);
}

.bsu-login-note {
  border-color: #b8d4e608;
  background: #ffffffaf;
}

.bsu-intro-actions {
  margin-top: 16px;
  gap: 12px;
}

.bsu-intro-meta {
  margin: 0;
  color: var(--bsu-modern-muted);
  font-weight: 600;
}

.bsu-course .button,
.bsu-dashboard .button,
.bsu-cert-verify .button {
  min-height: 40px;
  border-radius: 999px;
  border: 1px solid var(--bsu-modern-border-strong);
  background: var(--bsu-modern-surface);
  color: var(--bsu-modern-text);
  font-weight: 700;
  font-size: 15px;
  box-shadow: 0 3px 0 rgba(101, 189, 211, 0.1);
  transition: transform 0.16s ease, background 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease;
}

.bsu-course .button:hover,
.bsu-course .button:focus,
.bsu-dashboard .button:hover,
.bsu-dashboard .button:focus,
.bsu-cert-verify .button:hover,
.bsu-cert-verify .button:focus {
  transform: translateY(-1px);
  border-color: #65bdd38b;
  background: #b8d4e6af;
  box-shadow: 0 6px 16px rgba(101, 189, 211, 0.14);
  color: var(--bsu-modern-text);
}

.bsu-course .button.button-primary,
.bsu-dashboard .button.button-primary {
  border-color: var(--bsu-modern-brand);
  background: var(--bsu-modern-brand);
  color: #ffffffff;
}

.bsu-course .button.button-primary:hover,
.bsu-course .button.button-primary:focus,
.bsu-dashboard .button.button-primary:hover,
.bsu-dashboard .button.button-primary:focus {
  border-color: var(--bsu-modern-brand-strong);
  background: var(--bsu-modern-brand-strong);
  color: #ffffffff;
}

.bsu-course .button.button-secondary {
  border-color: #65bdd32e;
  background: #65bdd37f;
  color: #00000074;
}

.bsu-course .button.button-secondary:hover,
.bsu-course .button.button-secondary:focus {
  border-color: #65bdd38c;
  background: #65bdd32f;
  color: #65bdd304;
}

.bsu-learning-header {
  margin-bottom: 18px;
  padding: 16px 18px;
  background: var(--bsu-modern-surface);
}

.bsu-learning-header h3 {
  margin: 0;
  font-size: clamp(26px, 2.7vw, 40px);
}

.bsu-learning-header p {
  margin-top: 4px;
  color: var(--bsu-modern-muted);
}

.bsu-sidebar-heading {
  display: block;
  margin: 0 0 10px;
  color: var(--bsu-modern-muted);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.bsu-learning-layout {
  grid-template-columns: minmax(250px, 320px) minmax(0, 1fr);
  gap: clamp(16px, 2.5vw, 28px);
}

.bsu-learning-sidebar {
  position: sticky;
  top: 14px;
}

.bsu-learning-sidebar .bsu-sidebar-stack {
  gap: 12px;
}

.bsu-learning-sidebar .bsu-sidebar-stack > .bsu-sidebar-segment {
  margin: 0;
  padding: 0 0 0 8px;
}

.bsu-learning-sidebar .bsu-segment-switch {
  border: 1px solid var(--bsu-modern-border);
  background: #ffffffff;
  color: var(--bsu-modern-text);
  border-radius: 16px;
  min-height: 0;
  box-shadow: none;
  text-align: left;
  justify-content: flex-start;
  gap: 8px;
  padding: 12px 14px;
}

.bsu-learning-sidebar .bsu-segment-switch:hover,
.bsu-learning-sidebar .bsu-segment-switch:focus {
  border-color: #65bdd3ec;
  background: #b8d4e6bf;
}

.bsu-learning-sidebar .bsu-segment-switch.is-active {
  border-color: var(--bsu-modern-brand);
  background: #ffffff5f;
  box-shadow: 0 0 0 3px rgba(101, 189, 211, 0.15);
}

.bsu-learning-sidebar .bsu-segment-switch.is-complete {
  border-color: #b8d4e6fa;
  background: #65bdd38f;
}

.bsu-learning-sidebar .bsu-segment-switch.is-locked {
  opacity: 0.56;
  filter: grayscale(0.06);
}

.bsu-learning-sidebar .bsu-segment-switch-index,
.bsu-learning-sidebar .bsu-segment-switch-status {
  display: inline-flex;
  align-items: center;
  font-size: 12px;
  letter-spacing: 0.04em;
}

.bsu-learning-sidebar .bsu-segment-switch-index {
  width: 24px;
  height: 24px;
  justify-content: center;
  border-radius: 999px;
  background: rgba(101, 189, 211, 0.08);
  font-weight: 700;
}

.bsu-learning-sidebar .bsu-segment-switch-status {
  margin-left: auto;
  color: var(--bsu-modern-muted);
  font-weight: 700;
  text-transform: uppercase;
}

.bsu-learning-sidebar .bsu-segment-switch-title {
  margin: 0;
  min-width: 0;
  font-size: 15px;
  font-weight: 800;
}

.bsu-sidebar-lessons {
  padding: 6px;
}

.bsu-sidebar-lesson-tabs {
  gap: 8px;
}

.bsu-sidebar-lesson-tabs .bsu-step-tab {
  border-radius: 12px;
  border: 1px solid transparent;
  background: rgba(255, 255, 255, 0.9);
  color: #65bdd334;
  padding: 10px 12px;
  font-size: 14px;
  font-weight: 700;
}

.bsu-sidebar-lesson-tabs .bsu-step-tab::before {
  content: none;
}

.bsu-sidebar-lesson-tabs .bsu-step-tab:hover,
.bsu-sidebar-lesson-tabs .bsu-step-tab:focus {
  border-color: #65bdd3ec;
  background: #65bdd38f;
  color: #65bdd3f4;
}

.bsu-sidebar-lesson-tabs .bsu-step-tab.is-active {
  border-color: var(--bsu-modern-brand);
  background: #65bdd34f;
  color: var(--bsu-modern-brand-strong);
}

.bsu-sidebar-lesson-tabs .bsu-step-tab.is-complete,
.bsu-sidebar-lesson-tabs .bsu-step-tab.is-complete.is-active {
  border-color: #b8d4e6fa;
  background: #65bdd37f;
  color: #000000f4;
}

.bsu-final-menu-link {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: 8px;
}

.bsu-final-menu-label {
  font-weight: 800;
}

.bsu-final-menu-status {
  font-size: 12px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--bsu-modern-muted);
}

.bsu-final-menu-link.is-active {
  border-color: var(--bsu-modern-brand);
  background: #65bdd34f;
  color: var(--bsu-modern-brand-strong);
}

.bsu-final-menu-link.is-active .bsu-final-menu-status {
  color: var(--bsu-modern-brand-strong);
}

.bsu-learning-content .bsu-content-segment {
  min-height: 0;
}

.bsu-segment-stage {
  border-radius: var(--bsu-modern-radius-xl);
  min-height: 0;
}

.bsu-content-segment[data-segment-stage="start"] .bsu-segment-stage-start {
  background: linear-gradient(145deg, #65bdd3a3 0%, #65bdd3a5 100%);
  padding: clamp(26px, 4vw, 54px);
}

.bsu-course .button.bsu-segment-cta-start {
  min-height: 46px;
  border-radius: 999px;
  border: 0;
  background: #ffffffff;
  color: #65bdd3a3;
  box-shadow: 0 10px 20px rgba(101, 189, 211, 0.2);
}

.bsu-course .button.bsu-segment-cta-start:hover,
.bsu-course .button.bsu-segment-cta-start:focus {
  background: #ffffffff;
  color: #000000a2;
}

.bsu-content-segment[data-segment-stage="overview"] .bsu-segment-stage-overview {
  background: var(--bsu-modern-surface);
  gap: 14px;
  padding: clamp(22px, 4vw, 54px);
}

.bsu-segment-stage-overview h3 {
  font-size: clamp(26px, 3.3vw, 46px);
}

.bsu-segment-stage-overview .bsu-segment-content {
  max-width: 720px;
  font-size: clamp(17px, 1.5vw, 24px);
  color: #00000015;
}

.bsu-segment-overview-list {
  list-style: decimal-leading-zero;
  margin: 0;
  padding-left: 1.4em;
  font-size: clamp(20px, 2.1vw, 31px);
  line-height: 1.45;
}

.bsu-course .button.bsu-segment-cta-begin {
  min-height: 40px;
  background: var(--bsu-modern-brand);
  border-color: var(--bsu-modern-brand);
}

.bsu-course .button.bsu-segment-cta-begin:hover,
.bsu-course .button.bsu-segment-cta-begin:focus {
  background: var(--bsu-modern-brand-strong);
  border-color: var(--bsu-modern-brand-strong);
}

.bsu-content-segment[data-segment-stage="lesson"] .bsu-segment-stage-lesson {
  background: var(--bsu-modern-surface-soft);
  border: 1px solid var(--bsu-modern-border);
  min-height: 0;
  padding: clamp(16px, 3.5vw, 38px);
}

.bsu-segment-lesson-header {
  align-items: flex-end;
}

.bsu-segment-lesson-header h3 {
  font-size: clamp(22px, 2.4vw, 34px);
}

.bsu-course .button.bsu-segment-overview-link {
  background: #65bdd37f;
  border-color: #65bdd37d;
  color: #65bdd305;
}

.bsu-segment-guide {
  margin: 10px 0 16px;
  color: var(--bsu-modern-muted);
}

.bsu-step-tab {
  border-radius: 999px;
}

.bsu-step-panel.is-active {
  border-radius: var(--bsu-modern-radius-xl);
  border-color: var(--bsu-modern-border);
  background: #ffffffff;
  padding: clamp(16px, 2.5vw, 30px);
}

.bsu-step-panel h4 {
  margin-bottom: 12px;
  font-size: clamp(24px, 2.8vw, 38px);
}

.bsu-lesson-step {
  border-color: var(--bsu-modern-border);
  background: #b8d4e6cf;
}

.bsu-lesson-step.is-active-step {
  border-color: var(--bsu-modern-brand);
  box-shadow: 0 0 0 2px rgba(101, 189, 211, 0.14);
}

.bsu-lesson-step.is-done-step {
  border-color: #65bdd37b;
  background: #65bdd38f;
}

.bsu-step-no {
  display: none;
}

.bsu-step-state.is-open {
  background: #ffffff4f;
  color: #65bdd356;
  border-color: #ffffff0e;
}

.bsu-question {
  border-color: #65bdd30e;
  background: #ffffffff;
}

.bsu-sort-list li {
  border-color: #65bdd30e;
  background: #b8d4e6af;
}

.bsu-exercise-submitted {
  border-color: #65bdd30e;
  background: #65bdd39f;
}

.bsu-ajax-result.is-success,
.bsu-verify-valid {
  color: #65bdd3f4;
}

.bsu-ajax-result.is-error,
.bsu-verify-invalid {
  color: var(--bsu-modern-danger);
}

.bsu-final-block,
.bsu-docs-block {
  margin-top: 20px;
  padding: 16px;
}

.bsu-final-block-body {
  margin-top: 14px;
}

.bsu-doc-waiting {
  background: #ffffff8e;
  border-color: #fbe4bff9;
}

.bsu-cert-ready {
  background: #ffffff9f;
  border-color: #65bdd3db;
}

.bsu-review-comment {
  background: #ffffff3f;
  border-color: #fbe4bfdb;
}

.bsu-congrats-screen {
  margin-top: 22px;
  border: 1px solid #65bdd30e;
  border-radius: 22px;
  padding: clamp(18px, 3vw, 34px);
  background:
    radial-gradient(circle at 100% 0%, rgba(101, 189, 211, 0.12), rgba(101, 189, 211, 0) 55%),
    #ffffffff;
  box-shadow: var(--bsu-modern-shadow-soft);
}

.bsu-congrats-eyebrow {
  margin: 0;
  color: #65bdd3f8;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.bsu-congrats-screen h3 {
  margin: 8px 0 10px;
  font-size: clamp(28px, 4vw, 50px);
  line-height: 0.95;
  color: #65bdd343;
}

.bsu-congrats-text {
  margin: 0;
  max-width: 56ch;
  color: #65bdd3a7;
  font-size: 18px;
}

.bsu-congrats-cert-id {
  margin: 14px 0 0;
  color: #65bdd355;
  font-weight: 600;
}

.bsu-congrats-actions {
  margin-top: 16px;
}

.bsu-dashboard {
  border-color: var(--bsu-modern-border);
  border-radius: clamp(20px, 3vw, 30px);
  background: var(--bsu-modern-bg);
  box-shadow: var(--bsu-modern-shadow-soft);
}

.bsu-dashboard-header h2 {
  margin: 0 0 10px;
  font-size: clamp(32px, 4.5vw, 56px);
  line-height: 0.94;
  color: var(--bsu-modern-text);
}

.bsu-dashboard-intro {
  color: var(--bsu-modern-muted);
}

.bsu-dashboard-stat,
.bsu-dashboard-card,
.bsu-dashboard-empty,
.bsu-dashboard-meta-item {
  border-color: var(--bsu-modern-border);
  background: var(--bsu-modern-surface);
}

.bsu-dashboard-card {
  border-radius: 20px;
  box-shadow: var(--bsu-modern-shadow-card);
}

.bsu-dashboard-card::before {
  background: linear-gradient(90deg, var(--bsu-modern-brand), #65bdd3ce);
}

.bsu-dashboard-course-title {
  color: var(--bsu-modern-text);
}

.bsu-dashboard-progress-circle {
  background: conic-gradient(var(--bsu-modern-brand) calc(var(--bsu-progress) * 1%), #65bdd3af 0);
}

.bsu-dashboard-progress {
  background: #65bdd3af;
}

.bsu-dashboard-progress-bar {
  background: linear-gradient(90deg, var(--bsu-modern-brand), #65bdd3ce);
}

.bsu-dashboard .button {
  box-shadow: 0 3px 0 rgba(101, 189, 211, 0.12);
}

.bsu-cert-verify {
  border: 1px solid var(--bsu-modern-border);
  border-radius: var(--bsu-modern-radius-xl);
  padding: clamp(18px, 2.6vw, 28px);
  background: var(--bsu-modern-surface);
  box-shadow: var(--bsu-modern-shadow-soft);
}

.bsu-cert-verify h3 {
  margin: 0 0 12px;
  font-size: clamp(28px, 3.2vw, 44px);
}

.bsu-cert-verify form {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.bsu-cert-verify input[type="text"] {
  min-width: min(320px, 100%);
  border: 1px solid var(--bsu-modern-border-strong);
  border-radius: 999px;
  min-height: 40px;
  padding: 8px 14px;
  background: #ffffffff;
  color: var(--bsu-modern-text);
}

.bsu-course,
.bsu-dashboard,
.bsu-cert-verify,
.bsu-dashboard-card,
.bsu-dashboard-stat,
.bsu-learning-sidebar .bsu-segment-switch {
  animation: bsu-modern-fade-in 0.45s ease both;
}

.bsu-dashboard-card:nth-child(2n) {
  animation-delay: 0.05s;
}

.bsu-dashboard-card:nth-child(3n) {
  animation-delay: 0.09s;
}

@keyframes bsu-modern-fade-in {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 1020px) {
  .bsu-learning-layout {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .bsu-learning-sidebar {
    position: static;
  }

  .bsu-learning-sidebar .bsu-segment-switch {
    padding: 10px 12px;
  }

  .bsu-content-segment[data-segment-stage="lesson"] .bsu-segment-stage-lesson {
    padding: 18px;
  }
}

@media (max-width: 760px) {
  .bsu-course,
  .bsu-dashboard,
  .bsu-cert-verify {
    border-radius: 20px;
  }

  .bsu-course.is-learning-mode {
    margin-left: 0;
    margin-right: 0;
  }

  .bsu-course-header h2,
  .bsu-dashboard-header h2,
  .bsu-cert-verify h3 {
    font-size: clamp(30px, 11vw, 45px);
    line-height: 0.98;
  }

  .bsu-learning-header {
    padding: 14px;
  }

  .bsu-sidebar-lesson-tabs .bsu-step-tab,
  .bsu-step-tab {
    font-size: 14px;
  }

  .bsu-course .button,
  .bsu-dashboard .button,
  .bsu-cert-verify .button {
    width: 100%;
  }

  .bsu-cert-verify form {
    align-items: stretch;
  }

  .bsu-cert-verify input[type="text"] {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .bsu-course,
  .bsu-dashboard,
  .bsu-cert-verify,
  .bsu-dashboard-card,
  .bsu-dashboard-stat,
  .bsu-learning-sidebar .bsu-segment-switch,
  .bsu-course .button,
  .bsu-dashboard .button,
  .bsu-cert-verify .button {
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}

/* Contrast and hover refinement (2026-03-10) */
.bsu-course,
.bsu-dashboard,
.bsu-cert-verify {
  --bsu-modern-bg: #ffffff;
  --bsu-modern-surface: #ffffff;
  --bsu-modern-surface-soft: #b8d4e64d;
  --bsu-modern-border: #b8d4e6;
  --bsu-modern-border-strong: #65bdd3;
  --bsu-modern-text: #000000;
  --bsu-modern-muted: #000000cc;
  --bsu-modern-brand: #65bdd3;
  --bsu-modern-brand-strong: #65bdd3;
  --bsu-modern-accent: #fbe4bf;
  --bsu-modern-warning: #fbe4bf;
  --bsu-modern-danger: #000000;
  --bsu-modern-shadow-soft: 0 10px 28px rgba(0, 0, 0, 0.08);
  --bsu-modern-shadow-card: 0 12px 30px rgba(0, 0, 0, 0.11);
}

.bsu-course :where(button, .button, a.button, input, textarea, select):focus-visible,
.bsu-dashboard :where(button, .button, a.button):focus-visible,
.bsu-cert-verify :where(button, .button, input):focus-visible {
  outline: 3px solid #65bdd3;
  outline-offset: 2px;
}

.bsu-progress {
  background: #b8d4e64d;
  border-color: #b8d4e6;
}

.bsu-progress-bar {
  background: linear-gradient(90deg, #65bdd3 0%, #b8d4e6 100%);
}

.bsu-progress-text,
.bsu-intro-meta,
.bsu-learning-header p,
.bsu-sidebar-heading,
.bsu-segment-guide,
.bsu-final-menu-status,
.bsu-congrats-text,
.bsu-congrats-cert-id,
.bsu-dashboard-intro,
.bsu-dashboard-updated,
.bsu-pass-note,
.bsu-attempt-note,
.bsu-step-note {
  color: #000000cc;
}

.bsu-congrats-screen h3,
.bsu-course-header h2,
.bsu-dashboard-header h2,
.bsu-step-panel h4,
.bsu-segment-stage-overview h3,
.bsu-segment-stage-overview .bsu-segment-content,
.bsu-course .button.bsu-segment-cta-start,
.bsu-course .button.bsu-segment-overview-link,
.bsu-learning-sidebar .bsu-segment-switch,
.bsu-sidebar-lesson-tabs .bsu-step-tab,
.bsu-step-tab,
.bsu-dashboard-course-title {
  color: #000000;
}

.bsu-status-pill {
  background: #ffffff;
  border-color: #65bdd3;
  color: #000000;
}

.bsu-status-pill.status-in_progress {
  background: #b8d4e64d;
}

.bsu-status-pill.status-final_exam_passed,
.bsu-status-pill.status-docs_submitted,
.bsu-status-pill.status-approved,
.bsu-status-pill.status-cert_issued {
  background: #fbe4bf;
}

.bsu-status-pill.status-rejected,
.bsu-status-pill.status-cert_revoked {
  background: #ffffff;
  border-color: #000000;
}

.bsu-course .button,
.bsu-dashboard .button,
.bsu-cert-verify .button {
  background: #ffffff;
  border-color: #65bdd3;
  color: #000000;
  box-shadow: 0 3px 0 rgba(0, 0, 0, 0.14);
}

.bsu-course .button:hover,
.bsu-course .button:focus,
.bsu-dashboard .button:hover,
.bsu-dashboard .button:focus,
.bsu-cert-verify .button:hover,
.bsu-cert-verify .button:focus {
  background: #b8d4e64d;
  border-color: #65bdd3;
  color: #000000;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.16);
}

.bsu-course .button.button-primary,
.bsu-dashboard .button.button-primary,
.bsu-course .button.bsu-segment-cta-begin,
.bsu-course .button.bsu-go-next {
  background: #65bdd3;
  border-color: #65bdd3;
  color: #000000;
}

.bsu-course .button.button-primary:hover,
.bsu-course .button.button-primary:focus,
.bsu-dashboard .button.button-primary:hover,
.bsu-dashboard .button.button-primary:focus,
.bsu-course .button.bsu-segment-cta-begin:hover,
.bsu-course .button.bsu-segment-cta-begin:focus,
.bsu-course .button.bsu-go-next:hover,
.bsu-course .button.bsu-go-next:focus {
  background: #b8d4e6;
  border-color: #65bdd3;
  color: #000000;
}

.bsu-course .button.button-secondary,
.bsu-course .button.bsu-segment-overview-link {
  background: #fbe4bf;
  border-color: #65bdd3;
  color: #000000;
}

.bsu-course .button.button-secondary:hover,
.bsu-course .button.button-secondary:focus,
.bsu-course .button.bsu-segment-overview-link:hover,
.bsu-course .button.bsu-segment-overview-link:focus {
  background: #b8d4e6;
  border-color: #65bdd3;
  color: #000000;
}

.bsu-learning-sidebar .bsu-segment-switch {
  background: #ffffff;
  border-color: #65bdd3;
}

.bsu-learning-sidebar .bsu-segment-switch:hover,
.bsu-learning-sidebar .bsu-segment-switch:focus {
  background: #b8d4e64d;
  border-color: #65bdd3;
}

.bsu-learning-sidebar .bsu-segment-switch.is-active {
  background: #65bdd34d;
  border-color: #65bdd3;
}

.bsu-learning-sidebar .bsu-segment-switch.is-complete {
  background: #fbe4bf;
  border-color: #65bdd3;
}

.bsu-learning-sidebar .bsu-segment-switch-status {
  color: #000000cc;
}

.bsu-sidebar-lesson-tabs .bsu-step-tab,
.bsu-step-tab {
  background: #ffffff;
  border-color: #b8d4e6;
  color: #000000;
}

.bsu-sidebar-lesson-tabs .bsu-step-tab:hover,
.bsu-sidebar-lesson-tabs .bsu-step-tab:focus,
.bsu-step-tab:hover,
.bsu-step-tab:focus {
  background: #b8d4e64d;
  border-color: #65bdd3;
  color: #000000;
}

.bsu-sidebar-lesson-tabs .bsu-step-tab.is-active,
.bsu-step-tab.is-active {
  background: #65bdd3;
  border-color: #65bdd3;
  color: #000000;
}

.bsu-sidebar-lesson-tabs .bsu-step-tab.is-complete,
.bsu-sidebar-lesson-tabs .bsu-step-tab.is-complete.is-active,
.bsu-step-tab.is-complete {
  background: #fbe4bf;
  border-color: #65bdd3;
  color: #000000;
}

.bsu-content-segment[data-segment-stage="start"] .bsu-segment-stage-start {
  background: linear-gradient(145deg, #b8d4e6 0%, #65bdd3 100%);
}

.bsu-step-panel.is-active,
.bsu-question,
.bsu-lesson-step,
.bsu-exercise,
.bsu-quiz,
.bsu-course-intro,
.bsu-login-note,
.bsu-learning-header,
.bsu-final-block,
.bsu-docs-block,
.bsu-doc-waiting,
.bsu-cert-ready,
.bsu-review-comment,
.bsu-cert-verify input[type="text"] {
  background: #ffffff;
  border-color: #b8d4e6;
  color: #000000;
}

.bsu-lesson-step.is-active-step {
  border-color: #65bdd3;
  box-shadow: 0 0 0 2px #65bdd34d;
}

.bsu-lesson-step.is-done-step,
.bsu-lesson-step.is-upcoming-step {
  background: #b8d4e64d;
}

.bsu-step-state.is-open {
  background: #b8d4e64d;
  border-color: #65bdd3;
  color: #000000;
}

.bsu-step-state.is-done {
  background: #fbe4bf;
  border-color: #65bdd3;
  color: #000000;
}

.bsu-question-feedback.is-correct {
  border-color: #65bdd3;
  background: #b8d4e64d;
  color: #000000;
}

.bsu-question-feedback.is-incorrect {
  border-color: #fbe4bf;
  background: #fbe4bf66;
  color: #000000;
}

.bsu-ajax-result.is-success,
.bsu-verify-valid {
  color: #000000;
}

.bsu-ajax-result.is-error,
.bsu-verify-invalid {
  color: #000000;
}

/* Quiz text should stay readable; palette is decorative */
.bsu-quiz h6,
.bsu-question legend,
.bsu-question-prompt,
.bsu-question label,
.bsu-question .bsu-sort-item-label,
.bsu-question .bsu-sort-move,
.bsu-quiz-step-indicator,
.bsu-pass-note,
.bsu-attempt-note,
.bsu-feedback-item {
  color: #000000;
}

.bsu-question label {
  font-weight: 600;
}

/* Unga Ornar palette (sparse): blue + green + light yellow */
.bsu-course,
.bsu-dashboard,
.bsu-cert-verify {
  --bsu-ui-blue: #65bdd3;
  --bsu-ui-green: #408064;
  --bsu-ui-sand: #fbe4bf;
  --bsu-ui-black: #000000;
  --bsu-ui-white: #ffffff;
}

.bsu-course,
.bsu-dashboard,
.bsu-cert-verify,
.bsu-course :where(h2, h3, h4, h5, h6, p, li, span, label),
.bsu-dashboard :where(h2, h3, h4, h5, h6, p, li, span, label),
.bsu-cert-verify :where(h2, h3, h4, h5, h6, p, li, span, label) {
  color: var(--bsu-ui-black);
}

.bsu-course :where(button, .button, a.button, input, textarea, select):focus-visible,
.bsu-dashboard :where(button, .button, a.button):focus-visible,
.bsu-cert-verify :where(button, .button, input):focus-visible {
  outline: 3px solid var(--bsu-ui-blue);
  outline-offset: 2px;
}

.bsu-course .button,
.bsu-dashboard .button,
.bsu-cert-verify .button {
  background: var(--bsu-ui-white);
  border-color: var(--bsu-ui-blue);
  color: var(--bsu-ui-black);
}

.bsu-course .button:hover,
.bsu-course .button:focus,
.bsu-dashboard .button:hover,
.bsu-dashboard .button:focus,
.bsu-cert-verify .button:hover,
.bsu-cert-verify .button:focus {
  background: #65bdd333;
  border-color: var(--bsu-ui-blue);
  color: var(--bsu-ui-black);
}

.bsu-course .button.button-primary,
.bsu-dashboard .button.button-primary,
.bsu-course .button.bsu-segment-cta-start,
.bsu-course .button.bsu-segment-cta-begin,
.bsu-course .button.bsu-go-next {
  background: var(--bsu-ui-green);
  border-color: var(--bsu-ui-green);
  color: var(--bsu-ui-white);
}

.bsu-course .button.button-primary:hover,
.bsu-course .button.button-primary:focus,
.bsu-dashboard .button.button-primary:hover,
.bsu-dashboard .button.button-primary:focus,
.bsu-course .button.bsu-segment-cta-start:hover,
.bsu-course .button.bsu-segment-cta-start:focus,
.bsu-course .button.bsu-segment-cta-begin:hover,
.bsu-course .button.bsu-segment-cta-begin:focus,
.bsu-course .button.bsu-go-next:hover,
.bsu-course .button.bsu-go-next:focus {
  background: var(--bsu-ui-green);
  border-color: var(--bsu-ui-green);
  color: var(--bsu-ui-white);
  filter: brightness(0.92);
}

.bsu-course .button.button-secondary,
.bsu-course .button.bsu-segment-overview-link {
  background: var(--bsu-ui-sand);
  border-color: var(--bsu-ui-blue);
  color: var(--bsu-ui-black);
}

.bsu-content-segment[data-segment-stage="start"] .bsu-segment-stage-start {
  background: linear-gradient(145deg, #65bdd333 0%, #fbe4bf66 100%);
}

.bsu-learning-sidebar .bsu-segment-switch,
.bsu-sidebar-lesson-tabs .bsu-step-tab,
.bsu-step-tab {
  background: var(--bsu-ui-white);
  border-color: var(--bsu-ui-blue);
  color: var(--bsu-ui-black);
}

.bsu-learning-sidebar .bsu-segment-switch:hover,
.bsu-learning-sidebar .bsu-segment-switch:focus,
.bsu-sidebar-lesson-tabs .bsu-step-tab:hover,
.bsu-sidebar-lesson-tabs .bsu-step-tab:focus,
.bsu-step-tab:hover,
.bsu-step-tab:focus {
  background: #65bdd333;
  border-color: var(--bsu-ui-blue);
  color: var(--bsu-ui-black);
}

.bsu-learning-sidebar .bsu-segment-switch.is-active {
  background: #65bdd34d;
  border-color: var(--bsu-ui-blue);
  color: var(--bsu-ui-black);
}

.bsu-sidebar-lesson-tabs .bsu-step-tab.is-active,
.bsu-step-tab.is-active,
.bsu-final-menu-link.is-active {
  background: var(--bsu-ui-green);
  border-color: var(--bsu-ui-green);
  color: var(--bsu-ui-white);
}

.bsu-sidebar-lesson-tabs .bsu-step-tab.is-complete,
.bsu-sidebar-lesson-tabs .bsu-step-tab.is-complete.is-active,
.bsu-step-tab.is-complete,
.bsu-learning-sidebar .bsu-segment-switch.is-complete {
  background: var(--bsu-ui-sand);
  border-color: var(--bsu-ui-blue);
  color: var(--bsu-ui-black);
}

.bsu-status-pill {
  background: var(--bsu-ui-white);
  border-color: var(--bsu-ui-blue);
  color: var(--bsu-ui-black);
}

.bsu-status-pill.status-in_progress {
  background: #65bdd333;
}

.bsu-status-pill.status-final_exam_passed,
.bsu-status-pill.status-docs_submitted,
.bsu-status-pill.status-approved,
.bsu-status-pill.status-cert_issued {
  background: var(--bsu-ui-sand);
}

.bsu-status-pill.status-rejected,
.bsu-status-pill.status-cert_revoked {
  border-color: var(--bsu-ui-black);
  background: var(--bsu-ui-white);
}

.bsu-step-panel.is-active,
.bsu-question,
.bsu-lesson-step,
.bsu-exercise,
.bsu-quiz,
.bsu-course-intro,
.bsu-login-note,
.bsu-learning-header,
.bsu-final-block,
.bsu-docs-block,
.bsu-doc-waiting,
.bsu-cert-ready,
.bsu-review-comment,
.bsu-cert-verify input[type="text"] {
  background: var(--bsu-ui-white);
  border-color: var(--bsu-ui-blue);
  color: var(--bsu-ui-black);
}

.bsu-lesson-step.is-active-step {
  border-color: var(--bsu-ui-green);
  box-shadow: 0 0 0 2px #40806433;
}

.bsu-lesson-step.is-done-step,
.bsu-lesson-step.is-upcoming-step,
.bsu-step-state.is-open,
.bsu-question-feedback.is-correct {
  background: #65bdd333;
  border-color: var(--bsu-ui-blue);
  color: var(--bsu-ui-black);
}

.bsu-step-state.is-done,
.bsu-question-feedback.is-incorrect {
  background: #fbe4bf66;
  border-color: var(--bsu-ui-sand);
  color: var(--bsu-ui-black);
}

.bsu-quiz h6,
.bsu-question legend,
.bsu-question-prompt,
.bsu-question label,
.bsu-question .bsu-sort-item-label,
.bsu-question .bsu-sort-move,
.bsu-quiz-step-indicator,
.bsu-pass-note,
.bsu-attempt-note,
.bsu-feedback-item {
  color: var(--bsu-ui-black);
}
