/* Market-quality pass: partner subscriptions, viewport-aware CBT and stable course graphics. */

/* Partner / superadmin model */
.partner-model-note{display:grid;grid-template-columns:minmax(220px,.75fr) minmax(0,1.6fr) auto;gap:28px;align-items:center;margin:0 0 24px;padding:24px 26px;border:1px solid #d8e7e3;border-radius:22px;background:linear-gradient(135deg,#effaf7 0%,#fff 62%);box-shadow:0 14px 38px rgba(18,35,61,.045)}
.partner-model-note h2{margin:5px 0 0;color:var(--navy);font-size:22px;letter-spacing:-.025em}.partner-model-note p{margin:0;color:var(--muted);font-size:13px;line-height:1.65}
.partner-free-badge{display:inline-flex;align-items:center;justify-content:center;width:max-content;max-width:100%;padding:8px 12px;border:1px solid #bae1d9;border-radius:999px;background:#e8f7f3;color:#246e62;font-size:11px;font-weight:850;white-space:nowrap}.partner-free-badge.compact{padding:5px 8px;font-size:10px}.partner-detail-link{color:var(--navy);text-decoration:none}.partner-detail-link:hover{color:var(--teal)}
.partner-privacy-list{display:grid;grid-template-columns:1fr 1fr;gap:9px 14px;margin-top:18px;padding-top:17px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}.partner-privacy-list span{min-width:0;overflow-wrap:anywhere}
.partner-detail-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.partner-card-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.partner-privacy-footnote{margin:26px 0 0;color:var(--muted);font-size:11px}.partner-detail-shell .platform-top{align-items:center}.partner-detail-kpis strong{overflow-wrap:anywhere}
.partner-admin-shell td small,.partner-detail-shell td small{display:block;margin-top:4px}.partner-admin-shell .inline-plan-form select{min-width:190px;max-width:280px}

/* CBT: on desktop the navigation always stays in the viewport. Only the slide body scrolls when required. */
@media(min-width:901px){
  .cbt-shell{height:calc(100dvh - 78px);min-height:560px;overflow:hidden}
  .cbt-side{height:100%;top:78px;overscroll-behavior:contain}
  .cbt-main{height:100%;min-height:0;overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr) auto;padding:28px clamp(26px,4.2vw,66px) 20px}
  .slide-topline{margin-bottom:14px}
  .slide-stage{min-height:0;overflow-y:auto;overflow-x:hidden;align-content:safe center;gap:14px;padding:4px 8px 4px 2px;overscroll-behavior:contain;scrollbar-gutter:stable}
  .slide-stage::-webkit-scrollbar{width:7px}.slide-stage::-webkit-scrollbar-thumb{background:#c9d4da;border-radius:999px}.slide-stage::-webkit-scrollbar-track{background:transparent}
  .slide-nav{margin-top:12px;padding-top:13px;background:#f4f7f8;position:relative;z-index:2}
  .slide-stage .lesson-block{min-width:0;max-width:100%}
  .slide-stage .course-graphic{min-height:0}
  .graphic-stage{min-width:0;display:grid;place-items:center;padding:2px;overflow:hidden}
  .graphic-stage img{display:block;width:100%;height:auto;max-width:100%;max-height:min(54dvh,520px);object-fit:contain;transform:none!important;animation:none!important;will-change:auto!important}
}

/* Wide monitors are often relatively low. Reduce vertical chrome instead of hiding the navigation below the fold. */
@media(min-width:901px) and (max-height:900px){
  .cbt-main{padding-top:18px;padding-bottom:14px}
  .cbt-side{padding:22px 24px}.cbt-side .side-module-number{margin:18px 0 12px;width:44px;height:44px}.cbt-side h2{font-size:20px;margin:7px 0 10px}.cbt-side>p{font-size:12px;line-height:1.45}.language-badge{margin:14px 0 16px;padding:10px 12px}.side-progress-copy{padding-top:13px}
  .slide-topline{margin-bottom:9px}.slide-stage{gap:10px}.slide-nav{margin-top:8px;padding-top:10px}
  .slide-stage .hero-block{min-height:0;padding:26px}.slide-stage .hero-block p{font-size:16px}
  .slide-stage .teaching-block,.slide-stage .course-graphic,.slide-stage .note-block,.slide-stage .takeaway,.slide-stage .prompt-block,.slide-stage .practice-block{padding:22px}
  .slide-stage .lesson-block h2{font-size:clamp(23px,2.25vw,32px);margin-bottom:9px}
  .slide-stage .lesson-block p,.slide-stage .teaching-list{line-height:1.48}
  .slide-stage .lesson-cards{gap:9px}.slide-stage .lesson-cards article{padding:14px}.card-dot{margin-bottom:11px}
  .course-graphic{gap:18px;grid-template-columns:.62fr 1.38fr}.course-graphic .graphic-copy p{line-height:1.45}
  .graphic-stage img{max-height:min(48dvh,410px)}
  .practice-setting{line-height:1.55}.practice-question{margin:13px 0 9px}.practice-options{gap:6px}.practice-options li{padding-top:9px;padding-bottom:9px}
}

@media(min-width:901px) and (max-height:740px){
  .cbt-main{padding-top:12px;padding-bottom:10px}.slide-topline{margin-bottom:5px}.slide-nav{padding-top:8px}
  .cbt-side>p,.language-badge{display:none}.side-module-number{margin-top:14px!important}.side-dots{margin-top:8px}
  .slide-stage .hero-block,.slide-stage .teaching-block,.slide-stage .course-graphic,.slide-stage .note-block,.slide-stage .takeaway,.slide-stage .prompt-block,.slide-stage .practice-block{padding:17px 20px}
  .slide-stage .lesson-block h2{font-size:clamp(21px,2vw,28px)}
  .graphic-stage img{max-height:min(43dvh,330px)}
}

/* Graphic containers must never stretch or crop authored SVG text. */
.course-graphic,.course-graphic>*{min-width:0}.graphic-copy h2,.graphic-copy p{overflow-wrap:anywhere}.graphic-stage img{object-position:center center}

@media(max-width:900px){
  .partner-model-note{grid-template-columns:1fr;gap:14px}.partner-model-note .partner-free-badge{justify-self:start}.partner-detail-shell .platform-top{align-items:flex-start}
  .graphic-stage{min-width:0;overflow-x:auto}.graphic-stage img{max-width:100%;height:auto;transform:none!important;animation:none!important;will-change:auto!important}
}
@media(max-width:620px){.partner-privacy-list{grid-template-columns:1fr}.partner-card-head{align-items:flex-start;flex-direction:column}.partner-free-badge{white-space:normal;text-align:center}}
