/* RAVID Patch 18 - Student Dashboard Final Real Progress */
#section-student-menu.rv18-student-dashboard {
  --rv18-blue: #2563eb;
  --rv18-cyan: #06b6d4;
  --rv18-ink: #0f172a;
  --rv18-muted: #64748b;
  --rv18-line: rgba(37, 99, 235, .16);
}

#section-student-menu.rv18-student-dashboard .student-hero-card {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(37, 99, 235, .16);
  background:
    radial-gradient(circle at 82% 18%, rgba(59, 130, 246, .16), transparent 32%),
    linear-gradient(135deg, rgba(255,255,255,.98), rgba(239,246,255,.92));
  box-shadow: 0 24px 70px rgba(15, 23, 42, .08);
}

#section-student-menu.rv18-student-dashboard .student-hero-card::after {
  content: "";
  position: absolute;
  right: 8%;
  top: 18%;
  width: 190px;
  height: 190px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(14,165,233,.16), transparent 66%);
  pointer-events: none;
}

.rv18-real-progress-panel {
  display: grid;
  gap: 18px;
  margin: 18px 0 20px;
  padding: 18px;
  border: 1px solid rgba(37, 99, 235, .15);
  border-radius: 28px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.96), rgba(240,249,255,.88)),
    radial-gradient(circle at 90% 20%, rgba(59,130,246,.12), transparent 30%);
  box-shadow: 0 22px 60px rgba(15, 23, 42, .07);
}

.rv18-progress-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.rv18-eyebrow {
  display: inline-flex;
  width: fit-content;
  padding: 7px 12px;
  border-radius: 999px;
  border: 1px solid rgba(37, 99, 235, .16);
  background: rgba(239, 246, 255, .95);
  color: #2563eb;
  font-weight: 900;
  font-size: 12px;
}

.rv18-progress-head h3 {
  margin: 10px 0 6px;
  font-size: clamp(22px, 3vw, 34px);
  line-height: 1.05;
  letter-spacing: -.04em;
  color: var(--rv18-ink);
}

.rv18-progress-head p {
  margin: 0;
  max-width: 680px;
  color: var(--rv18-muted);
  font-weight: 700;
  line-height: 1.65;
}

.rv18-progress-ring {
  width: 106px;
  height: 106px;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background:
    conic-gradient(from -90deg, #2563eb var(--rv18-progress), #eaf2ff 0),
    linear-gradient(135deg, #fff, #f8fbff);
  box-shadow: inset 0 0 0 12px rgba(255,255,255,.8), 0 14px 35px rgba(37,99,235,.16);
  color: var(--rv18-ink);
  text-align: center;
}

.rv18-progress-ring strong {
  display: block;
  font-size: 25px;
  line-height: 1;
  letter-spacing: -.04em;
}

.rv18-progress-ring span {
  display: block;
  margin-top: 4px;
  font-size: 10px;
  font-weight: 900;
  color: #64748b;
}

.rv18-metrics-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.rv18-metric-card {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 112px;
  padding: 16px;
  border-radius: 24px;
  border: 1px solid rgba(148, 163, 184, .2);
  background: rgba(255,255,255,.92);
  box-shadow: 0 16px 40px rgba(15, 23, 42, .055);
}

.rv18-metric-icon {
  width: 46px;
  height: 46px;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  border-radius: 16px;
  background: linear-gradient(135deg, #eff6ff, #dbeafe);
  box-shadow: inset 0 0 0 1px rgba(37,99,235,.12);
  font-size: 21px;
}

.rv18-metric-card small,
.rv18-metric-card em {
  display: block;
  color: #64748b;
  font-style: normal;
  font-weight: 850;
  line-height: 1.35;
}

.rv18-metric-card strong {
  display: block;
  margin: 3px 0 2px;
  font-size: 25px;
  line-height: 1;
  letter-spacing: -.035em;
  color: var(--rv18-ink);
}

.rv18-metric-card.is-green .rv18-metric-icon { background: linear-gradient(135deg, #dcfce7, #bbf7d0); }
.rv18-metric-card.is-amber .rv18-metric-icon { background: linear-gradient(135deg, #fef3c7, #fde68a); }
.rv18-metric-card.is-blue .rv18-metric-icon { background: linear-gradient(135deg, #dbeafe, #bfdbfe); }
.rv18-metric-card.is-violet .rv18-metric-icon { background: linear-gradient(135deg, #ede9fe, #ddd6fe); }
.rv18-metric-card.is-cyan .rv18-metric-icon { background: linear-gradient(135deg, #cffafe, #bae6fd); }

.rv18-next-step {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px;
  border: 1px solid rgba(34, 197, 94, .18);
  border-radius: 24px;
  background: linear-gradient(135deg, rgba(240,253,244,.94), rgba(255,255,255,.96));
}

.rv18-next-step b,
.rv18-next-step span {
  display: block;
}

.rv18-next-step b {
  color: #14532d;
  font-size: 15px;
  font-weight: 950;
}

.rv18-next-step span {
  margin-top: 4px;
  color: #475569;
  font-weight: 750;
  line-height: 1.45;
}

.rv18-next-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.rv18-next-actions button {
  border: 1px solid rgba(37, 99, 235, .18);
  border-radius: 999px;
  padding: 10px 13px;
  background: #fff;
  color: #1d4ed8;
  font-weight: 950;
  cursor: pointer;
  box-shadow: 0 10px 24px rgba(15, 23, 42, .06);
}

.rv18-next-actions button:hover {
  transform: translateY(-1px);
  box-shadow: 0 14px 30px rgba(37, 99, 235, .12);
}

.rv18-last-activity {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding: 14px 16px;
  border-radius: 20px;
  background: rgba(239,246,255,.72);
  border: 1px dashed rgba(37,99,235,.18);
  color: #475569;
  font-weight: 850;
}

.rv18-last-activity strong {
  color: var(--rv18-ink);
}

.rv18-skeleton {
  padding: 18px;
  border-radius: 22px;
  background: linear-gradient(90deg, rgba(239,246,255,.8), rgba(255,255,255,.96), rgba(239,246,255,.8));
  color: #2563eb;
  font-weight: 900;
}

#section-student-menu.rv18-student-dashboard .student-menu-grid {
  gap: 14px;
}

#section-student-menu.rv18-student-dashboard .student-menu-card {
  border-radius: 24px;
  border-color: rgba(37,99,235,.16);
  background: rgba(255,255,255,.92);
  box-shadow: 0 18px 42px rgba(15, 23, 42, .06);
}

@media (max-width: 900px) {
  .rv18-progress-head,
  .rv18-next-step,
  .rv18-last-activity {
    align-items: flex-start;
    flex-direction: column;
  }

  .rv18-metrics-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .rv18-next-actions {
    justify-content: flex-start;
  }
}

@media (max-width: 560px) {
  .rv18-real-progress-panel {
    padding: 14px;
    border-radius: 22px;
  }

  .rv18-metrics-grid {
    grid-template-columns: 1fr;
  }

  .rv18-metric-card {
    min-height: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  .rv18-next-actions button,
  #section-student-menu.rv18-student-dashboard .student-menu-card {
    transition: none !important;
  }
}
