/* Shared palette from the approved M&M carousel. Semantic feedback colours remain unchanged. */
:root {
 --mm-forest:#123f34; --mm-cream:#faf8f0; --mm-surface:#fffdf7;
 --mm-sage:#e9eedf; --mm-lavender:#f2eee3; --mm-line:#d8dfd0; --mm-muted:#58685e;
}
:root,.school,.mm-site,.lp-site,.cr-app {
 --green:var(--mm-forest)!important; --ink:var(--mm-forest)!important;
 --forest:var(--mm-forest)!important; --cream:var(--mm-cream)!important;
 --paper:var(--mm-cream)!important; --ivory:var(--mm-cream)!important;
 --sage:var(--mm-sage)!important; --pale:var(--mm-sage)!important;
 --border:var(--mm-line)!important; --line:var(--mm-line)!important;
 --muted:var(--mm-muted)!important;
}
html,body,.school,.mm-site,.lp-site,.cr-app {background-color:var(--mm-cream)!important;color:var(--mm-forest);}
.sidebar,.cr-side {background-color:#edf0e5!important;}
.mm-header,.cr-top,.lp-header {background-color:var(--mm-cream)!important;}
.sidebar nav a.active,.cr-side nav a[aria-current="page"],.cr-avatar,.cr-switch {background-color:var(--mm-sage)!important;}
.overview,.lesson-companion-point,.cr-job,.cr-panel,.cr-modal,.cr-send-panel,.cr-guide-card {background-color:var(--mm-surface)!important;border-color:var(--mm-line)!important;}
.lesson-companion,.lesson-companion-options button {color:var(--mm-forest)!important;}
.lesson-companion>header,.lesson-companion-examples>div,.lesson-companion-examples>div:nth-child(3n),.b1-infinitive-demo,.cr-live-search,.cr-next {background:var(--mm-lavender)!important;color:var(--mm-forest)!important;}
.lesson-companion-rule,.lesson-companion-apply,.lesson-companion-options button[aria-pressed=true] {background:var(--mm-sage)!important;color:var(--mm-forest)!important;}
.cr-live-search input,.cr-live-search select,.lesson-companion-options button {background-color:var(--mm-surface)!important;border-color:var(--mm-line)!important;}
.cr-primary,.cr-switch span,.school .button.primary {background-color:var(--mm-forest)!important;color:#fffdf7!important;}
.cr-primary:hover,.school .button.primary:hover {background-color:#245747!important;}
.cr-text {--blue:#315f50;}
:where(.school,.mm-site,.lp-site,.cr-app) :is(button,a,input,textarea,select,summary):focus-visible {outline-color:#527465!important;}
::selection {background:#dce5d3;color:#123f34;}
@media print {html,body{background:white!important;}}
.product-stage {background:var(--mm-cream)!important;color:var(--mm-forest)!important;}
.product-stage .ps-intro h1 {color:var(--mm-forest)!important;}
.product-stage .ps-intro p,.product-stage .ps-eyebrow,.product-stage .ps-controls button {color:var(--mm-muted)!important;}
.product-stage .ps-cta {background:var(--mm-forest)!important;color:var(--mm-surface)!important;border-color:var(--mm-forest)!important;}
.product-stage .ps-glow {background:radial-gradient(ellipse at 65% 45%,#f2eee3 0,transparent 65%),radial-gradient(ellipse at 20% 80%,#e9eedf 0,transparent 55%)!important;}
.product-stage .ps-space-word {color:#123f340b!important;}
.product-stage .ps-floor {opacity:.2;}
.product-stage .ps-window {background:var(--mm-surface)!important;border-color:var(--mm-line)!important;box-shadow:0 22px 55px #123f3420!important;}
.product-stage .ps-notes,.product-stage .ps-practice-grid>a {background:var(--mm-lavender)!important;}
.product-stage .ps-demo,.product-stage .ps-controls button.active {background:var(--mm-sage)!important;color:var(--mm-forest)!important;}
/* Full landing-page harmony: ivory canvas, sage/warm-neutral panels, forest anchors. */
.mm-site .mm-proof-strip {background:var(--mm-sage);border-color:var(--mm-line);}
.mm-site :is(.mm-method,.mm-final) {background:var(--mm-forest)!important;color:var(--mm-surface)!important;}
.mm-site .mm-final :is(p,small,.mm-kicker) {color:var(--mm-sage)!important;}
.mm-site .mm-final-flower {color:#527465!important;}
.mm-site :is(.mm-unit-detail,.mm-language-card,.mm-teacher-options>button,.mm-grammar-workshop,.mm-demo,.mm-notebook,.mm-journey-paper) {background-color:var(--mm-surface)!important;border-color:var(--mm-line)!important;}
.mm-site :is(.mm-language-card,.mm-skill-art,.mm-grammar-example,.mm-speech-reply) {background-color:var(--mm-lavender)!important;}
.mm-site :is(.mm-foundation,.mm-grammar-rule,.mm-demo-sidebar,.mm-speech,.mm-article-change) {background-color:var(--mm-sage)!important;}
.mm-site .mm-teacher-options>button[aria-pressed=true] {background:var(--mm-sage)!important;border-color:#789180!important;}
.mm-site .mm-price-grid article {background:var(--mm-sage)!important;border-color:var(--mm-line)!important;}
.mm-site .mm-price-grid article:nth-child(2) {background:var(--mm-lavender)!important;border-color:#d8dfd0!important;}
.mm-site .mm-price-status {background:var(--mm-surface)!important;color:var(--mm-muted)!important;}
.mm-site :is(.mm-why-sticker,.mm-grammar-question span) {background:var(--mm-lavender)!important;color:var(--mm-forest)!important;}
.mm-site .mm-grammar-sentence>div:nth-child(3) strong {background:var(--mm-lavender)!important;}
.mm-site .mm-free-stamp {background:var(--mm-forest)!important;border-color:var(--mm-forest)!important;outline-color:#789180!important;color:var(--mm-surface)!important;}
.mm-site .mm-button {background:var(--mm-forest)!important;color:var(--mm-surface)!important;}
.mm-site .mm-button-light,.mm-site .mm-final .mm-button {background:var(--mm-sage)!important;color:var(--mm-forest)!important;}
.mm-site .mm-footer {background:var(--mm-cream)!important;}
.mm-site :is(.mm-footer p,.mm-footer-bottom,.mm-faq details p,.mm-price-grid p,.mm-price-grid small) {color:var(--mm-muted)!important;}
.mm-site :is(.mm-unit-detail,.mm-language-card,.mm-price-grid article,.mm-grammar-workshop) {box-shadow:0 8px 28px #123f3408;}

/* Shared customer pages: quiet ivory, warm neutral cards and forest actions. */
:root{--blue:#315f50;--lavender:#f2eee3;--lilac:#f2eee3;--purple:#52684b}
:where(.school,.mm-site,.cr-app,.mm-start){accent-color:var(--mm-forest)}
:where(.mm-start,.mm-start-panel,.mm-checkout-card,.mm-account-form input,.mm-review-card,.mg-rule,.mg-task,.mg-vocab,.lesson-practice-entry,.lesson-reference){color:var(--mm-forest);border-color:var(--mm-line);background-color:var(--mm-surface)}
:where(.mm-start,.mm-checkout){background-color:var(--mm-cream)!important}
:where(.mg-examples>div,.mg-prerequisite,.mg-rule-line,.b1-scene,.b1-phrase-demo,.video-fold,.practice-outline){background-color:#f2eee3!important;color:var(--mm-forest)!important;border-color:var(--mm-line)!important}
:where(.school,.mm-site,.cr-app) a:not(.button):not(.mm-button):not(.cr-primary){color:inherit}
.mm-trial-next{margin-block:32px;padding:clamp(24px,4vw,40px);border:1px solid var(--mm-line);border-radius:24px;background:var(--mm-sage);color:var(--mm-forest);text-align:start}
.mm-trial-next h2{margin:8px 0 16px}.mm-trial-next p{max-width:65ch;line-height:1.8}.mm-trial-next small{display:block;margin-top:16px}.mm-trial-next a{display:inline-flex;gap:18px;padding:16px 24px;border-radius:12px;background:var(--mm-forest);color:var(--mm-surface)!important;text-decoration:none}
.mm-receipt-choice{border:1px solid var(--mm-line);border-radius:16px;padding:16px;display:grid;gap:12px}.mm-receipt-choice legend{font-weight:700;padding-inline:8px}.mm-account-form .mm-receipt-choice label,.mm-account-form .mm-account-consent{display:flex;align-items:start;gap:10px}.mm-account-form input:is([type=radio],[type=checkbox]){width:20px;height:20px;flex-shrink:0;margin-top:4px}.mm-whatsapp-receipt{padding:18px;border-radius:14px;background:var(--mm-sage)}
.mm-payment-steps{list-style:none;counter-reset:payment;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.mm-payment-steps li{counter-increment:payment;display:grid;gap:8px;text-align:center;font-weight:600}.mm-payment-steps li:before{content:counter(payment);display:grid;place-items:center;width:32px;height:32px;margin:auto;border-radius:50%;background:var(--mm-sage);color:var(--mm-forest)}

/* Existing separately-built pages share the same palette. */
.mm-grammar button:focus-visible,.mm-grammar a:focus-visible,.mm-grammar summary:focus-visible{outline:3px solid #527465!important}
.mg-cards>a:nth-child(3n+2){background:#f2eee3!important}
.mg-examples>div{background:#f2eee3!important}
.mg-sentence{background:#f2eee3!important}
.mg-vocab{background:#f2eee3!important}
.mg-lesson-notes blockquote{background:#f2eee3!important}


.mg-video{background:#f2eee3!important}

.lesson-companion>header{background:#f2eee3!important}

.lesson-companion-examples>div{background:#f2eee3!important}
.exercise-scene.listening{background:#f2eee3!important}
.exercise-redesign .choice,.xp-choices label{border:2px solid #f2eee3!important;background:#f2eee3!important}
.exercise-redesign .listening-area{background:#f2eee3!important;border:1px solid #d8dfd0!important}
.exercise-redesign .listening-area .button.primary{background:#123f34!important}
.exercise-redesign .word-tile.placed{background:#f2eee3!important;border:1px solid #d8dfd0!important;color:#123f34!important}
.exercise-redesign .school-form{background:#f2eee3!important}
.exercise-redesign .school-form input{border:2px solid #d8dfd0!important}
.xp-audio{background:#f2eee3!important;border:1px solid #d8dfd0!important}
.xp-audio .xp-play{background:#123f34!important}
.xp-pairs button{background:#f2eee3!important}
.xp-question #xp-answer{background:#f2eee3!important;border:2px solid #d8dfd0!important}
.listening-status{color:#123f34!important}
.lp-scene{background:#f2eee3!important}
.lp-scene-icon{background:#f2eee3!important;color:#527465!important}
.lp-options button{background:#f2eee3!important;border:2px solid #f2eee3!important}
.lp-listen{background:#f2eee3!important}

.cr-app button:focus-visible,
.cr-app a:focus-visible,
.cr-app input:focus-visible,
.cr-app select:focus-visible,
.cr-app textarea:focus-visible {outline: 3px solid #527465!important}

.cr-tag.blue {background: #f2eee3!important;color: #123f34!important}

.cr-feature-card.blue {background: #f2eee3!important;border-color: #f2eee3!important}

.cr-soft-note {background: #f2eee3!important}

.cr-notice {background: #f2eee3!important;border: 1px solid #f2eee3!important;color: #123f34!important}

.cr-job:nth-child(even) .cr-company-logo {background: #f2eee3!important;color: #123f34!important}

.cr-timeline-icon.blue {background: #f2eee3!important}

.cr-template-thumb.t3 {background: #f2eee3!important;border-left: 15px solid #123f34!important}

.template-3 {border-left: 20px solid #123f34!important}

.template-3 .cr-cv-initial {background: #f2eee3!important;color: #123f34!important}

.template-3 h2 {color: #123f34!important}

.cr-blue-note {background: #527465!important}

.cr-home-routes button:nth-child(2) {background: #f2eee3!important}

.cr-upload-button:focus-within {outline: 3px solid #527465!important}

.cr-template-strip button.selected {border: 2px solid #527465 !important}

.cr-cv-document.template-3 > header {background: #f2eee3!important;color: #123f34 !important}

.cr-cv-document.template-3 .cr-cv-initial {background: #527465!important}

.cr-cv-document.template-3 .cr-cv-layout > aside {background: #f2eee3!important}

.cr-route-wizard progress {accent-color: #527465!important}

.cr-route-next .cr-primary:focus-visible {outline: 3px solid #d8dfd0!important}
.b1-scene-grid article:nth-child(2){background:#f2eee3!important}
.b1-room-canvas>span{background:#f2eee3!important}


.b1-infinitive-demo{background:#f2eee3!important}
.b1-infinitive-demo strong{color:#123f34!important}


.b1-friendship{background:#f2eee3!important}
.b1-friend-card{border:1px solid #d8dfd0!important}
.b1-survey button{background:#f2eee3!important;border:2px solid #f2eee3!important}


.b1-technology{background:#f2eee3!important}
.b1-guest-card{background:#f2eee3!important;border:1px solid #f2eee3!important}
.b1-advice-offer{background:#f2eee3!important}
:root,.school,.mm-site,.lp-site,.cr-app{--blue:#315f50!important;--lavender:#f2eee3!important;--lilac:#f2eee3!important}

/* Keep the complete navigation reachable independently of lesson content. */
.sidebar {
  height: 100dvh;
  box-sizing: border-box;
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior-y: contain;
  scrollbar-width: thin;
  scrollbar-color: #8b9e79 #edf0e5;
  padding-bottom: max(24px, env(safe-area-inset-bottom));
}
.sidebar > * { flex-shrink: 0; }
@media (min-width: 721px) {
  .admin-sidebar { height: 100dvh; box-sizing: border-box; overflow-y: auto; overscroll-behavior-y: contain; scrollbar-width: thin; }
  .admin-sidebar > * { flex-shrink: 0; }
}
@media (min-width: 761px) {
  .cr-side { max-height: calc(100dvh - 88px); overflow-y: auto; overscroll-behavior-y: contain; scrollbar-width: thin; }
  .cr-side > * { flex-shrink: 0; }
}
/* Explicit contrast prevents inherited link colours from hiding the active label. */
nav.mm-product-switch { background: #e9eedf; border: 1px solid #d8dfd0; border-radius: 12px; padding: 5px; }
nav.mm-product-switch > a { color: #123f34 !important; -webkit-text-fill-color: #123f34; white-space: nowrap; }
nav.mm-product-switch > a[aria-current="page"] { background: #123f34 !important; color: #fffdf7 !important; -webkit-text-fill-color: #fffdf7; }
nav.mm-product-switch > a svg { color: inherit; stroke: currentColor; flex-shrink: 0; }
@media print { .sidebar,.admin-sidebar,.cr-side { overflow: visible; height: auto; max-height: none; } }
