:root{
  --lm-focus: 0 0 0 .25rem rgba(99,102,241,.22);
  --lm-gradient: linear-gradient(135deg, var(--lm-primary), #8b5cf6);
}

/* Page rhythm */
.container-fluid{
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

.lm-page-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap: 1rem;
  margin: .25rem 0 1rem;
}

.lm-page-header__title{
  margin: 0;
  font-weight: 700;
  letter-spacing: -.02em;
}

.lm-page-header__subtitle{
  margin: .25rem 0 0;
  color: var(--lm-muted);
}

.lm-toolbar{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap: .5rem;
}

/* Dashboard menu cards */
.lm-menu-card{
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.lm-menu-card:hover{
  transform: translateY(-2px);
  box-shadow: var(--lm-shadow);
}

.lm-menu-card__img{
  width: 52px;
  height: 52px;
  border-radius: 14px;
  object-fit: cover;
  border: 1px solid rgba(15,23,42,.10);
}

.lm-menu-card__icon{
  width: 52px;
  height: 52px;
  border-radius: 16px;
  display:flex;
  align-items:center;
  justify-content:center;
  background: rgba(99,102,241,.10);
  border: 1px solid rgba(99,102,241,.18);
  color: var(--lm-primary);
  font-size: 1.2rem;
}

.lm-menu-card__title{
  font-weight: 700;
  letter-spacing: -.01em;
  color: var(--lm-text);
}

.lm-menu-card__hint{
  font-size: .85rem;
}

/* Stat cards */
.lm-stat{
  border: 1px solid var(--lm-border) !important;
  border-radius: calc(var(--lm-radius) + 2px) !important;
  overflow: hidden;
}

.lm-stat--link{
  cursor: pointer;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.lm-stat--link:hover{
  transform: translateY(-2px);
  box-shadow: var(--lm-shadow);
  border-color: rgba(99,102,241,.26) !important;
  text-decoration: none;
}

.lm-stat__label{
  color: var(--lm-muted);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  font-size: .72rem;
}

.lm-stat__value{
  font-weight: 700;
  letter-spacing: -.02em;
  font-size: 1.42rem;
  line-height: 1.15;
  margin-top: .15rem;
}

.lm-stat__icon{
  width: 44px;
  height: 44px;
  border-radius: 16px;
  display:flex;
  align-items:center;
  justify-content:center;
  color: white;
  box-shadow: 0 14px 30px rgba(2,6,23,.10);
}

.lm-stat--primary .lm-stat__icon{ background: var(--lm-gradient); }
.lm-stat--success .lm-stat__icon{ background: linear-gradient(135deg, #22c55e, #16a34a); }
.lm-stat--warning .lm-stat__icon{ background: linear-gradient(135deg, #f59e0b, #f97316); }
.lm-stat--danger .lm-stat__icon{ background: linear-gradient(135deg, #ef4444, #fb7185); }
.lm-stat--info .lm-stat__icon{ background: linear-gradient(135deg, #3b82f6, #06b6d4); }

/* Recent activity */
.lm-activity-item{
  border-radius: var(--lm-radius-sm) !important;
  transition: transform .12s ease, box-shadow .12s ease;
}

.lm-activity-item:hover{
  transform: translateY(-1px);
  box-shadow: var(--lm-shadow-sm);
}

.lm-activity-item__dot{
  width: 38px;
  height: 38px;
  border-radius: 14px;
  display:flex;
  align-items:center;
  justify-content:center;
  border: 1px solid rgba(15,23,42,.10);
  background: rgba(15,23,42,.03);
  color: rgba(15,23,42,.72);
}

.lm-activity-item__dot--success{
  background: rgba(34,197,94,.12);
  border-color: rgba(34,197,94,.18);
  color: #16a34a;
}

.lm-activity-item__dot--danger{
  background: rgba(239,68,68,.10);
  border-color: rgba(239,68,68,.18);
  color: #ef4444;
}

.lm-activity-item__dot--warning{
  background: rgba(245,158,11,.12);
  border-color: rgba(245,158,11,.18);
  color: #f59e0b;
}

.lm-activity-item__dot--primary{
  background: rgba(99,102,241,.12);
  border-color: rgba(99,102,241,.18);
  color: var(--lm-primary);
}

.lm-activity-item__title{
  font-weight: 800;
  letter-spacing: -.01em;
  color: var(--lm-text);
}

.lm-activity-item__sub{
  font-size: .85rem;
}

/* Student dashboard */
.lm-student-hero{
  border: 1px solid var(--lm-border) !important;
  border-radius: calc(var(--lm-radius) + 6px) !important;
  background:
    radial-gradient(800px 320px at 0% 0%, rgba(99,102,241,.14), transparent 58%),
    radial-gradient(700px 300px at 100% 100%, rgba(34,197,94,.10), transparent 58%),
    #fff;
}

.lm-student-hero__eyebrow{
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-weight: 800;
  color: var(--lm-primary);
  margin-bottom: .4rem;
}

.lm-student-hero__title{
  font-weight: 900;
  letter-spacing: -.02em;
  font-size: clamp(1.25rem, 2vw, 1.8rem);
}

.lm-student-hero__score{
  border: 1px solid rgba(99,102,241,.18);
  border-radius: 16px;
  background: rgba(99,102,241,.06);
  padding: .9rem;
}

.lm-student-hero__score-label{
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-weight: 800;
  color: var(--lm-muted);
}

.lm-student-hero__score-value{
  font-weight: 900;
  font-size: 2rem;
  letter-spacing: -.03em;
  line-height: 1.1;
  margin: .1rem 0 .55rem;
}

.lm-term-progress-item{
  border: 1px solid var(--lm-border);
  border-radius: var(--lm-radius-sm);
  padding: .85rem;
  margin-bottom: .75rem;
  background: rgba(15,23,42,.02);
}

.lm-term-progress-item:last-child{
  margin-bottom: 0;
}

.lm-student-shell{
  display: block;
}

.lm-student-hero-v2{
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(148,163,184,.20);
  border-radius: 28px;
  padding: 2rem;
  background:
    radial-gradient(circle at top left, rgba(96,165,250,.20), transparent 34%),
    radial-gradient(circle at bottom right, rgba(251,191,36,.16), transparent 30%),
    linear-gradient(135deg, #ffffff 0%, #f7fbff 48%, #eef6ff 100%);
  color: #0f172a;
  box-shadow: 0 20px 50px rgba(15,23,42,.12);
}

.lm-student-hero-v2__backdrop{
  position: absolute;
  inset: auto -8% -35% auto;
  width: 280px;
  height: 280px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(59,130,246,.14), rgba(59,130,246,0));
  pointer-events: none;
}

.lm-student-hero-v2__grid{
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(300px, .8fr);
  gap: 1.5rem;
  align-items: stretch;
}

.lm-student-hero-v2__main,
.lm-student-hero-v2__side{
  display: flex;
  flex-direction: column;
}

.lm-student-hero-v2__eyebrow{
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: #4f46e5;
  margin-bottom: .85rem;
}

.lm-student-hero-v2__title{
  font-size: clamp(2rem, 4vw, 3.25rem);
  line-height: .95;
  margin: 0 0 1rem;
  color: #0f172a;
}

.lm-student-hero-v2__copy{
  max-width: 56rem;
  font-size: 1rem;
  line-height: 1.75;
  color: #475569;
  margin-bottom: 1.25rem;
}

.lm-student-hero-v2__pills{
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  margin-bottom: 1.5rem;
}

.lm-student-pill{
  display: inline-flex;
  align-items: center;
  padding: .65rem .95rem;
  border-radius: 999px;
  border: 1px solid rgba(99,102,241,.16);
  background: rgba(255,255,255,.86);
  color: #334155;
  font-size: .9rem;
  font-weight: 600;
  backdrop-filter: blur(10px);
}

.lm-student-hero-v2__actions{
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  margin-top: auto;
}

.lm-student-hero-v2__ghost{
  border-color: rgba(99,102,241,.18) !important;
  color: #1e293b !important;
  background: rgba(255,255,255,.74) !important;
}

.lm-student-spotlight,
.lm-student-hero-v2__progress-card{
  border: 1px solid rgba(148,163,184,.18);
  border-radius: 22px;
  background: rgba(255,255,255,.78);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.70);
  backdrop-filter: blur(12px);
}

.lm-student-spotlight{
  padding: 1.2rem 1.25rem;
  margin-bottom: 1rem;
}

.lm-student-spotlight__label,
.lm-student-hero-v2__progress-label{
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #6366f1;
}

.lm-student-spotlight__value{
  font-size: 3rem;
  line-height: 1;
  font-weight: 800;
  color: #0f172a;
  margin: .55rem 0 .35rem;
}

.lm-student-spotlight__hint,
.lm-student-hero-v2__progress-note{
  color: #64748b;
  font-size: .92rem;
}

.lm-student-hero-v2__progress-card{
  padding: 1.25rem;
  margin-top: auto;
}

.lm-student-hero-v2__progress-value{
  font-size: 1.15rem;
  font-weight: 700;
  color: #0f172a;
}

.lm-student-hero-v2__progress-percent{
  font-size: 2rem;
  font-weight: 800;
  color: #7c3aed;
  line-height: 1;
}

.lm-student-hero-v2__progress-note{
  margin-top: .85rem;
}

.lm-student-metric{
  height: 100%;
  min-height: 170px;
  padding: 1.2rem 1.15rem;
  border-radius: 22px;
  border: 1px solid var(--lm-border);
  background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,250,252,.9));
  box-shadow: var(--lm-shadow-sm);
  position: relative;
  overflow: hidden;
}

.lm-student-metric::after{
  content: "";
  position: absolute;
  inset: auto -20px -28px auto;
  width: 94px;
  height: 94px;
  border-radius: 50%;
  opacity: .14;
}

.lm-student-metric--indigo::after{ background: #4f46e5; }
.lm-student-metric--emerald::after{ background: #059669; }
.lm-student-metric--sky::after{ background: #0284c7; }
.lm-student-metric--amber::after{ background: #d97706; }

.lm-student-metric__label{
  font-size: .8rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--lm-muted);
}

.lm-student-metric__value{
  font-size: 2rem;
  font-weight: 800;
  line-height: 1.05;
  margin: .7rem 0 .55rem;
  color: var(--lm-text);
}

.lm-student-metric__meta{
  color: var(--lm-muted);
  font-size: .92rem;
  max-width: 18rem;
}

.lm-student-panel{
  border: 1px solid var(--lm-border) !important;
  border-radius: 24px !important;
  box-shadow: var(--lm-shadow-sm);
  background: rgba(255,255,255,.94);
}

.lm-student-panel--feature{
  background:
    radial-gradient(circle at top right, rgba(99,102,241,.08), transparent 28%),
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.95));
}

.lm-student-panel__header{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.lm-student-panel__eyebrow{
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--lm-primary);
  margin-bottom: .35rem;
}

.lm-student-panel__title{
  font-size: 1.4rem;
  margin: 0;
}

.lm-student-resume{
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem;
  padding: 1.15rem 1.15rem 1rem;
  border-radius: 20px;
  background: linear-gradient(135deg, rgba(14,165,233,.08), rgba(79,70,229,.08));
  border: 1px solid rgba(99,102,241,.14);
}

.lm-student-resume__label{
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--lm-primary);
}

.lm-student-resume__title{
  font-size: 1.35rem;
  font-weight: 700;
  margin-top: .35rem;
}

.lm-student-resume__meta{
  color: var(--lm-muted);
  margin-top: .35rem;
}

.lm-student-resume__bar{
  grid-column: 1 / -1;
}

.lm-student-roadmap{
  display: grid;
  gap: 1rem;
}

.lm-student-roadmap__item{
  border: 1px solid var(--lm-border);
  border-radius: 20px;
  padding: 1rem;
  background: #fff;
}

.lm-student-roadmap__row{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: .35rem;
}

.lm-student-roadmap__title{
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--lm-text);
}

.lm-student-roadmap__subtitle,
.lm-student-roadmap__meta{
  color: var(--lm-muted);
  font-size: .92rem;
}

.lm-student-roadmap__score{
  font-size: 1.25rem;
  font-weight: 800;
  color: var(--lm-primary);
}

.lm-student-roadmap__bar{
  margin: .8rem 0;
}

.lm-student-roadmap__footer{
  display: flex;
  justify-content: flex-end;
}

.lm-student-stack{
  display: flex;
  flex-direction: column;
}

.lm-student-actions-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .8rem;
}

.lm-student-action{
  display: flex;
  flex-direction: column;
  gap: .2rem;
  padding: 1rem;
  min-height: 110px;
  border-radius: 18px;
  border: 1px solid var(--lm-border);
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.94));
  color: var(--lm-text);
  text-decoration: none !important;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.lm-student-action:hover{
  transform: translateY(-2px);
  box-shadow: var(--lm-shadow-sm);
  border-color: rgba(99,102,241,.24);
  color: var(--lm-text);
}

.lm-student-action span{
  font-weight: 700;
}

.lm-student-action small{
  color: var(--lm-muted);
  line-height: 1.5;
}

.lm-student-snapshot{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .85rem;
}

.lm-student-snapshot__item{
  padding: .95rem 1rem;
  border-radius: 18px;
  background: rgba(15,23,42,.03);
  border: 1px solid var(--lm-border);
}

.lm-student-snapshot__item span{
  display: block;
  color: var(--lm-muted);
  font-size: .86rem;
  margin-bottom: .4rem;
}

.lm-student-snapshot__item strong{
  font-size: 1.4rem;
  line-height: 1;
  color: var(--lm-text);
}

.lm-student-empty{
  padding: 1.2rem;
  border-radius: 18px;
  border: 1px dashed rgba(100,116,139,.32);
  background: rgba(248,250,252,.7);
}

.lm-student-empty__title{
  font-weight: 700;
  color: var(--lm-text);
  margin-bottom: .25rem;
}

.lm-student-empty__copy{
  color: var(--lm-muted);
}

/* Slightly nicer scrollbars on desktop */
@media (pointer:fine){
  .lm-admin ::-webkit-scrollbar{ width: 10px; height: 10px; }
  .lm-admin ::-webkit-scrollbar-thumb{ background: rgba(15,23,42,.16); border-radius: 999px; }
  .lm-admin ::-webkit-scrollbar-track{ background: transparent; }
}

/* Auth polish */
.lm-auth-shell{
  max-width: 1100px;
}

.lm-auth-card{
  border: 1px solid var(--lm-border) !important;
  border-radius: calc(var(--lm-radius) + 10px) !important;
  overflow: hidden;
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(10px);
}

.lm-auth-aside{
  min-height: 520px;
  background:
    radial-gradient(900px 650px at 20% 20%, rgba(99,102,241,.26), transparent 55%),
    radial-gradient(800px 600px at 80% 20%, rgba(34,197,94,.18), transparent 55%),
    linear-gradient(180deg, rgba(2,6,23,.90), rgba(2,6,23,.78));
  color: rgba(255,255,255,.92);
}

.lm-auth-brand{
  font-weight: 900;
  letter-spacing: -.03em;
  font-size: 1.6rem;
}

.lm-auth-bullets{
  margin: 0;
  padding-left: 1.1rem;
  color: rgba(255,255,255,.78);
}

.lm-auth-bullets li{
  margin-bottom: .5rem;
}

.lm-auth-form-title{
  font-weight: 900;
  letter-spacing: -.02em;
}

/* Inputs */
.input-group-text{
  border-radius: 14px !important;
  border: 1px solid rgba(15,23,42,.14) !important;
  background: rgba(15,23,42,.03) !important;
}

.custom-control-input:focus ~ .custom-control-label::before{
  box-shadow: var(--lm-focus) !important;
}

/* Make cards feel less �boxed� */
.card .card-header h1,
.card .card-header h2,
.card .card-header h3,
.card .card-header h4,
.card .card-header h5,
.card .card-header h6{
  margin: 0;
  font-weight: 600 !important;
  letter-spacing: -.015em;
}

/* Links */
a{
  text-underline-offset: 3px;
}

a:hover{
  text-decoration: none;
}

/* Badges / pills */
.badge{
  border-radius: 999px;
  padding: .4em .7em;
}

/* Progress */
.progress{
  border-radius: 999px !important;
  overflow: hidden;
  background: rgba(15,23,42,.06) !important;
}

.progress-bar{
  border-radius: 999px !important;
}

/* Tables: tighten + soften */
.table td, .table th{
  vertical-align: middle;
}

.table-hover tbody tr:hover{
  background: rgba(99,102,241,.06) !important;
}

/* Nav tabs */
.nav-tabs{
  border-bottom: 1px solid var(--lm-border) !important;
}

.nav-tabs .nav-link{
  border: 1px solid transparent !important;
  border-radius: 999px !important;
  font-weight: 700;
  color: rgba(15,23,42,.72);
}

.nav-tabs .nav-link.active{
  background: rgba(99,102,241,.10) !important;
  border-color: rgba(99,102,241,.18) !important;
  color: rgba(15,23,42,.92) !important;
}

/* Dropdown polish */
.dropdown-menu{
  border-radius: 14px !important;
  border: 1px solid var(--lm-border) !important;
  box-shadow: var(--lm-shadow-sm);
}

/* Sidebar toggler visibility */
#sidebarToggle{
  box-shadow: none !important;
}

/* Topbar refinements (on top of laramint-modern.css) */
.topbar .nav-link{
  border-radius: 999px;
}

.topbar .nav-link:hover{
  background: rgba(99,102,241,.08);
}

.topbar .img-profile{
  border: 2px solid rgba(99,102,241,.16);
}

@media (max-width: 1199.98px){
  .lm-student-hero-v2__grid{
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767.98px){
  .lm-student-hero-v2{
    padding: 1.25rem;
    border-radius: 22px;
  }

  .lm-student-actions-grid,
  .lm-student-snapshot{
    grid-template-columns: 1fr;
  }

  .lm-student-resume{
    grid-template-columns: 1fr;
  }

  .lm-student-metric{
    min-height: 150px;
  }
}

.lm-course-shell,
.lm-watch-shell{
  display: block;
}

.lm-course-hero{
  border: 1px solid var(--lm-border) !important;
  border-radius: 28px !important;
  background:
    radial-gradient(circle at top left, rgba(59,130,246,.16), transparent 30%),
    radial-gradient(circle at bottom right, rgba(34,197,94,.14), transparent 28%),
    linear-gradient(135deg, #ffffff, #f8fbff);
}

.lm-course-hero__eyebrow,
.lm-course-board__eyebrow,
.lm-watch-stage__eyebrow,
.lm-section-head__eyebrow{
  font-size: .74rem;
  text-transform: uppercase;
  letter-spacing: .09em;
  font-weight: 800;
  color: #0f766e;
  margin-bottom: .45rem;
}

.lm-course-hero__title,
.lm-course-board__title,
.lm-watch-stage__title,
.lm-section-head__title{
  font-weight: 900;
  letter-spacing: -.03em;
}

.lm-course-hero__copy,
.lm-watch-stage__description{
  color: var(--lm-muted);
  max-width: 62ch;
}

.lm-course-kpi{
  border: 1px solid rgba(15,23,42,.08);
  border-radius: 20px;
  background: rgba(255,255,255,.82);
  padding: 1rem;
  min-height: 110px;
}

.lm-course-kpi__label{
  color: var(--lm-muted);
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: .72rem;
  font-weight: 800;
}

.lm-course-kpi__value{
  margin-top: .5rem;
  font-size: 1.9rem;
  font-weight: 900;
  letter-spacing: -.04em;
  color: #111827;
}

.lm-course-select{
  display: block;
  height: 100%;
  border: 1px solid var(--lm-border);
  border-radius: 22px;
  padding: 1.1rem 1.15rem;
  background: #fff;
  color: inherit;
  text-decoration: none;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.lm-course-select:hover{
  color: inherit;
  text-decoration: none;
  transform: translateY(-2px);
  box-shadow: var(--lm-shadow-sm);
}

.lm-course-select--active{
  border-color: rgba(15,118,110,.36);
  background: linear-gradient(135deg, rgba(15,118,110,.08), rgba(59,130,246,.05));
}

.lm-course-select__label{
  color: var(--lm-muted);
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-weight: 800;
}

.lm-course-select__title{
  margin-top: .4rem;
  font-size: 1.05rem;
  font-weight: 800;
  color: #0f172a;
}

.lm-course-select__meta{
  margin-top: .95rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #0f766e;
  font-weight: 700;
}

.lm-course-board{
  padding: 1.5rem;
}

.lm-course-board__head{
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.25rem;
}

.lm-course-board__hint{
  color: var(--lm-muted);
  font-size: .92rem;
}

.lm-course-roadmap{
  display: grid;
  gap: 1rem;
}

.lm-lesson-card{
  display: grid;
  grid-template-columns: 72px 1fr;
  gap: 1rem;
  border: 1px solid var(--lm-border);
  border-radius: 24px;
  padding: 1.15rem;
  background:
    linear-gradient(135deg, rgba(248,250,252,.96), rgba(255,255,255,1));
}

.lm-lesson-card__index{
  width: 72px;
  height: 72px;
  border-radius: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.1rem;
  font-weight: 900;
  letter-spacing: .08em;
  color: #0f766e;
  background: linear-gradient(135deg, rgba(15,118,110,.14), rgba(59,130,246,.10));
}

.lm-lesson-card__title{
  font-size: 1.08rem;
  font-weight: 900;
  letter-spacing: -.02em;
  color: #0f172a;
}

.lm-lesson-card__sub,
.lm-lesson-card__description{
  color: var(--lm-muted);
}

.lm-lesson-card__status{
  border-radius: 999px;
  padding: .45rem .75rem;
  font-size: .8rem;
  font-weight: 800;
  background: rgba(148,163,184,.14);
  color: #334155;
}

.lm-lesson-card__status--done{
  background: rgba(34,197,94,.12);
  color: #15803d;
}

.lm-lesson-card__status--watch{
  background: rgba(245,158,11,.15);
  color: #b45309;
}

.lm-lesson-card__status--todo{
  background: rgba(59,130,246,.14);
  color: #1d4ed8;
}

.lm-lesson-card__footer{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}

.lm-lesson-card__meta,
.lm-lesson-card__actions,
.lm-watch-actions{
  display: flex;
  align-items: center;
  gap: .6rem;
  flex-wrap: wrap;
}

.lm-pill{
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: .45rem .7rem;
  background: rgba(15,23,42,.06);
  color: #334155;
  font-size: .8rem;
  font-weight: 700;
}

.lm-pill--success{
  background: rgba(34,197,94,.12);
  color: #15803d;
}

.lm-watch-stage,
.lm-playlist-card{
  border: 1px solid var(--lm-border) !important;
  border-radius: 26px !important;
}

.lm-watch-stage__player{
  margin-top: 1.25rem;
  border-radius: 24px;
  overflow: hidden;
  background: #0f172a;
  border: 1px solid rgba(15,23,42,.14);
}

.lm-watch-stage__player video{
  display: block;
  width: 100%;
  max-height: 560px;
  background: #020617;
}

.lm-watch-stage__progress{
  color: var(--lm-muted);
  font-size: .95rem;
}

.lm-section-head{
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
}

.lm-section-head__meta{
  color: var(--lm-muted);
  font-weight: 700;
}

.lm-practice-list{
  display: grid;
  gap: .85rem;
}

.lm-practice-item{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  border: 1px solid var(--lm-border);
  border-radius: 18px;
  padding: 1rem;
  color: inherit;
  text-decoration: none;
  background: #fff;
}

.lm-practice-item:hover{
  color: inherit;
  text-decoration: none;
  box-shadow: var(--lm-shadow-sm);
}

.lm-practice-item--done{
  background: rgba(34,197,94,.06);
  border-color: rgba(34,197,94,.18);
}

.lm-practice-item--locked{
  pointer-events: none;
  background: linear-gradient(135deg, rgba(148,163,184,.10), rgba(241,245,249,.88));
  border-style: dashed;
  border-color: rgba(148,163,184,.45);
  box-shadow: none !important;
}

.lm-practice-item--locked .lm-practice-item__title,
.lm-practice-item--locked .lm-practice-item__sub{
  color: #64748b;
}

.lm-practice-item--locked .lm-practice-item__badge{
  background: rgba(148,163,184,.18);
  color: #475569;
}

.lm-practice-item__title{
  font-weight: 800;
  color: #0f172a;
}

.lm-practice-item__sub{
  color: var(--lm-muted);
  font-size: .9rem;
}

.lm-practice-item__badge{
  border-radius: 999px;
  padding: .45rem .7rem;
  background: rgba(15,118,110,.10);
  color: #0f766e;
  font-weight: 800;
  white-space: nowrap;
}

.lm-playlist-card__head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.1rem 1.2rem;
  border-bottom: 1px solid var(--lm-border);
}

.lm-playlist-card__count{
  color: var(--lm-muted);
  font-weight: 800;
}

.lm-playlist{
  display: grid;
}

.lm-playlist-item{
  display: grid;
  grid-template-columns: 54px 1fr;
  gap: .85rem;
  padding: 1rem 1.2rem;
  border-bottom: 1px solid rgba(15,23,42,.06);
  color: inherit;
  text-decoration: none;
  transition: background .16s ease;
}

.lm-playlist-item:hover{
  color: inherit;
  text-decoration: none;
  background: rgba(59,130,246,.05);
}

.lm-playlist-item--active{
  background: linear-gradient(135deg, rgba(15,118,110,.10), rgba(59,130,246,.08));
}

.lm-playlist-item__index{
  width: 54px;
  height: 54px;
  border-radius: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(15,23,42,.06);
  font-weight: 900;
  color: #0f766e;
}

.lm-playlist-item__title{
  font-weight: 800;
  color: #0f172a;
}

.lm-playlist-item__sub{
  margin-top: .2rem;
  color: var(--lm-muted);
  display: flex;
  gap: .45rem;
  flex-wrap: wrap;
  font-size: .9rem;
}

@media (max-width: 991.98px){
  .lm-course-board__head,
  .lm-section-head{
    align-items: start;
    flex-direction: column;
  }

  .lm-lesson-card{
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767.98px){
  .lm-course-hero,
  .lm-watch-stage,
  .lm-playlist-card{
    border-radius: 22px !important;
  }

  .lm-course-board{
    padding: 1rem;
  }

  .lm-lesson-card{
    padding: 1rem;
    border-radius: 20px;
  }

  .lm-lesson-card__index{
    width: 58px;
    height: 58px;
    border-radius: 18px;
  }
}

.lm-analytics-shell{
  display: block;
}

.lm-analytics-hero{
  border: 1px solid var(--lm-border) !important;
  border-radius: 28px !important;
  background:
    radial-gradient(circle at top left, rgba(34,197,94,.14), transparent 28%),
    radial-gradient(circle at bottom right, rgba(59,130,246,.14), transparent 32%),
    linear-gradient(135deg, #fffdf7, #f8fbff);
}

.lm-analytics-hero__eyebrow,
.lm-analytics-section-head__eyebrow{
  font-size: .74rem;
  text-transform: uppercase;
  letter-spacing: .09em;
  font-weight: 800;
  color: #0f766e;
  margin-bottom: .4rem;
}

.lm-analytics-hero__title,
.lm-analytics-section-head__title{
  font-weight: 700;
  letter-spacing: -.02em;
}

.lm-analytics-hero__copy{
  color: var(--lm-muted);
  max-width: 60ch;
}

.lm-analytics-metric{
  height: 100%;
  border: 1px solid var(--lm-border);
  border-radius: 22px;
  padding: 1.15rem;
  background: #fff;
  box-shadow: var(--lm-shadow-sm);
}

.lm-analytics-metric__label{
  color: var(--lm-muted);
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: .72rem;
  font-weight: 700;
}

.lm-analytics-metric__value{
  margin-top: .45rem;
  font-size: 1.65rem;
  font-weight: 700;
  letter-spacing: -.02em;
}

.lm-analytics-metric__sub{
  margin-top: .35rem;
  color: var(--lm-muted);
  font-size: .9rem;
}

.lm-analytics-metric--primary{ background: linear-gradient(135deg, rgba(99,102,241,.10), #fff); }
.lm-analytics-metric--success{ background: linear-gradient(135deg, rgba(34,197,94,.10), #fff); }
.lm-analytics-metric--info{ background: linear-gradient(135deg, rgba(59,130,246,.10), #fff); }
.lm-analytics-metric--warning{ background: linear-gradient(135deg, rgba(245,158,11,.12), #fff); }

.lm-analytics-section-head{
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
}

.lm-analytics-stack,
.lm-analytics-alert-list,
.lm-analytics-attendance-list,
.lm-analytics-mini-table{
  display: grid;
  gap: .85rem;
}

.lm-analytics-course-row,
.lm-analytics-alert-row,
.lm-analytics-attendance-row,
.lm-analytics-mini-table__row{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  border: 1px solid var(--lm-border);
  border-radius: 18px;
  padding: .9rem 1rem;
  background: rgba(255,255,255,.82);
}

.lm-analytics-course-row__title,
.lm-analytics-alert-row__title,
.lm-analytics-mini-table__title{
  font-weight: 700;
  color: #0f172a;
}

.lm-analytics-course-row__sub,
.lm-analytics-alert-row__sub,
.lm-analytics-mini-table__sub{
  color: var(--lm-muted);
  font-size: .88rem;
}

.lm-analytics-course-row__stats,
.lm-analytics-alert-row__meta{
  display: flex;
  gap: .75rem;
  flex-wrap: wrap;
  color: var(--lm-muted);
  font-size: .88rem;
  justify-content: flex-end;
}

.lm-analytics-attendance-row__count{
  font-weight: 700;
  font-size: 1.05rem;
  color: #0f766e;
}

@media (max-width: 767.98px){
  .lm-analytics-hero{
    border-radius: 22px !important;
  }

  .lm-analytics-course-row,
  .lm-analytics-alert-row,
  .lm-analytics-attendance-row,
  .lm-analytics-mini-table__row{
    align-items: start;
    flex-direction: column;
  }

  .lm-analytics-course-row__stats,
  .lm-analytics-alert-row__meta{
    justify-content: start;
  }
}
.lm-student-hero-v2__title{
  font-family: "Segoe UI", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
  font-weight: 800;
}
