.lm-page {
  --lm-blue: #1746b0;
  --lm-blue-strong: #12378a;
  --lm-cyan: #06788e;
  --lm-ink: #101828;
  --lm-muted: #475467;
  --lm-line: #d7dee9;
  --lm-soft: #f4f7fb;
  --lm-paper: #fff;
  --lm-success: #067647;
  --lm-warning: #9a3412;
  --lm-danger: #b42318;
  --lm-shadow: 0 18px 55px rgb(16 24 40 / 8%);
  width: min(100% - 2rem, 1180px);
  margin: clamp(2rem, 6vw, 5rem) auto;
  color: var(--lm-ink);
  font-family: Vazirmatn, IRANSansX, Tahoma, Arial, sans-serif;
  line-height: 1.75;
  overflow-wrap: anywhere;
}

.lm-home { margin-block-start: clamp(1.5rem, 3vw, 2.5rem); }

.lm-page *, .lm-page *::before, .lm-page *::after { box-sizing: border-box; }
.lm-page h1, .lm-page h2, .lm-page h3, .lm-page p { margin-block-start: 0; }
.lm-page h1, .lm-page h2, .lm-page h3 { line-height: 1.35; letter-spacing: -.025em; }
.lm-page h1 { font-size: clamp(2rem, 5vw, 3.8rem); }
.lm-page h2 { font-size: clamp(1.35rem, 2.8vw, 2.1rem); }
.lm-page h3 { font-size: 1.12rem; }
.lm-page p { color: #344054; }
.lm-page a { text-underline-offset: .2em; }
.lm-page button, .lm-page input, .lm-page select, .lm-page textarea { font: inherit; }
.lm-page textarea { resize: vertical; }
.lm-page [dir="ltr"] { unicode-bidi: isolate; }

.lm-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  margin-bottom: .5rem;
  color: var(--lm-blue);
  font-size: .76rem;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.lm-eyebrow::before { width: 1.4rem; height: 2px; content: ""; background: currentColor; border-radius: 2px; }
.lm-muted, .lm-help { color: var(--lm-muted) !important; font-size: .86rem; }
.lm-lead { font-size: clamp(1.05rem, 2vw, 1.25rem); }

.lm-button {
  min-height: 2.85rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  padding: .65rem 1rem;
  border: 1px solid transparent;
  border-radius: .72rem;
  cursor: pointer;
  font-size: .92rem;
  font-weight: 780;
  line-height: 1.25;
  text-align: center;
  text-decoration: none;
  transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease;
}
.lm-button:not(:disabled):hover { transform: translateY(-1px); }
.lm-button:disabled { cursor: not-allowed; opacity: .58; }
.lm-button--primary { color: #fff !important; background: var(--lm-blue); border-color: var(--lm-blue); box-shadow: 0 8px 20px rgb(23 70 176 / 16%); }
.lm-button--primary:hover { background: var(--lm-blue-strong); border-color: var(--lm-blue-strong); }
.lm-button--secondary { color: var(--lm-ink) !important; background: #fff; border-color: #aeb9c8; }
.lm-button--secondary:hover { color: var(--lm-blue) !important; border-color: var(--lm-blue); background: #f8faff; }
.lm-button--full { width: 100%; }
.lm-actions, .lm-inline-actions { display: flex; align-items: center; flex-wrap: wrap; gap: .75rem; }
.lm-link, .lm-link-button { color: var(--lm-blue); font-weight: 760; text-decoration: none; }
.lm-link:hover, .lm-link-button:hover { text-decoration: underline; }
.lm-link-button { min-height: 2.5rem; padding: .35rem .2rem; background: transparent; border: 0; cursor: pointer; }
.lm-link-button.is-danger { color: var(--lm-danger); }

.lm-hero {
  position: relative;
  min-height: min(32rem, 64vh);
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(19rem, .85fr);
  align-items: center;
  gap: clamp(2rem, 4vw, 4rem);
  padding: clamp(2rem, 4.5vw, 4rem);
  overflow: hidden;
  color: #fff;
  background: radial-gradient(circle at 18% 12%, rgb(6 182 212 / 30%), transparent 30%), linear-gradient(145deg, #0b1734 5%, #12378a 58%, #1746b0);
  border-radius: clamp(1.25rem, 3vw, 2.25rem);
  box-shadow: var(--lm-shadow);
}
.lm-hero::after { position: absolute; width: 18rem; height: 18rem; inset: auto -6rem -7rem auto; content: ""; border: 1px solid rgb(255 255 255 / 18%); border-radius: 50%; box-shadow: 0 0 0 3rem rgb(255 255 255 / 3%), 0 0 0 6rem rgb(255 255 255 / 3%); }
.lm-hero__content { position: relative; z-index: 2; }
.lm-hero .lm-eyebrow { color: #7ee3f2; }
.lm-hero h1 { max-width: 18ch; margin-bottom: 1.1rem; color: #fff; font-size: clamp(2.55rem, 4vw, 3.45rem); line-height: 1.26; text-wrap: balance; }
.lm-hero p { max-width: 49rem; margin-bottom: 1.6rem; color: #dbe8ff; font-size: clamp(1rem, 2vw, 1.2rem); }
.lm-hero .lm-button--primary { color: #10204a !important; background: #fff; border-color: #fff; }
.lm-hero .lm-button--secondary { color: #fff !important; background: rgb(255 255 255 / 7%); border-color: rgb(255 255 255 / 48%); }
.lm-hero__visual { position: relative; z-index: 2; min-height: 20rem; display: grid; place-items: center; }
.lm-orbit { position: relative; width: min(20rem, 100%); aspect-ratio: 1; display: grid; place-items: center; border: 1px solid rgb(255 255 255 / 24%); border-radius: 50%; }
.lm-orbit::before { width: 41%; aspect-ratio: 1; display: grid; place-items: center; content: "LM"; color: #fff; background: rgb(255 255 255 / 12%); border: 1px solid rgb(255 255 255 / 24%); border-radius: 1.6rem 1.6rem .45rem 1.6rem; font-size: 2rem; font-weight: 900; box-shadow: 0 18px 60px rgb(0 0 0 / 22%); }
.lm-orbit span { position: absolute; min-height: 2.5rem; display: inline-flex; align-items: center; padding: .45rem .75rem; color: #fff; background: rgb(11 23 52 / 78%); border: 1px solid rgb(255 255 255 / 20%); border-radius: 999px; font-size: .82rem; }
.lm-orbit span:nth-child(1) { inset-block-start: 2%; }
.lm-orbit span:nth-child(2) { inset-inline-end: -4%; }
.lm-orbit span:nth-child(3) { inset-block-end: 2%; }
.lm-orbit span:nth-child(4) { inset-inline-start: -4%; }

.lm-section { margin-top: clamp(4rem, 8vw, 7rem); }
.lm-home > .lm-section { margin-top: clamp(3rem, 5vw, 4.5rem); }
.lm-section__head { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 1.5rem; }
.lm-section__head h2 { margin-bottom: 0; }
.lm-page-header { max-width: 780px; margin-bottom: clamp(2rem, 5vw, 4rem); }
.lm-page-header h1 { margin-bottom: .85rem; }
.lm-page-header p { max-width: 60ch; font-size: 1.08rem; }

.lm-language-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1rem; }
.lm-language-card, .lm-card, .lm-level-card, .lm-lesson-card, .lm-resource-card {
  background: #fff;
  border: 1px solid var(--lm-line);
  border-radius: 1.1rem;
  box-shadow: 0 8px 28px rgb(16 24 40 / 4%);
}
.lm-language-card { min-height: 14.5rem; display: flex; flex-direction: column; padding: 1.25rem; transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease; }
.lm-language-card:hover { transform: translateY(-3px); border-color: #9eb4e8; box-shadow: 0 18px 38px rgb(16 24 40 / 9%); }
.lm-language-card__top { display: flex; align-items: center; justify-content: space-between; gap: .5rem; color: var(--lm-muted); font-size: .75rem; }
.lm-language-card h3 { margin: 1.4rem 0 .35rem; font-size: 1.35rem; }
.lm-language-card p { font-size: .85rem; }
.lm-language-card .lm-link { margin-top: auto; }
.lm-language-code { width: 2.7rem; height: 2.7rem; display: inline-grid; place-items: center; color: #fff; background: var(--lm-blue); border-radius: .75rem .75rem .2rem .75rem; font-size: .78rem; font-weight: 850; letter-spacing: .05em; }

.lm-step-grid, .lm-benefit-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; padding: 0; list-style: none; }
.lm-step-grid li, .lm-benefit-grid article { position: relative; min-height: 12rem; padding: 1.35rem; background: var(--lm-soft); border: 1px solid #e5eaf1; border-radius: 1rem; }
.lm-step-grid li > span { width: 2.4rem; height: 2.4rem; display: grid; place-items: center; margin-bottom: 1.15rem; color: #fff; background: var(--lm-ink); border-radius: 50%; font-weight: 800; }
.lm-step-grid h3, .lm-benefit-grid h3 { margin-bottom: .55rem; }
.lm-step-grid p, .lm-benefit-grid p { margin-bottom: 0; font-size: .91rem; }
.lm-benefit-grid { grid-template-columns: repeat(4, 1fr); }

.lm-continue, .lm-split-card, .lm-resources-strip, .lm-coach {
  margin-top: 1.25rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  padding: clamp(1.4rem, 4vw, 2.4rem);
  background: #eef4ff;
  border: 1px solid #c7d7f5;
  border-radius: 1.15rem;
}
.lm-continue h2, .lm-split-card h2, .lm-resources-strip h2, .lm-coach h2 { margin-bottom: .35rem; font-size: clamp(1.25rem, 2.6vw, 1.75rem); }
.lm-split-card { margin-top: clamp(4rem, 8vw, 7rem); color: #fff; background: #0b1734; border-color: #0b1734; }
.lm-split-card p { margin-bottom: 0; color: #c9d7ee; }
.lm-split-card .lm-eyebrow { color: #7ee3f2; }
.lm-resources-strip { margin-top: clamp(4rem, 8vw, 7rem); background: #fff; border-style: dashed; }

.lm-breadcrumb { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem; margin-bottom: 1.5rem; color: var(--lm-muted); font-size: .84rem; }
.lm-breadcrumb a { color: var(--lm-blue); text-decoration: none; }
.lm-course-hero, .lm-lesson-hero, .lm-dashboard-hero, .lm-teacher-profile, .lm-pte-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  padding: clamp(1.5rem, 4vw, 2.5rem);
  background: linear-gradient(135deg, #f4f7fb, #fff);
  border: 1px solid var(--lm-line);
  border-radius: 1.4rem;
}
.lm-course-hero h1, .lm-lesson-hero h1, .lm-dashboard-hero h1, .lm-pte-hero h1 { margin: .8rem 0 .5rem; font-size: clamp(2rem, 4.5vw, 3.25rem); }
.lm-progress-card { min-width: 15rem; padding: 1.1rem; background: #fff; border: 1px solid var(--lm-line); border-radius: 1rem; }
.lm-progress-card > strong { display: block; color: var(--lm-blue); font-size: 1.8rem; }
.lm-progress-card > span { color: var(--lm-muted); font-size: .82rem; }
.lm-progress { height: .62rem; overflow: hidden; background: #e3e9f2; border-radius: 999px; }
.lm-progress i { height: 100%; display: block; background: linear-gradient(90deg, var(--lm-cyan), var(--lm-blue)); border-radius: inherit; transition: width .25s ease; }
.lm-progress-card .lm-progress { margin-top: .75rem; }

.lm-track-tabs { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1.25rem 0 2rem; padding: .45rem; background: var(--lm-soft); border: 1px solid #e3e8f0; border-radius: .85rem; }
.lm-track-tabs a, .lm-track-tabs span { min-height: 2.65rem; display: inline-flex; align-items: center; padding: .5rem .9rem; color: #344054; border-radius: .6rem; font-weight: 740; text-decoration: none; }
.lm-track-tabs .is-active { color: var(--lm-blue); background: #fff; box-shadow: 0 4px 14px rgb(16 24 40 / 8%); }

.lm-level-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.lm-level-card { min-height: 12rem; display: flex; align-items: end; justify-content: space-between; gap: 1rem; padding: 1.35rem; }
.lm-level-card h2 { margin: .25rem 0; font-size: 2.2rem; }
.lm-level-card p { margin-bottom: 0; color: var(--lm-muted); font-size: .86rem; }

.lm-lesson-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.lm-lesson-card { min-height: 15rem; display: flex; flex-direction: column; padding: 1.25rem; }
.lm-lesson-card__top, .lm-lesson-card__footer { display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
.lm-lesson-card__top { color: var(--lm-muted); font-size: .82rem; }
.lm-lesson-card h2 { margin: 1rem 0 .6rem; font-size: 1.16rem; }
.lm-lesson-card p { font-size: .86rem; }
.lm-lesson-card__footer { margin-top: auto; }
.lm-status { color: var(--lm-muted); font-size: .78rem; }
.lm-badge { min-height: 1.7rem; display: inline-flex; align-items: center; padding: .2rem .55rem; color: #344054; background: #eef2f6; border-radius: 999px; font-size: .72rem; font-weight: 750; }
.lm-badge--free, .lm-badge--verified, .lm-badge--status-confirmed, .lm-badge--status-completed { color: #05603a; background: #dcfae6; }
.lm-badge--status-pending_payment, .lm-badge--status-reschedule_requested, .lm-badge--status-cancellation_requested, .lm-badge--status-refund_pending { color: #7a2e0e; background: #ffead5; }
.lm-badge--status-refunded, .lm-badge--status-cancelled, .lm-badge--status-expired { color: #475467; background: #eaecf0; }
.lm-note { margin: 1.25rem 0; padding: 1rem 1.15rem; color: #344054; background: #f8fafc; border: 1px solid var(--lm-line); border-inline-start: 4px solid var(--lm-blue); border-radius: .75rem; }

.lm-lesson-hero h1 { display: grid; gap: .25rem; }
.lm-lesson-hero h1 small { color: var(--lm-muted); font-size: .9rem; font-weight: 650; }
.lm-lesson-progress { min-width: 14rem; }
.lm-lesson-progress > span { display: block; margin-bottom: .6rem; color: var(--lm-muted); font-size: .82rem; }
.lm-lesson-shell { display: grid; grid-template-columns: 14rem minmax(0, 1fr); gap: 1.25rem; margin-top: 1.25rem; align-items: start; }
.lm-step-nav { position: sticky; top: 1rem; display: grid; gap: .35rem; padding: .6rem; background: var(--lm-soft); border: 1px solid #e3e8f0; border-radius: 1rem; }
.admin-bar .lm-step-nav { top: 3.2rem; }
.lm-step-nav button { min-height: 3rem; display: flex; align-items: center; gap: .65rem; padding: .45rem .6rem; color: #344054; background: transparent; border: 0; border-radius: .65rem; cursor: pointer; text-align: right; }
.lm-step-nav button span { width: 1.75rem; height: 1.75rem; display: grid; flex: 0 0 auto; place-items: center; color: var(--lm-muted); background: #fff; border: 1px solid var(--lm-line); border-radius: 50%; font-size: .72rem; }
.lm-step-nav button.is-active { color: var(--lm-blue); background: #fff; box-shadow: 0 5px 16px rgb(16 24 40 / 6%); font-weight: 750; }
.lm-step-nav button.is-active span { color: #fff; background: var(--lm-blue); border-color: var(--lm-blue); }
.lm-step-content { min-width: 0; padding: clamp(1.25rem, 4vw, 2.5rem); background: #fff; border: 1px solid var(--lm-line); border-radius: 1.25rem; box-shadow: var(--lm-shadow); }
.lm-lesson-panel { min-height: 26rem; }
.lm-lesson-panel h2 { margin-bottom: 1rem; }
.lm-prose { max-width: 75ch; }
.lm-prose p, .lm-reading { font-size: 1.03rem; line-height: 2; }
.lm-step-actions { display: flex; justify-content: space-between; flex-wrap: wrap; gap: .75rem; margin-top: 2rem; padding-top: 1.25rem; border-top: 1px solid var(--lm-line); }
.lm-live-message { min-height: 1.75rem; margin: .85rem 0 0; color: var(--lm-muted); font-size: .86rem; }

.lm-vocab-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: .75rem; }
.lm-vocab-card { min-height: 4.4rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .85rem 1rem; background: var(--lm-soft); border: 1px solid #e1e7ef; border-radius: .8rem; }
.lm-vocab-card > div { display: grid; }
.lm-vocab-card strong { font-size: 1.02rem; }
.lm-vocab-card span { color: var(--lm-muted); font-size: .8rem; }
.lm-icon-button { width: 2.75rem; height: 2.75rem; flex: 0 0 auto; color: var(--lm-blue); background: #fff; border: 1px solid #b7c3d4; border-radius: 50%; cursor: pointer; }
.lm-practice-block { max-width: 760px; }
.lm-practice-block > p { font-size: 1.02rem; }
.lm-practice-block details, .lm-meeting-form, .lm-application { margin-top: 1rem; }
.lm-page summary { min-height: 2.75rem; display: flex; align-items: center; color: var(--lm-blue); cursor: pointer; font-weight: 750; }
.lm-example-pair { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; margin-top: 1rem; }
.lm-example-pair p { display: grid; gap: .35rem; padding: 1rem; border-radius: .75rem; }
.lm-example-pair .is-wrong { background: #fff1f0; }
.lm-example-pair .is-correct { background: #ecfdf3; }
.lm-example-pair span { font-size: .75rem; font-weight: 800; }
.lm-recorder, .lm-field-row { display: flex; align-items: end; flex-wrap: wrap; gap: .75rem; }
.lm-recorder { margin: 1rem 0; }
.lm-recorder audio { width: min(100%, 30rem); }
.lm-word-count { color: var(--lm-muted) !important; font-size: .82rem !important; }
.lm-feedback { margin-top: 1rem; padding: 1rem; color: #25314b; background: #eef4ff; border: 1px solid #c7d7f5; border-radius: .75rem; }
.lm-feedback.is-success { color: #054f31; background: #ecfdf3; border-color: #a9e8c7; }
.lm-feedback.is-error { color: #8f1b13; background: #fff1f0; border-color: #f2b8b5; }
.lm-coach { align-items: start; margin-top: 1.25rem; background: #f3fbfc; border-color: #b9e6ed; }
.lm-coach > div:first-child { max-width: 34rem; }
.lm-coach form { width: min(100%, 29rem); }

.lm-lesson-navigation { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 1rem; margin-top: 1.25rem; }
.lm-lesson-navigation > a:not(.lm-back-level) { min-height: 4rem; display: grid; padding: .8rem 1rem; color: var(--lm-ink); background: #fff; border: 1px solid var(--lm-line); border-radius: .8rem; text-decoration: none; }
.lm-lesson-navigation > a:last-child { text-align: left; }
.lm-lesson-navigation span { color: var(--lm-muted); font-size: .74rem; }
.lm-lesson-navigation strong { font-size: .85rem; }
.lm-back-level { font-size: .82rem; font-weight: 750; }

.lm-course-list, .lm-booking-list { display: grid; gap: 1rem; }
.lm-card { padding: clamp(1.1rem, 3vw, 1.6rem); }
.lm-card--wide { grid-column: 1 / -1; }
.lm-card__head { display: flex; align-items: center; gap: .75rem; }
.lm-lesson-list { display: grid; margin-top: 1rem; }
.lm-lesson-row { min-height: 3.7rem; display: grid; grid-template-columns: 6rem 1fr auto; align-items: center; gap: 1rem; padding: .65rem 0; color: var(--lm-ink); border-top: 1px solid var(--lm-line); text-decoration: none; }
.lm-lesson-row > span:first-child { color: var(--lm-muted); font-size: .82rem; }

.lm-lock, .lm-empty { padding: clamp(2rem, 7vw, 5rem); text-align: center; background: var(--lm-soft); border: 1px solid var(--lm-line); border-radius: 1.25rem; }
.lm-lock .lm-language-code { margin-bottom: 1rem; }
.lm-lock h1, .lm-empty h1 { max-width: 18ch; margin-inline: auto; }
.lm-lock p, .lm-empty p { max-width: 55ch; margin-inline: auto; }
.lm-lock .lm-actions { justify-content: center; }
.lm-empty--compact { padding: 1.5rem; }
.lm-empty--compact h3 { margin-bottom: .4rem; }
.lm-empty--compact p { margin-bottom: 0; }

.lm-form { display: grid; gap: 1rem; }
.lm-form--wide { max-width: 760px; }
.lm-field { display: grid; gap: .4rem; min-width: 0; }
.lm-field > span, .lm-filter-bar label > span { color: #344054; font-size: .86rem; font-weight: 720; }
.lm-field input, .lm-field select, .lm-field textarea, .lm-filter-bar input, .lm-filter-bar select, .lm-search-form input, .lm-search-form select, .lm-practice-block textarea, .lm-practice-block input {
  width: 100%;
  min-height: 3rem;
  padding: .65rem .8rem;
  color: var(--lm-ink);
  background: #fff;
  border: 1px solid #aeb9c8;
  border-radius: .68rem;
}
.lm-field textarea, .lm-practice-block textarea { min-height: 7rem; }
.lm-field--inline { grid-template-columns: 8rem minmax(0, 1fr); align-items: center; }
.lm-field-row > .lm-field { flex: 1 1 10rem; }
.lm-check, .lm-check-group label { display: flex; align-items: center; gap: .5rem; color: #344054; font-size: .88rem; }
.lm-check input, .lm-check-group input { width: 1.2rem; height: 1.2rem; }
.lm-check-group { display: flex; flex-wrap: wrap; gap: .8rem 1rem; padding: 1rem; border: 1px solid var(--lm-line); border-radius: .75rem; }
.lm-check-group legend { padding: 0 .45rem; font-weight: 750; }
.lm-password { position: relative; display: flex; }
.lm-password input { padding-inline-end: 5rem; }
.lm-password button { position: absolute; inset: .35rem auto .35rem .35rem; min-width: 4rem; color: var(--lm-blue); background: transparent; border: 0; cursor: pointer; }
.lm-otp { max-width: 18rem; font-size: 1.5rem !important; letter-spacing: .45em; text-align: center; }

.lm-auth { min-height: 60vh; display: grid; place-items: center; }
.lm-auth-card { width: min(100%, 34rem); padding: clamp(1.35rem, 5vw, 2.5rem); background: #fff; border: 1px solid var(--lm-line); border-radius: 1.35rem; box-shadow: var(--lm-shadow); }
.lm-auth-intro { margin-bottom: 1.5rem; }
.lm-auth-intro h1 { margin-bottom: .55rem; font-size: clamp(1.8rem, 4vw, 2.6rem); }
.lm-auth-links { display: flex; justify-content: space-between; flex-wrap: wrap; gap: .6rem; font-size: .86rem; }
.lm-inline-form { margin-top: 1rem; text-align: center; }
.lm-consent { color: var(--lm-muted) !important; font-size: .78rem; }
.lm-social-login { display: grid; gap: .7rem; margin-top: 1.25rem; text-align: center; }
.lm-social-login > span { display: flex; align-items: center; gap: .7rem; color: var(--lm-muted); font-size: .8rem; }
.lm-social-login > span::before, .lm-social-login > span::after { height: 1px; flex: 1; content: ""; background: var(--lm-line); }

.lm-alert { margin: 1rem 0; padding: .9rem 1rem; color: #25314b; background: #eef4ff; border: 1px solid #c7d7f5; border-radius: .75rem; }
.lm-alert--success { color: #054f31; background: #ecfdf3; border-color: #a9e8c7; }
.lm-alert--error { color: #8f1b13; background: #fff1f0; border-color: #f2b8b5; }
.lm-alert--warning { color: #7a2e0e; background: #fff6ed; border-color: #f5c99d; }
.lm-alert--info { color: #173c78; background: #eef4ff; border-color: #c7d7f5; }

.lm-dashboard-hero { margin-bottom: 1.25rem; }
.lm-dashboard-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.lm-dashboard-grid--teacher { grid-template-columns: repeat(2, 1fr); }
.lm-dashboard-links { display: grid; }
.lm-dashboard-links a, .lm-clean-list li { min-height: 2.9rem; display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: .45rem 0; border-bottom: 1px solid var(--lm-line); text-decoration: none; }
.lm-dashboard-credit-link small { color: var(--lm-blue); font-weight: 800; white-space: nowrap; }
.lm-clean-list { margin: 0; padding: 0; list-style: none; }
.lm-clean-list form { margin: 0; }
.lm-balance { display: block; margin: .75rem 0; color: var(--lm-blue); font-size: 2rem; }

.lm-filter-bar, .lm-search-form {
  display: flex;
  align-items: end;
  flex-wrap: wrap;
  gap: .75rem;
  margin-bottom: 1.5rem;
  padding: 1rem;
  background: var(--lm-soft);
  border: 1px solid #e1e7ef;
  border-radius: .9rem;
}
.lm-filter-bar label, .lm-search-form .lm-field { min-width: 10rem; display: grid; flex: 1 1 10rem; gap: .35rem; }
.lm-teacher-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.lm-teacher-card { display: flex; flex-direction: column; padding: 1.25rem; background: #fff; border: 1px solid var(--lm-line); border-radius: 1.1rem; box-shadow: 0 8px 28px rgb(16 24 40 / 4%); }
.lm-teacher-card__person, .lm-teacher-profile__main { display: flex; align-items: center; gap: .9rem; }
.lm-teacher-card h2 { margin: .35rem 0 0; }
.lm-avatar { width: 4.5rem; height: 4.5rem; object-fit: cover; border: 3px solid #fff; border-radius: 50%; box-shadow: 0 0 0 1px var(--lm-line); }
.lm-teacher-card > p { min-height: 3.5rem; margin: 1rem 0; font-size: .9rem; }
.lm-chip-row { display: flex; flex-wrap: wrap; gap: .4rem; }
.lm-chip { min-height: 1.8rem; display: inline-flex; align-items: center; padding: .2rem .55rem; color: #173c78; background: #eef4ff; border-radius: 999px; font-size: .74rem; font-weight: 720; }
.lm-chip--quiet { color: #344054; background: #f2f4f7; }
.lm-teacher-card dl, .lm-booking-card dl { margin: 1rem 0; }
.lm-teacher-card dl > div, .lm-booking-card dl > div { display: flex; justify-content: space-between; gap: 1rem; padding: .45rem 0; border-bottom: 1px solid #eaecf0; }
.lm-teacher-card dt, .lm-booking-card dt { color: var(--lm-muted); font-size: .78rem; }
.lm-teacher-card dd, .lm-booking-card dd { margin: 0; font-size: .8rem; font-weight: 690; text-align: left; }
.lm-application { margin-top: clamp(3rem, 7vw, 5rem); }
.lm-teacher-profile { align-items: start; margin-bottom: 1rem; }
.lm-teacher-profile__main { align-items: start; }
.lm-teacher-profile .lm-avatar { width: 7rem; height: 7rem; }
.lm-teacher-profile aside { min-width: 13rem; display: grid; padding: 1rem; background: #fff; border: 1px solid var(--lm-line); border-radius: .85rem; }
.lm-teacher-profile aside strong { color: var(--lm-blue); font-size: 1.4rem; }
.lm-teacher-profile aside span, .lm-teacher-profile aside small { color: var(--lm-muted); font-size: .78rem; }
.lm-slot-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: .55rem; margin-bottom: 1rem; }
.lm-slot { position: relative; }
.lm-slot input { position: absolute; opacity: 0; }
.lm-slot span { min-height: 3rem; display: grid; place-items: center; padding: .5rem; color: #344054; background: #fff; border: 1px solid #aeb9c8; border-radius: .65rem; cursor: pointer; font-size: .8rem; text-align: center; }
.lm-slot input:checked + span { color: #fff; background: var(--lm-blue); border-color: var(--lm-blue); }
.lm-slot input:focus-visible + span { outline: 3px solid #f6b73c; outline-offset: 2px; }
.lm-booking-form { display: grid; gap: 1rem; }
.lm-booking-card { padding: 1.15rem; background: #fff; border: 1px solid var(--lm-line); border-radius: 1rem; }
.lm-booking-card__head { display: flex; align-items: start; justify-content: space-between; gap: .75rem; }
.lm-booking-card h3 { margin-bottom: 0; }
.lm-meeting-form form { display: flex; align-items: end; gap: .75rem; }
.lm-meeting-form .lm-field { flex: 1; }

.lm-thread { max-width: 800px; margin-inline: auto; padding: clamp(1rem, 4vw, 2rem); background: #fff; border: 1px solid var(--lm-line); border-radius: 1rem; }
.lm-thread__messages { max-height: 36rem; display: flex; flex-direction: column; gap: .7rem; overflow-y: auto; padding: 1rem; background: var(--lm-soft); border-radius: .8rem; }
.lm-message { max-width: 82%; align-self: flex-start; padding: .75rem .9rem; background: #fff; border: 1px solid var(--lm-line); border-radius: .85rem .85rem .85rem .2rem; }
.lm-message.is-mine { align-self: flex-end; background: #eef4ff; border-color: #c7d7f5; border-radius: .85rem .85rem .2rem .85rem; }
.lm-message > div { display: flex; gap: 1rem; color: var(--lm-muted); font-size: .72rem; }
.lm-message p { margin: .4rem 0 0; color: var(--lm-ink); }
.lm-thread > form { margin-top: 1rem; }

.lm-resource-grid, .lm-resource-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.lm-resource-grid .lm-card, .lm-resource-card { min-height: 13rem; display: flex; flex-direction: column; }
.lm-resource-grid .lm-link, .lm-resource-card .lm-link { margin-top: auto; }
.lm-contact-card { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.lm-contact-card > div { display: grid; padding: 1.5rem; background: var(--lm-soft); border: 1px solid var(--lm-line); border-radius: 1rem; }
.lm-contact-card span { color: var(--lm-muted); font-size: .8rem; }
.lm-contact-card a { margin-top: .35rem; font-size: 1.1rem; font-weight: 750; }

.lm-dictionary { padding: clamp(1rem, 4vw, 2rem); background: #fff; border: 1px solid var(--lm-line); border-radius: 1.1rem; }
.lm-dictionary-results { display: grid; grid-template-columns: repeat(2, 1fr); gap: .75rem; }
.lm-dictionary-entry { display: flex; justify-content: space-between; gap: 1rem; padding: 1rem; background: var(--lm-soft); border: 1px solid #e1e7ef; border-radius: .8rem; }
.lm-dictionary-entry h2 { margin-bottom: .25rem; font-size: 1.15rem; }
.lm-dictionary-entry p { margin-bottom: .4rem; font-size: .9rem; }
.lm-dictionary-entry__actions { display: flex; flex-direction: column; gap: .35rem; }

.lm-pte-hero { color: #fff; background: radial-gradient(circle at 12% 10%, rgb(6 182 212 / 30%), transparent 36%), #0b1734; border-color: #0b1734; }
.lm-pte-hero h1 { color: #fff; }
.lm-pte-hero p { max-width: 55ch; color: #c9d7ee; }
.lm-pte-hero .lm-eyebrow { color: #7ee3f2; }
.lm-pte-hero__metric { min-width: 11rem; display: grid; justify-items: center; padding: 1.2rem; background: rgb(255 255 255 / 8%); border: 1px solid rgb(255 255 255 / 18%); border-radius: 1rem; text-align: center; }
.lm-pte-hero__metric strong { font-size: 3rem; line-height: 1; }
.lm-pte-hero__metric span { margin-top: .5rem; color: #c9d7ee; font-size: .78rem; }
.lm-pte-section-grid, .lm-guide-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.lm-pte-section-grid article { min-height: 14rem; padding: 1.4rem; background: var(--lm-soft); border: 1px solid #e1e7ef; border-radius: 1rem; }
.lm-pte-section-grid article > span { color: var(--lm-blue); font-weight: 850; }
.lm-guide-grid ol { padding-inline-start: 1.35rem; }
.lm-guide-grid li + li { margin-top: .65rem; }
.lm-pte-bank { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.lm-pte-card { position: relative; min-height: 16rem; display: flex; flex-direction: column; padding: 1.25rem; overflow: hidden; background: #fff; border: 1px solid var(--lm-line); border-radius: 1rem; }
.lm-pte-card__number { position: absolute; inset-block-start: .7rem; inset-inline-end: .9rem; color: #d9e2f1; font-size: 2.5rem; font-weight: 900; }
.lm-pte-card h2 { margin: .5rem 0; padding-inline-end: 2rem; font-size: 1.15rem; }
.lm-pte-card p { font-size: .86rem; }
.lm-pte-card .lm-button { margin-top: auto; }
.lm-pte-practice { padding: clamp(1rem, 4vw, 2rem); background: #fff; border: 1px solid var(--lm-line); border-radius: 1.15rem; box-shadow: var(--lm-shadow); }
.lm-pte-practice__top { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: .65rem; }
.lm-timer { direction: ltr; color: var(--lm-blue); font-variant-numeric: tabular-nums; font-weight: 850; }
.lm-pte-stage { min-height: 29rem; padding-top: 1.5rem; }
.lm-pte-prompt { margin: 1rem 0; padding: 1rem; color: var(--lm-ink); background: var(--lm-soft); border: 1px solid #e1e7ef; border-radius: .8rem; font-size: 1.05rem; line-height: 1.9; }
.lm-option-list { display: grid; gap: .55rem; margin: 1rem 0; }
.lm-option { position: relative; min-height: 3.1rem; display: flex; align-items: center; gap: .65rem; padding: .65rem .8rem; border: 1px solid #aeb9c8; border-radius: .7rem; cursor: pointer; }
.lm-option:has(input:checked) { background: #eef4ff; border-color: var(--lm-blue); }
.lm-option input { width: 1.2rem; height: 1.2rem; }
.lm-pte-chart { height: 12rem; display: flex; align-items: end; gap: 1rem; margin: 1rem 0; padding: 1rem; border: 1px solid var(--lm-line); border-radius: .8rem; }
.lm-pte-chart__bar { min-width: 3rem; flex: 1; display: grid; align-content: end; justify-items: center; gap: .3rem; color: var(--lm-muted); font-size: .72rem; }
.lm-pte-chart__bar i { width: min(100%, 3rem); display: block; background: linear-gradient(#06b6d4, #1746b0); border-radius: .5rem .5rem .15rem .15rem; }
.lm-pte-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1rem; }
.lm-pte-result { padding: 1rem; background: #eef4ff; border: 1px solid #c7d7f5; border-radius: .8rem; }
.lm-pte-result ul { margin-bottom: 0; }

@media (max-width: 1060px) {
  .lm-hero { grid-template-columns: minmax(0, 1.2fr) minmax(15rem, .8fr); gap: 2rem; padding: clamp(2rem, 5vw, 3rem); }
  .lm-hero h1 { font-size: clamp(2.4rem, 5vw, 3.1rem); }
  .lm-orbit { width: min(18rem, 100%); }
  .lm-language-grid { grid-template-columns: repeat(3, 1fr); }
  .lm-benefit-grid { grid-template-columns: repeat(2, 1fr); }
  .lm-teacher-grid, .lm-pte-bank { grid-template-columns: repeat(2, 1fr); }
  .lm-lesson-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 820px) {
  .lm-hero { min-height: auto; grid-template-columns: 1fr; }
  .lm-hero__visual { min-height: 17rem; }
  .lm-orbit { width: 17rem; }
  .lm-level-grid, .lm-dashboard-grid, .lm-dashboard-grid--teacher, .lm-resource-grid, .lm-resource-list, .lm-pte-section-grid, .lm-guide-grid { grid-template-columns: repeat(2, 1fr); }
  .lm-lesson-shell { grid-template-columns: 1fr; }
  .lm-step-nav { position: static; display: flex; overflow-x: auto; scroll-snap-type: x proximity; }
  .lm-step-nav button { min-width: max-content; scroll-snap-align: start; }
  .lm-coach { flex-direction: column; }
  .lm-coach form { width: 100%; }
  .lm-slot-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 650px) {
  .lm-page { width: min(100% - 1rem, 1180px); margin-block: 1.25rem 3rem; }
  .lm-hero { padding: 1.5rem; border-radius: 1.15rem; }
  .lm-hero h1 { max-width: none; font-size: clamp(2.05rem, 9vw, 2.75rem); }
  .lm-hero__visual { min-height: 14rem; }
  .lm-orbit { width: 14rem; }
  .lm-language-grid, .lm-step-grid, .lm-benefit-grid, .lm-level-grid, .lm-lesson-grid, .lm-dashboard-grid, .lm-dashboard-grid--teacher, .lm-teacher-grid, .lm-resource-grid, .lm-resource-list, .lm-pte-section-grid, .lm-guide-grid, .lm-pte-bank, .lm-dictionary-results { grid-template-columns: 1fr; }
  .lm-language-card { min-height: 11rem; }
  .lm-continue, .lm-split-card, .lm-resources-strip, .lm-course-hero, .lm-lesson-hero, .lm-dashboard-hero, .lm-teacher-profile, .lm-pte-hero { align-items: stretch; flex-direction: column; }
  .lm-progress-card, .lm-lesson-progress, .lm-teacher-profile aside { width: 100%; min-width: 0; }
  .lm-lesson-panel { min-height: 20rem; }
  .lm-vocab-grid { grid-template-columns: 1fr; }
  .lm-lesson-navigation { grid-template-columns: 1fr 1fr; }
  .lm-lesson-navigation .lm-back-level { grid-column: 1 / -1; grid-row: 1; text-align: center; }
  .lm-lesson-navigation > a:last-child { text-align: right; }
  .lm-lesson-row { grid-template-columns: 4.7rem 1fr; }
  .lm-lesson-row .lm-badge { grid-column: 2; justify-self: start; }
  .lm-example-pair { grid-template-columns: 1fr; }
  .lm-field--inline { grid-template-columns: 1fr; }
  .lm-slot-grid { grid-template-columns: repeat(2, 1fr); }
  .lm-teacher-profile__main { align-items: center; flex-direction: column; text-align: center; }
  .lm-teacher-profile__main .lm-chip-row { justify-content: center; }
  .lm-contact-card { grid-template-columns: 1fr; }
  .lm-meeting-form form { align-items: stretch; flex-direction: column; }
  .lm-message { max-width: 94%; }
}

@media (max-width: 390px) {
  .lm-hero__visual { min-height: 12rem; }
  .lm-orbit { width: 11.5rem; }
  .lm-orbit span { font-size: .68rem; }
  .lm-orbit span:nth-child(2) { inset-inline-end: -1%; }
  .lm-orbit span:nth-child(4) { inset-inline-start: -1%; }
  .lm-button { width: 100%; }
  .lm-actions .lm-button, .lm-inline-actions .lm-button { flex: 1 1 100%; }
  .lm-slot-grid { grid-template-columns: 1fr; }
  .lm-step-actions .lm-button { width: auto; flex: 1; }
  .lm-pte-chart { gap: .35rem; padding-inline: .5rem; }
  .lm-pte-chart__bar { min-width: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .lm-page *, .lm-page *::before, .lm-page *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

@media print {
  .lm-step-nav, .lm-step-actions, .lm-coach, .lm-lesson-navigation, .lm-filter-bar, .lm-search-form, .lm-button, .lm-inline-actions { display: none !important; }
  .lm-lesson-shell { display: block; }
  .lm-lesson-panel[hidden] { display: block !important; }
  .lm-step-content { padding: 0; border: 0; box-shadow: none; }
}

/* 4.2.0: production contact form */
.lm-contact-layout{display:grid;grid-template-columns:minmax(240px,.7fr) minmax(0,1.3fr);gap:24px;align-items:start}
.lm-contact-form{background:var(--lm-surface,#fff);border:1px solid var(--lm-border,#e5e7eb);border-radius:18px;padding:22px}
.lm-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media(max-width:760px){.lm-contact-layout{grid-template-columns:1fr}.lm-contact-form{padding:16px}}

/* 4.4.0 audit polish */
.lm-empty{max-width:760px;margin:2rem auto;padding:2rem;text-align:center;background:#fff;border:1px solid var(--lm-line);border-radius:1rem;box-shadow:var(--lm-shadow)}
.lm-empty h2{margin:.35rem 0 .6rem}
.lm-auth-verification-note{margin-top:1rem;padding:.8rem 1rem;border-inline-start:4px solid var(--lm-blue);background:var(--lm-soft);border-radius:.55rem}
.lm-pte-stage--fallback .lm-help{margin-top:.8rem}
.lm-button:focus-visible,.lm-link-button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #22a7f0;outline-offset:3px}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}


/* 4.7.0: direct teacher onboarding */
.lm-step-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:1.25rem}
.lm-step-cards article{padding:1rem;border:1px solid var(--lm-line);border-radius:.9rem;background:var(--lm-soft)}
.lm-step-cards article>strong{width:2rem;height:2rem;display:grid;place-items:center;margin-bottom:.65rem;border-radius:50%;background:var(--lm-blue);color:#fff}
.lm-step-cards h2{font-size:1.05rem;margin:.25rem 0}
.lm-step-cards p{margin:0;color:var(--lm-muted)}
.lm-application--standalone{max-width:900px;margin-inline:auto}
.lm-application--standalone>h2{margin-top:0}
@media(max-width:760px){.lm-step-cards{grid-template-columns:1fr}}

/* 4.8.4 — lesson coach question/answer flow */
.lm-button--ghost { color: var(--lm-blue) !important; background: transparent; border-color: transparent; }
.lm-button--ghost:hover { background: rgb(23 70 176 / 6%); border-color: #b9c7df; }
.lm-coach-workspace { width: min(100%, 31rem); display: grid; gap: .8rem; }
.lm-coach-workspace form { width: 100%; }
.lm-coach-question { padding: .9rem 1rem; background: #fff; border: 1px solid #b9dfe7; border-radius: .85rem; box-shadow: 0 5px 14px rgb(16 24 40 / 4%); }
.lm-coach-question span { display: block; margin-bottom: .35rem; color: var(--lm-muted); font-size: .76rem; font-weight: 800; }
.lm-coach-question strong { display: block; color: var(--lm-ink); font-size: 1.04rem; line-height: 1.8; direction: ltr; text-align: left; unicode-bidi: plaintext; }
.lm-coach-workspace .lm-feedback { margin-top: 0; }
@media(max-width:760px){.lm-coach-workspace{width:100%}.lm-coach-question strong{font-size:1rem}}

/* 5.0 rich curriculum */
.lm-learning-map{margin-top:18px;padding:16px 18px;border:1px solid #e3e7ef;border-radius:16px;background:#fafbfe}.lm-learning-map__meta{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:8px}.lm-learning-map__meta span{font-size:.88rem;opacity:.72}.lm-learning-map ul,.lm-task-list,.lm-mistakes ul,.lm-self-check ul{margin:8px 0 0;padding-inline-start:22px}.lm-learning-map li,.lm-task-list li,.lm-mistakes li,.lm-self-check li{margin:7px 0;line-height:1.9}.lm-formula{margin-top:14px;padding:12px 14px;border-radius:14px;background:#f4f6fa;display:grid;gap:6px}.lm-formula span{font-size:.82rem;font-weight:700;opacity:.68}.lm-formula code{white-space:normal;font-size:.95rem}.lm-model-sentence{display:grid;grid-template-columns:1fr auto;gap:8px 14px;align-items:center;padding:16px;border:1px solid #e3e7ef;border-radius:16px;background:#fff}.lm-model-sentence strong{font-size:1.08rem}.lm-model-sentence span{grid-column:1/2;opacity:.78}.lm-model-sentence .lm-icon-button{grid-column:2;grid-row:1/3}.lm-dialogue{margin-top:14px;padding:15px 17px;border-radius:16px;background:#f7f9fc}.lm-dialogue p{margin:7px 0;line-height:1.85}.lm-reading-questions,.lm-mistakes,.lm-challenge,.lm-self-check{margin-top:18px;padding:15px 17px;border:1px solid #e4e8f0;border-radius:16px;background:#fbfcfe}.lm-reading-questions h3,.lm-mistakes h3,.lm-challenge h3,.lm-self-check h3{margin:0 0 8px;font-size:1rem}.lm-challenge{background:#f7f9ff}.lm-self-check ul{list-style:none;padding-inline-start:0}.lm-self-check li{padding:7px 0;border-bottom:1px dashed #e5e8ee}.lm-self-check li:last-child{border-bottom:0}@media(max-width:640px){.lm-model-sentence{grid-template-columns:1fr auto}.lm-learning-map__meta{align-items:flex-start;flex-direction:column}}


/* 5.0.1 deep lesson content */
.lm-grammar-examples{display:grid;gap:10px;margin-top:18px}.lm-grammar-example{display:grid;gap:5px;padding:12px 14px;border:1px solid var(--lm-border,#dfe5ed);border-radius:12px;background:#fff}.lm-grammar-example>span{font-size:.78rem;font-weight:700;opacity:.72}.lm-grammar-example>strong{font-size:1rem}.lm-grammar-example>small{line-height:1.7}.lm-review-set{display:grid;gap:14px}.lm-review-item{margin:0}.lm-review-item>p{font-size:1rem;line-height:1.9}


/* 5.1.0 all-curriculum deep-practice layer */
.lm-pattern-lab{border:1px solid color-mix(in srgb,var(--lm-primary,#1d4ed8) 20%,#e5e7eb);background:linear-gradient(180deg,#fff,#f8fbff)}
.lm-pattern-lab .lm-task-list{display:grid;gap:.65rem;margin-top:1rem}
.lm-pattern-lab .lm-task-list li{padding:.7rem .85rem;border-radius:12px;background:#fff;border:1px solid #e8edf5}
@media(max-width:640px){.lm-pattern-lab .lm-task-list{padding-inline-start:1.25rem}}


/* 5.6.7 — teacher profile photo upload */
.lm-teacher-photo-editor{display:grid;grid-template-columns:7rem minmax(0,1fr);gap:1rem;align-items:center;padding:1rem;border:1px solid var(--lm-line);border-radius:1rem;background:#f8fafc;margin-bottom:1rem}
.lm-teacher-photo-editor__preview{display:flex;justify-content:center}
.lm-teacher-photo-field small{display:block;margin-top:.45rem;color:var(--lm-muted);font-size:.84rem;line-height:1.7}
.lm-teacher-photo-field input[type=file]{width:100%;padding:.65rem;border:1px dashed var(--lm-line);border-radius:.75rem;background:#fff}
.lm-teacher-photo{object-position:center 25%;background:#eef2f7}
@media(max-width:640px){.lm-teacher-photo-editor{grid-template-columns:1fr;text-align:center}.lm-teacher-photo-editor .lm-field{text-align:right}}

/* 5.7.3 — teacher pricing by CEFR level */
.lm-level-pricing{margin:1rem 0;padding:1rem;border:1px solid var(--lm-line);border-radius:1rem;background:#f8fafc}
.lm-level-pricing legend{padding:0 .45rem;font-weight:800;color:var(--lm-ink)}
.lm-level-pricing-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem}
.lm-level-pricing-grid .lm-field{margin:0;padding:.75rem;border:1px solid #e4e7ec;border-radius:.8rem;background:#fff}
.lm-level-pricing-grid .lm-field>span{font-weight:800;font-size:.9rem}
.lm-level-pricing-grid small{display:block;margin-top:.3rem;color:var(--lm-muted);font-size:.75rem}
.lm-teacher-price-box .lm-level-rate-list{display:grid;gap:.35rem;width:100%;margin:.7rem 0;padding-top:.65rem;border-top:1px solid var(--lm-line)}
.lm-level-rate-list>div{display:flex;justify-content:space-between;gap:.8rem;font-size:.78rem}
.lm-level-rate-list b{color:var(--lm-ink)}
.lm-level-rate-list span{color:var(--lm-blue)!important;font-weight:750}
.lm-level-rate-inline{display:flex;flex-wrap:wrap;gap:.25rem .6rem;margin-top:.35rem}
.lm-level-rate-inline small{font-size:.72rem;color:var(--lm-muted)}
@media(max-width:900px){.lm-level-pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.lm-level-pricing-grid{grid-template-columns:1fr}}


/* 5.7.4 — visible teacher level pricing dashboard */
.lm-teacher-pricing-card{grid-column:1/-1}
.lm-teacher-pricing-card .lm-section__head{margin-bottom:.8rem}
.lm-pricing-currency-row{align-items:end}
.lm-level-pricing--dashboard{margin-top:.5rem}
.lm-level-pricing-grid .is-active-level{border-color:#9bc8ff;box-shadow:0 0 0 2px rgb(37 99 235 / 5%)}
.lm-level-pricing-grid .is-active-level>span{color:var(--lm-blue)}
.lm-level-pricing-grid .is-inactive-level{opacity:.72}
@media(max-width:760px){.lm-teacher-pricing-card{grid-column:auto}.lm-pricing-currency-row{grid-template-columns:1fr}}
\n\n/* 5.7.5 — exact teacher availability slot picker */\n.lm-teacher-availability-card{grid-column:1/-1}\n.lm-time-slot-picker{margin:1rem 0;padding:1rem;border:1px solid var(--lm-line);border-radius:1rem;background:#f8fafc}\n.lm-time-slot-picker legend{padding:0 .45rem;font-weight:850;color:var(--lm-ink)}\n.lm-time-slot-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:.55rem;margin-top:.85rem;direction:ltr}\n.lm-time-slot-choice{position:relative;display:block;cursor:pointer}\n.lm-time-slot-choice input{position:absolute;opacity:0;pointer-events:none}\n.lm-time-slot-choice span{display:block;padding:.62rem .45rem;border:1px solid #cfd8e6;border-radius:.7rem;background:#fff;text-align:center;font-weight:750;font-variant-numeric:tabular-nums;transition:.15s ease}\n.lm-time-slot-choice:hover span{border-color:#7aa7e8;background:#f5f9ff}\n.lm-time-slot-choice input:checked+span{background:var(--lm-blue);border-color:var(--lm-blue);color:#fff;box-shadow:0 4px 12px rgb(29 78 216 / 18%)}\n.lm-time-slot-choice input:focus-visible+span{outline:3px solid #22a7f0;outline-offset:2px}\n.lm-slot-picker-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}\n.lm-slot-picker-actions small{color:var(--lm-muted)}\n.lm-clean-list--slots li>span{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}\n.lm-clean-list--slots bdi{direction:ltr;unicode-bidi:isolate;font-variant-numeric:tabular-nums}\n.lm-legacy-range{padding:.18rem .42rem;border-radius:999px;background:#fff3cd;color:#7a5a00;font-size:.7rem;font-weight:750}\n@media(max-width:1000px){.lm-time-slot-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}\n@media(max-width:760px){.lm-teacher-availability-card{grid-column:auto}.lm-time-slot-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.lm-slot-picker-actions{align-items:stretch;flex-direction:column}.lm-slot-picker-actions .lm-button{width:100%}}\n@media(max-width:420px){.lm-time-slot-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}\n
/* 5.8.0 — student credit ledger + class outcome + staged teacher wallet */
.lm-student-credit-card{grid-column:1/-1}
.lm-credit-balances,.lm-wallet-stage-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin:14px 0}
.lm-credit-balances>div,.lm-wallet-stage-grid>div{border:1px solid var(--lm-border,#dbe4f0);border-radius:14px;padding:14px;background:#fff;display:flex;flex-direction:column;gap:6px}
.lm-wallet-stage-grid small,.lm-credit-balances small{color:var(--lm-muted,#667085)}
.lm-wallet-stage-grid strong,.lm-credit-balances strong{font-size:1.08rem;color:var(--lm-ink,#10233d)}
.lm-credit-history{margin-top:14px}
.lm-table-wrap{overflow:auto;margin-top:12px}
.lm-simple-table{width:100%;border-collapse:collapse;min-width:640px}
.lm-simple-table th,.lm-simple-table td{padding:10px 12px;border-bottom:1px solid var(--lm-border,#e5e7eb);text-align:right;vertical-align:top}
.lm-class-outcome{margin-top:12px;border-top:1px solid var(--lm-border,#e5e7eb);padding-top:10px}
.lm-class-outcome>summary{cursor:pointer;font-weight:700;color:var(--lm-primary,#173f8a)}
.lm-class-outcome .lm-form{margin-top:12px}
@media(max-width:680px){.lm-wallet-stage-grid,.lm-credit-balances{grid-template-columns:1fr}.lm-simple-table{font-size:.9rem}}


/* 5.8.38 — customer-facing unified financial reconciliation */
.lm-self-finance{margin-top:22px;border-top:1px solid #dbe4f0;padding-top:20px}.lm-self-finance__intro{display:grid;grid-template-columns:minmax(180px,.6fr) minmax(0,1.4fr);gap:18px;align-items:start;padding:16px;border:1px solid #d8e4f1;border-radius:16px;background:#f8fbff}.lm-self-finance__intro h3{margin:3px 0 0}.lm-self-finance__intro p{margin:0;line-height:1.9;color:#526173}.lm-self-finance__section{margin-top:14px;border:1px solid #dbe4f0;border-radius:15px;background:#fff;overflow:hidden}.lm-self-finance__section>summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;background:#f7f9fc;font-weight:800;color:#122039}.lm-self-finance__section>summary span{font-size:12px;font-weight:600;color:#667085}.lm-self-finance__section>.lm-credit-ledger-help{margin:14px 16px 0}.lm-self-finance__table-wrap{margin:0!important;border:0!important;border-radius:0!important;overflow-x:auto}.lm-self-finance table{width:100%;border-collapse:collapse;min-width:760px}.lm-self-finance th,.lm-self-finance td{padding:11px 9px;border-bottom:1px solid #e8edf4;text-align:right;vertical-align:top}.lm-self-finance th{background:#13223b;color:#fff;white-space:nowrap}.lm-self-finance td small{display:block;margin-top:4px;color:#778397}.lm-self-positive{color:#08783e;font-weight:700}.lm-self-negative{color:#b42318;font-weight:700}.lm-self-status{display:inline-flex;padding:4px 8px;border-radius:999px;background:#f2f4f7;color:#344054;font-size:12px;font-weight:700}.lm-self-status.is-returned{background:#ecfdf3;color:#067647}.lm-self-audit{display:grid;grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:9px;margin:14px 16px}.lm-self-audit__item{display:grid;gap:4px;padding:11px 12px;border:1px solid #e4e7ec;border-radius:12px;background:#fafafa;font-size:12px}.lm-self-audit__item.is-ok{border-color:#abefc6;background:#ecfdf3}.lm-self-audit__item.has-diff{border-color:#fec84b;background:#fffaeb}.lm-self-audit__item b{margin-top:3px}.woocommerce-orders-table__cell-order-status .lmprod-financial-badge{display:inline-flex}
@media(max-width:820px){.lm-self-finance__intro{grid-template-columns:1fr}.lm-self-finance__table-wrap{overflow:visible}.lm-self-finance table{min-width:0}.lm-self-finance thead{display:none}.lm-self-finance tbody,.lm-self-finance tr,.lm-self-finance td{display:block;width:100%}.lm-self-finance tr{padding:10px 12px;border-bottom:1px solid #e8edf4}.lm-self-finance td{display:grid;grid-template-columns:minmax(100px,34%) minmax(0,1fr);gap:8px;border:0;padding:5px 0}.lm-self-finance td:before{content:attr(data-label);font-weight:800;color:#475467}.lm-self-audit{margin:12px}}

/* 5.8.39 — compact customer finance presentation; complete data stays available on demand */
.lm-self-finance{margin-top:16px;padding-top:16px}
.lm-self-finance__intro{grid-template-columns:minmax(150px,.45fr) minmax(0,1.55fr);padding:13px 14px;gap:14px}
.lm-self-finance__intro p{line-height:1.75;font-size:13px}
.lm-self-finance__section{margin-top:10px}
.lm-self-finance__section>summary{padding:12px 14px}
.lm-self-finance__section:not([open])>summary:after{content:"برای مشاهده جزئیات باز کنید";font-size:11px;font-weight:500;color:#8792a2;margin-inline-start:auto}
.lm-self-finance__section[open]>summary:after{content:"بستن جزئیات";font-size:11px;font-weight:500;color:#8792a2;margin-inline-start:auto}
@media(max-width:820px){.lm-self-finance__section:not([open])>summary:after,.lm-self-finance__section[open]>summary:after{display:none}}

/* LingoMaster 6.6.0 — professional placement test */
.lm-placement-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:20px 0 28px}.lm-placement-summary>div{background:#fff;border:1px solid var(--lm-border,#e5e7eb);border-radius:18px;padding:18px;text-align:center;box-shadow:0 10px 30px rgba(15,23,42,.05)}.lm-placement-summary strong{display:block;font-size:28px;line-height:1.1}.lm-placement-summary span{display:block;margin-top:6px;color:#64748b}.lm-placement-series-nav{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0 22px}.lm-placement-series{display:inline-flex;align-items:center;justify-content:center;min-width:72px;padding:9px 12px;border:1px solid #dbe3ee;border-radius:999px;text-decoration:none;background:#fff}.lm-placement-series.is-active{font-weight:800;border-color:currentColor;box-shadow:0 0 0 2px rgba(15,23,42,.06)}.lm-placement-instructions{margin-bottom:18px}.lm-placement-form{display:grid;gap:16px}.lm-placement-question{border:1px solid #e2e8f0;border-radius:18px;background:#fff;padding:18px;margin:0;box-shadow:0 8px 28px rgba(15,23,42,.04)}.lm-placement-question legend{font-weight:800;line-height:1.8;padding:0 4px}.lm-placement-number{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:#0f172a;color:#fff;margin-left:9px;font-size:13px}.lm-placement-options{display:grid;gap:9px;margin-top:13px}.lm-placement-options label{display:flex;align-items:flex-start;gap:10px;border:1px solid #e2e8f0;border-radius:13px;padding:12px 14px;cursor:pointer;transition:.15s ease}.lm-placement-options label:hover{border-color:#94a3b8;background:#f8fafc}.lm-placement-options input{margin-top:5px;flex:0 0 auto}.lm-placement-submit{display:flex;gap:10px;flex-wrap:wrap;position:sticky;bottom:12px;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);padding:12px;border:1px solid #e2e8f0;border-radius:16px;z-index:4}.lm-placement-result{margin:18px 0 22px;border:1px solid #cbd5e1;border-radius:22px;background:#fff;padding:22px;box-shadow:0 16px 44px rgba(15,23,42,.08)}.lm-placement-result__hero{text-align:center;padding:8px 0 18px}.lm-placement-result__hero>span{display:block;color:#64748b}.lm-placement-result__hero>strong{display:block;font-size:52px;line-height:1.1;margin:8px 0}.lm-placement-breakdown{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:8px 0 20px}.lm-placement-breakdown>div{border:1px solid #e2e8f0;border-radius:16px;padding:16px}.lm-placement-breakdown h3{margin-top:0}.lm-placement-breakdown p{display:flex;justify-content:space-between;gap:12px;border-bottom:1px dashed #e2e8f0;padding:7px 0;margin:0}.lm-placement-breakdown p:last-child{border-bottom:0}@media(max-width:760px){.lm-placement-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.lm-placement-breakdown{grid-template-columns:1fr}.lm-placement-question{padding:15px}.lm-placement-result__hero>strong{font-size:42px}}
