/* PDL mobile learning UI — presentation only. All rules are intentionally mobile-gated. */
@media (max-width: 720px) {
  /* Active learning pages only: the JS-owned body classes are the page gate. */
  body.pdl-mobile-learning:is(.pdl-mobile-dashboard, .pdl-mobile-lesson, .pdl-mobile-course) {
    --pdl-mobile-header-height: calc(64px + env(safe-area-inset-top, 0px));
    --pdl-mobile-gutter: clamp(16px, 4vw, 22px);
    --pdl-mobile-safe-bottom: env(safe-area-inset-bottom, 0px);
    --pdl-mobile-dock-height: calc(78px + var(--pdl-mobile-safe-bottom));
    box-sizing: border-box;
    background: #f5f7fa;
    overflow-x: hidden;
    scroll-padding-block-start: var(--pdl-mobile-header-height);
    scroll-padding-block-end: var(--pdl-mobile-dock-height);
  }

  body.pdl-mobile-learning:is(.pdl-mobile-dashboard, .pdl-mobile-lesson, .pdl-mobile-course) *,
  body.pdl-mobile-learning:is(.pdl-mobile-dashboard, .pdl-mobile-lesson, .pdl-mobile-course) *::before,
  body.pdl-mobile-learning:is(.pdl-mobile-dashboard, .pdl-mobile-lesson, .pdl-mobile-course) *::after {
    box-sizing: border-box;
  }

  body.pdl-mobile-learning:is(.pdl-mobile-dashboard, .pdl-mobile-lesson, .pdl-mobile-course) .pdl-site-header {
    display: none !important;
  }

  body.pdl-mobile-learning:is(.pdl-mobile-dashboard, .pdl-mobile-lesson, .pdl-mobile-course) .pdl-mobile-header {
    position: sticky;
    inset-block-start: 0;
    z-index: 30;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    min-height: var(--pdl-mobile-header-height);
    padding: env(safe-area-inset-top, 0px) var(--pdl-mobile-gutter) 8px;
    border-block-end: 1px solid #e3e8ef;
    background: #fff;
    color: #01275a;
  }

  body.pdl-mobile-learning:is(.pdl-mobile-dashboard, .pdl-mobile-lesson, .pdl-mobile-course) .pdl-mobile-header > *,
  body.pdl-mobile-learning:is(.pdl-mobile-dashboard, .pdl-mobile-lesson, .pdl-mobile-course) .pdl-mobile-header .pdl-brand,
  body.pdl-mobile-learning:is(.pdl-mobile-dashboard, .pdl-mobile-lesson, .pdl-mobile-course) .pdl-mobile-header [class*="brand"] {
    min-width: 0;
  }

  body.pdl-mobile-learning:is(.pdl-mobile-dashboard, .pdl-mobile-lesson, .pdl-mobile-course) .pdl-mobile-header a {
    color: #01275a;
    text-decoration: none;
  }

  body.pdl-mobile-learning:is(.pdl-mobile-dashboard, .pdl-mobile-lesson, .pdl-mobile-course) .pdl-mobile-header img {
    display: block;
    width: auto;
    max-width: min(58vw, 190px);
    height: auto;
    max-height: 42px;
    object-fit: contain;
  }

  body.pdl-mobile-learning:is(.pdl-mobile-dashboard, .pdl-mobile-lesson, .pdl-mobile-course) .pdl-mobile-header > a:last-child,
  body.pdl-mobile-learning:is(.pdl-mobile-dashboard, .pdl-mobile-lesson, .pdl-mobile-course) .pdl-mobile-header [class*="account"],
  body.pdl-mobile-learning:is(.pdl-mobile-dashboard, .pdl-mobile-lesson, .pdl-mobile-course) .pdl-mobile-header [class*="profile"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    padding: 6px 10px;
    border: 1px solid #d8e1ec;
    border-radius: 999px;
    background: #fff;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.4;
  }

  /* Shared page frame and content hygiene. */
  body.pdl-mobile-learning:is(.pdl-mobile-dashboard, .pdl-mobile-course) .pdl-content,
  body.pdl-mobile-learning.pdl-mobile-lesson .pdl-content {
    width: 100%;
    max-width: none;
    padding: 0 !important;
  }

  body.pdl-mobile-learning:is(.pdl-mobile-dashboard, .pdl-mobile-course) .pdl-entry,
  body.pdl-mobile-learning.pdl-mobile-lesson .pdl-entry {
    width: 100%;
    max-width: none !important;
    margin: 0;
    padding: 0;
  }

  body.pdl-mobile-learning:is(.pdl-mobile-dashboard, .pdl-mobile-course) .pdl-member-dashboard,
  body.pdl-mobile-learning:is(.pdl-mobile-dashboard, .pdl-mobile-course) .pdl-course-overview {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    padding-inline: var(--pdl-mobile-gutter);
    padding-block-end: calc(var(--pdl-mobile-dock-height) + 24px);
  }

  body.pdl-mobile-learning:is(.pdl-mobile-dashboard, .pdl-mobile-course) img,
  body.pdl-mobile-learning:is(.pdl-mobile-dashboard, .pdl-mobile-course) iframe,
  body.pdl-mobile-learning:is(.pdl-mobile-dashboard, .pdl-mobile-course) video {
    max-width: 100%;
  }

  body.pdl-mobile-learning:is(.pdl-mobile-dashboard, .pdl-mobile-course) a,
  body.pdl-mobile-learning:is(.pdl-mobile-dashboard, .pdl-mobile-course) button,
  body.pdl-mobile-learning:is(.pdl-mobile-dashboard, .pdl-mobile-course) input,
  body.pdl-mobile-learning:is(.pdl-mobile-dashboard, .pdl-mobile-course) select,
  body.pdl-mobile-learning:is(.pdl-mobile-dashboard, .pdl-mobile-course) textarea {
    font-size: 16px;
  }

  /* Dashboard heading, existing program card, and existing course cards. */
  body.pdl-mobile-learning.pdl-mobile-dashboard .pdl-learn-topline {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
    margin: 0;
    padding: 22px 0 16px;
  }

  body.pdl-mobile-learning.pdl-mobile-dashboard .pdl-learn-topline h2 {
    flex: 1 1 100%;
    margin: 0;
    color: #01275a;
    font-size: clamp(24px, 7vw, 32px);
    line-height: 1.35;
  }

  body.pdl-mobile-learning.pdl-mobile-dashboard .pdl-learn-hello {
    min-width: 0;
    color: #667085;
    font-size: 14px;
    line-height: 1.7;
  }

  body.pdl-mobile-learning.pdl-mobile-dashboard .pdl-learn-browse {
    min-height: 44px;
    padding: 10px 13px;
    border-radius: 9px;
    font-size: 13px;
    line-height: 1.4;
  }

  body.pdl-mobile-learning.pdl-mobile-dashboard .pdl-my-learning {
    min-width: 0;
  }

  body.pdl-mobile-learning.pdl-mobile-dashboard .pdl-hub-card {
    display: block;
    min-width: 0;
    margin: 0 0 14px;
    padding: 18px;
    border-radius: 16px;
    background: linear-gradient(135deg, #001a3e, #01275a);
    box-shadow: 0 10px 24px rgba(1, 39, 90, .16);
    overflow-wrap: anywhere;
  }

  body.pdl-mobile-learning.pdl-mobile-dashboard .pdl-hub-card-body {
    max-width: none;
  }

  body.pdl-mobile-learning.pdl-mobile-dashboard .pdl-hub-kicker {
    max-width: 100%;
    margin-block-end: 8px;
    color: #f0c85d;
    font-size: 12px;
    line-height: 1.55;
  }

  body.pdl-mobile-learning.pdl-mobile-dashboard .pdl-hub-card h3 {
    display: block;
    margin: 4px 0 12px;
    color: #fff;
    font-size: 19px;
    line-height: 1.55;
    overflow-wrap: anywhere;
  }

  body.pdl-mobile-learning.pdl-mobile-dashboard .pdl-hub-card-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    margin: 0;
    padding: 9px 14px;
    border-radius: 9px;
    background: #e7b94d;
    color: #001a3e;
    font-size: 14px;
    line-height: 1.35;
  }

  body.pdl-mobile-learning.pdl-mobile-dashboard .pdl-enrolled-courses {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    width: 100%;
    min-width: 0;
  }

  body.pdl-mobile-learning.pdl-mobile-dashboard .pdl-enrolled-courses article {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    width: 100%;
    min-width: 0;
    min-height: 112px;
    border: 1px solid #e1e7ef;
    border-radius: 13px;
    background: #fff;
    box-shadow: 0 3px 12px rgba(10, 42, 82, .06);
    overflow: hidden;
  }

  body.pdl-mobile-learning.pdl-mobile-dashboard .pdl-enrolled-courses article:not(:first-child) .pdl-enrolled-cover {
    flex: 0 0 76px;
    align-self: center;
    width: 76px;
    height: 76px;
    margin: 10px 10px 10px 0;
    border-radius: 10px;
    aspect-ratio: 1;
  }

  body.pdl-mobile-learning.pdl-mobile-dashboard .pdl-enrolled-courses article:not(:first-child) .pdl-enrolled-body {
    flex: 1 1 auto;
    min-width: 0;
    padding: 12px 13px;
    gap: 6px;
  }

  body.pdl-mobile-learning.pdl-mobile-dashboard .pdl-enrolled-courses article:not(:first-child) .pdl-enrolled-body > span {
    align-self: flex-start;
    max-width: 100%;
    padding: 2px 8px;
    font-size: 11px;
    line-height: 1.55;
    white-space: normal;
  }

  body.pdl-mobile-learning.pdl-mobile-dashboard .pdl-enrolled-courses article:not(:first-child) .pdl-enrolled-body h4 {
    min-width: 0;
    min-height: 0;
    margin: 0;
    color: #01275a;
    font-size: 16px;
    line-height: 1.55;
    overflow-wrap: anywhere;
    word-break: normal;
  }

  body.pdl-mobile-learning.pdl-mobile-dashboard .pdl-enrolled-courses article:not(:first-child) .pdl-learning-progress {
    margin-block-start: auto;
  }

  body.pdl-mobile-learning.pdl-mobile-dashboard .pdl-enrolled-courses article:not(:first-child) .pdl-learning-progress > div {
    margin-block-end: 4px;
  }

  body.pdl-mobile-learning.pdl-mobile-dashboard .pdl-enrolled-courses article:not(:first-child) .pdl-learning-progress strong {
    font-size: 13px;
  }

  body.pdl-mobile-learning.pdl-mobile-dashboard .pdl-enrolled-courses article:not(:first-child) .pdl-learning-progress div span {
    font-size: 11px;
  }

  body.pdl-mobile-learning.pdl-mobile-dashboard .pdl-enrolled-courses article:not(:first-child) .pdl-enrolled-body > a {
    align-self: flex-start;
    width: auto;
    max-width: 100%;
    min-height: 40px;
    margin: 2px 0 0;
    padding: 8px 11px;
    border: 1px solid #01275a;
    border-radius: 8px;
    background: #fff;
    color: #01275a !important;
    font-size: 13px;
    line-height: 1.35;
    text-align: center;
    overflow-wrap: anywhere;
  }

  /* The first real course card is the featured card; no clone or content replacement. */
  body.pdl-mobile-learning.pdl-mobile-dashboard .pdl-enrolled-courses article:first-child {
    display: flex;
    flex-direction: column;
    min-height: 0;
    border-color: #01275a;
    background: linear-gradient(135deg, #001a3e, #01275a);
    box-shadow: 0 10px 26px rgba(1, 39, 90, .2);
  }

  body.pdl-mobile-learning.pdl-mobile-dashboard .pdl-enrolled-courses article:first-child .pdl-enrolled-cover {
    flex: 0 0 100px;
    width: 100%;
    height: 100px;
    aspect-ratio: auto;
    background: #01275a;
  }

  body.pdl-mobile-learning.pdl-mobile-dashboard .pdl-enrolled-courses article:first-child .pdl-enrolled-cover img {
    opacity: .72;
  }

  body.pdl-mobile-learning.pdl-mobile-dashboard .pdl-enrolled-courses article:first-child .pdl-enrolled-body {
    min-width: 0;
    padding: 17px 18px 18px;
    gap: 9px;
  }

  body.pdl-mobile-learning.pdl-mobile-dashboard .pdl-enrolled-courses article:first-child .pdl-enrolled-body > span {
    align-self: flex-start;
    color: #f6d57c;
    background: rgba(231, 185, 77, .14);
    border-color: rgba(231, 185, 77, .45);
    font-size: 12px;
  }

  body.pdl-mobile-learning.pdl-mobile-dashboard .pdl-enrolled-courses article:first-child .pdl-enrolled-body h4 {
    min-width: 0;
    min-height: 0;
    margin: 0;
    color: #fff;
    font-size: 21px;
    line-height: 1.5;
    overflow-wrap: anywhere;
  }

  body.pdl-mobile-learning.pdl-mobile-dashboard .pdl-enrolled-courses article:first-child .pdl-learning-progress {
    margin-block-start: 2px;
  }

  body.pdl-mobile-learning.pdl-mobile-dashboard .pdl-enrolled-courses article:first-child .pdl-learning-progress strong,
  body.pdl-mobile-learning.pdl-mobile-dashboard .pdl-enrolled-courses article:first-child .pdl-learning-progress div span {
    color: #fff;
  }

  body.pdl-mobile-learning.pdl-mobile-dashboard .pdl-enrolled-courses article:first-child .pdl-progress-track {
    background: rgba(255, 255, 255, .35);
  }

  body.pdl-mobile-learning.pdl-mobile-dashboard .pdl-enrolled-courses article:first-child .pdl-enrolled-body > a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 48px;
    margin: 2px 0 0;
    padding: 11px 16px;
    border-radius: 9px;
    background: #e7b94d;
    color: #001a3e !important;
    font-size: 15px;
    line-height: 1.35;
    text-align: center;
  }

  body.pdl-mobile-learning.pdl-mobile-dashboard .pdl-dashboard-footer {
    margin-block: 18px 0;
    padding-block-end: 8px;
  }

  /* Dashboard dock: JS supplies the real dashboard destinations and current state. */
  body.pdl-mobile-learning.pdl-mobile-dashboard .pdl-mobile-bottom-nav {
    position: fixed;
    inset-inline: 0;
    inset-block-end: 0;
    z-index: 40;
    display: flex;
    align-items: stretch;
    justify-content: space-around;
    gap: 4px;
    min-height: var(--pdl-mobile-dock-height);
    padding: 8px 10px var(--pdl-mobile-safe-bottom);
    border-block-start: 1px solid #e2e7ed;
    background: rgba(255, 255, 255, .98);
    box-shadow: 0 -8px 24px rgba(10, 42, 82, .08);
  }

  body.pdl-mobile-learning.pdl-mobile-dashboard .pdl-mobile-bottom-nav a {
    display: flex;
    flex: 1 1 0;
    align-items: center;
    justify-content: center;
    min-width: 0;
    min-height: 48px;
    padding: 6px 4px;
    border-radius: 9px;
    color: #667085;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.35;
    text-align: center;
    text-decoration: none;
    overflow-wrap: anywhere;
  }

  body.pdl-mobile-learning.pdl-mobile-dashboard .pdl-mobile-bottom-nav a[aria-current="page"],
  body.pdl-mobile-learning.pdl-mobile-dashboard .pdl-mobile-bottom-nav a.is-current,
  body.pdl-mobile-learning.pdl-mobile-dashboard .pdl-mobile-bottom-nav a.current {
    color: #01275a;
    background: #fff9e7;
    box-shadow: inset 0 -3px 0 #e7b94d;
  }

  /* Lesson/course tool row and progress, supplied by JS without replacing native text. */
  body.pdl-mobile-learning:is(.pdl-mobile-lesson, .pdl-mobile-course) .pdl-mobile-lesson-tools {
    position: sticky;
    inset-block-start: var(--pdl-mobile-header-height);
    z-index: 20;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    width: 100%;
    min-width: 0;
    padding: 10px var(--pdl-mobile-gutter);
    border-block-end: 1px solid #e4e9ef;
    background: rgba(247, 249, 252, .98);
  }

  body.pdl-mobile-learning:is(.pdl-mobile-lesson, .pdl-mobile-course) .pdl-mobile-lesson-tools > *,
  body.pdl-mobile-learning:is(.pdl-mobile-lesson, .pdl-mobile-course) .pdl-mobile-lesson-tools [class*="course"],
  body.pdl-mobile-learning:is(.pdl-mobile-lesson, .pdl-mobile-course) .pdl-mobile-lesson-tools [class*="progress"] {
    min-width: 0;
  }

  body.pdl-mobile-learning:is(.pdl-mobile-lesson, .pdl-mobile-course) .pdl-mobile-lesson-tools [class*="course"] {
    color: #01275a;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.5;
    overflow-wrap: anywhere;
  }

  body.pdl-mobile-learning:is(.pdl-mobile-lesson, .pdl-mobile-course) .pdl-mobile-lesson-tools [class*="progress"] {
    grid-column: 1 / -1;
    color: #667085;
    font-size: 12px;
    line-height: 1.4;
  }

  body.pdl-mobile-learning:is(.pdl-mobile-lesson, .pdl-mobile-course) .pdl-mobile-lesson-tools .pdl-progress-track {
    display: block;
    width: 100%;
    height: 7px;
    margin-block-start: 5px;
    border-radius: 999px;
    background: #dfe6ee;
    overflow: hidden;
  }

  body.pdl-mobile-learning:is(.pdl-mobile-lesson, .pdl-mobile-course) .pdl-mobile-lesson-tools .pdl-progress-track i {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #e7b94d, #f3cb68);
  }

  body.pdl-mobile-learning:is(.pdl-mobile-lesson, .pdl-mobile-course) .pdl-mobile-curriculum-open,
  body.pdl-mobile-learning:is(.pdl-mobile-lesson, .pdl-mobile-course) .pdl-mobile-curriculum-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 9px 13px;
    border: 1px solid #01275a;
    border-radius: 9px;
    background: #fff;
    color: #01275a;
    font: 700 14px/1.35 inherit;
    cursor: pointer;
  }

  body.pdl-mobile-learning:is(.pdl-mobile-lesson, .pdl-mobile-course) .pdl-mobile-curriculum-open:focus-visible,
  body.pdl-mobile-learning:is(.pdl-mobile-lesson, .pdl-mobile-course) .pdl-mobile-curriculum-close:focus-visible,
  body.pdl-mobile-learning.pdl-mobile-dashboard .pdl-mobile-bottom-nav a:focus-visible {
    outline: 3px solid rgba(231, 185, 77, .55);
    outline-offset: 2px;
  }

  /* On mobile the lesson text leads; the native sidebar is shown only in the drawer. */
  body.pdl-mobile-learning.pdl-mobile-lesson {
    --pdl-mobile-dock-height: calc(130px + var(--pdl-mobile-safe-bottom));
  }

  body.pdl-mobile-learning.pdl-mobile-lesson .pdl-learning-room {
    display: flex;
    flex-direction: column;
    width: 100%;
    min-width: 0;
    min-height: 0;
    margin: 0;
    border: 0;
    background: #fff;
    box-shadow: none;
  }

  body.pdl-mobile-learning.pdl-mobile-lesson .pdl-learning-room > .pdl-learning-sidebar {
    display: none;
  }

  body.pdl-mobile-learning.pdl-mobile-lesson .pdl-lesson-view {
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 20px var(--pdl-mobile-gutter) calc(var(--pdl-mobile-dock-height) + 24px);
    background: #fff;
    scroll-margin-block-start: var(--pdl-mobile-header-height);
  }

  body.pdl-mobile-learning.pdl-mobile-lesson .pdl-lesson-top {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 0 0 10px;
    color: #667085;
    font-size: 12px;
    line-height: 1.5;
  }

  body.pdl-mobile-learning.pdl-mobile-lesson .pdl-lesson-top span {
    max-width: 100%;
    padding: 5px 9px;
    border: 1px solid #e2e7ed;
    border-radius: 999px;
    background: #f7f9fb;
    overflow-wrap: anywhere;
  }

  body.pdl-mobile-learning.pdl-mobile-lesson .pdl-lesson-view > h2 {
    max-width: 100%;
    margin: 8px 0 20px;
    color: #01275a;
    font-size: clamp(24px, 7vw, 30px);
    line-height: 1.5;
    overflow-wrap: anywhere;
    word-break: normal;
  }

  body.pdl-mobile-learning.pdl-mobile-lesson .pdl-lesson-video,
  body.pdl-mobile-learning.pdl-mobile-lesson .pdl-pdf-frame,
  body.pdl-mobile-learning.pdl-mobile-lesson .pdl-lesson-content,
  body.pdl-mobile-learning.pdl-mobile-lesson .pdl-lesson-resources {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  body.pdl-mobile-learning.pdl-mobile-lesson .pdl-lesson-video {
    margin-block: 0 24px;
    border-radius: 11px;
  }

  body.pdl-mobile-learning.pdl-mobile-lesson .pdl-lesson-video iframe,
  body.pdl-mobile-learning.pdl-mobile-lesson .pdl-lesson-video video,
  body.pdl-mobile-learning.pdl-mobile-lesson .pdl-lesson-video .wp-video,
  body.pdl-mobile-learning.pdl-mobile-lesson .pdl-pdf-frame iframe {
    display: block;
    width: 100% !important;
    max-width: 100%;
  }

  body.pdl-mobile-learning.pdl-mobile-lesson .pdl-lesson-content,
  body.pdl-mobile-learning.pdl-mobile-lesson .pdl-lesson-content p,
  body.pdl-mobile-learning.pdl-mobile-lesson .pdl-lesson-content li {
    color: #273449;
    font-size: 16px;
    line-height: 1.95;
  }

  body.pdl-mobile-learning.pdl-mobile-lesson .pdl-lesson-content > *,
  body.pdl-mobile-learning.pdl-mobile-lesson .pdl-lesson-content * {
    max-width: 100%;
    overflow-wrap: anywhere;
  }

  body.pdl-mobile-learning.pdl-mobile-lesson .pdl-lesson-content h2,
  body.pdl-mobile-learning.pdl-mobile-lesson .pdl-lesson-content h3,
  body.pdl-mobile-learning.pdl-mobile-lesson .pdl-lesson-content h4 {
    max-width: 100%;
    color: #01275a;
    line-height: 1.55;
    overflow-wrap: anywhere;
  }

  body.pdl-mobile-learning.pdl-mobile-lesson .pdl-lesson-content h2 {
    font-size: 23px;
  }

  body.pdl-mobile-learning.pdl-mobile-lesson .pdl-lesson-content h3 {
    font-size: 20px;
  }

  body.pdl-mobile-learning.pdl-mobile-lesson .pdl-lesson-content h4 {
    font-size: 18px;
  }

  body.pdl-mobile-learning.pdl-mobile-lesson .pdl-lesson-content img,
  body.pdl-mobile-learning.pdl-mobile-lesson .pdl-lesson-content svg,
  body.pdl-mobile-learning.pdl-mobile-lesson .pdl-lesson-content canvas {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    margin-inline: auto;
  }

  body.pdl-mobile-learning.pdl-mobile-lesson .pdl-lesson-content iframe {
    display: block;
    width: 100%;
    max-width: 100%;
    border: 0;
  }

  body.pdl-mobile-learning.pdl-mobile-lesson .pdl-lesson-content pre,
  body.pdl-mobile-learning.pdl-mobile-lesson .pdl-lesson-content code {
    max-width: 100%;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
  }

  /* JS wraps raw tables here; only the wrapper scrolls, never the page. */
  body.pdl-mobile-learning.pdl-mobile-lesson .pdl-mobile-table-scroll,
  body.pdl-mobile-learning.pdl-mobile-course .pdl-mobile-table-scroll {
    display: block;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin-block: 18px;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-inline: contain;
    border: 1px solid #e2e7ed;
    border-radius: 10px;
  }

  body.pdl-mobile-learning.pdl-mobile-lesson .pdl-mobile-table-scroll table,
  body.pdl-mobile-learning.pdl-mobile-course .pdl-mobile-table-scroll table {
    width: max-content;
    min-width: 500px;
    max-width: none;
    margin: 0;
    border-collapse: collapse;
  }

  body.pdl-mobile-learning.pdl-mobile-lesson .pdl-mobile-table-scroll th,
  body.pdl-mobile-learning.pdl-mobile-lesson .pdl-mobile-table-scroll td,
  body.pdl-mobile-learning.pdl-mobile-course .pdl-mobile-table-scroll th,
  body.pdl-mobile-learning.pdl-mobile-course .pdl-mobile-table-scroll td {
    min-width: 110px;
    padding: 10px 12px;
    font-size: 14px;
    line-height: 1.7;
    vertical-align: top;
  }

  body.pdl-mobile-learning.pdl-mobile-lesson .pdl-pdf-frame {
    margin-block: 20px;
    border-radius: 11px;
  }

  body.pdl-mobile-learning.pdl-mobile-lesson .pdl-pdf-frame-head {
    align-items: flex-start;
    flex-wrap: wrap;
    padding: 10px 12px;
    font-size: 13px;
    line-height: 1.55;
  }

  body.pdl-mobile-learning.pdl-mobile-lesson .pdl-pdf-frame iframe {
    height: min(60vh, 440px) !important;
  }

  /* Resource details fold only native attachments/captions; no generated material. */
  body.pdl-mobile-learning.pdl-mobile-lesson .pdl-mobile-resource-details {
    width: 100%;
    max-width: 100%;
    margin-block: 22px;
    border: 1px solid #e2e7ed;
    border-radius: 11px;
    background: #fff;
    overflow: hidden;
  }

  body.pdl-mobile-learning.pdl-mobile-lesson details.pdl-mobile-resource-details > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 52px;
    padding: 12px 14px;
    cursor: pointer;
    list-style: none;
    color: #01275a;
    font-size: 16px;
    font-weight: 800;
    line-height: 1.5;
  }

  body.pdl-mobile-learning.pdl-mobile-lesson details.pdl-mobile-resource-details > summary::-webkit-details-marker {
    display: none;
  }

  body.pdl-mobile-learning.pdl-mobile-lesson details.pdl-mobile-resource-details > summary::after {
    content: "⌄";
    color: #667085;
    font-size: 20px;
    line-height: 1;
    transition: transform .15s ease;
  }

  body.pdl-mobile-learning.pdl-mobile-lesson details.pdl-mobile-resource-details[open] > summary::after {
    transform: rotate(180deg);
  }

  body.pdl-mobile-learning.pdl-mobile-lesson .pdl-mobile-resource-details .pdl-lesson-resources {
    margin: 0;
    padding: 0 14px 14px;
    border: 0;
    border-block-start: 1px solid #e2e7ed;
    border-radius: 0;
    background: #fff;
  }

  body.pdl-mobile-learning.pdl-mobile-lesson .pdl-mobile-resource-details .pdl-lesson-resources h3 {
    display: none;
  }

  body.pdl-mobile-learning.pdl-mobile-lesson .pdl-mobile-resource-details a {
    display: block;
    min-height: 44px;
    margin: 0;
    padding: 10px 0;
    color: #01275a;
    font-size: 15px;
    line-height: 1.6;
    overflow-wrap: anywhere;
  }

  /* Native completion/navigation elements dock; hidden quiz controls remain hidden by their own state. */
  body.pdl-mobile-learning.pdl-mobile-lesson .pdl-mobile-controls {
    position: fixed;
    inset-inline: 0;
    inset-block-end: 0;
    z-index: 40;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto auto;
    gap: 6px;
    width: 100%;
    min-height: var(--pdl-mobile-dock-height);
    padding: 8px var(--pdl-mobile-gutter) var(--pdl-mobile-safe-bottom);
    border-block-start: 1px solid #e2e7ed;
    background: rgba(255, 255, 255, .98);
    box-shadow: 0 -8px 24px rgba(10, 42, 82, .08);
  }

  body.pdl-mobile-learning.pdl-mobile-lesson .pdl-mobile-controls .pdl-lesson-completion {
    display: block;
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
  }

  body.pdl-mobile-learning.pdl-mobile-lesson .pdl-mobile-controls .pdl-complete-form {
    margin: 0;
  }

  body.pdl-mobile-learning.pdl-mobile-lesson .pdl-mobile-controls .pdl-complete-form button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 48px;
    padding: 10px 14px;
    border-radius: 9px;
    font-size: 15px;
    line-height: 1.35;
    overflow-wrap: anywhere;
  }

  body.pdl-mobile-learning.pdl-mobile-lesson .pdl-mobile-controls .pdl-lesson-nav {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 8px;
    min-width: 0;
    padding: 0;
    border: 0;
  }

  body.pdl-mobile-learning.pdl-mobile-lesson .pdl-mobile-controls .pdl-lesson-nav a,
  body.pdl-mobile-learning.pdl-mobile-lesson .pdl-mobile-controls .pdl-lesson-nav > span {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    min-height: 38px;
    padding: 5px 6px;
    color: #01275a;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.35;
    text-align: center;
    overflow-wrap: anywhere;
  }

  body.pdl-mobile-learning.pdl-mobile-lesson .pdl-mobile-controls .pdl-lesson-nav a {
    text-decoration: none;
  }

  body.pdl-mobile-learning.pdl-mobile-lesson .pdl-mobile-controls .pdl-lesson-nav .pdl-next-locked {
    color: #667085;
    font-size: 12px;
  }

  /* Native curriculum drawer: closed by default; only its content scrolls while open. */
  body.pdl-mobile-learning.pdl-mobile-lesson dialog.pdl-mobile-curriculum,
  body.pdl-mobile-learning.pdl-mobile-lesson .pdl-mobile-curriculum {
    display: none;
  }

  body.pdl-mobile-learning.pdl-mobile-lesson dialog.pdl-mobile-curriculum[open],
  body.pdl-mobile-learning.pdl-mobile-lesson .pdl-mobile-curriculum.is-open {
    position: fixed;
    inset-block: 0;
    inset-inline-end: 0;
    z-index: 1000;
    display: flex;
    flex-direction: column;
    width: min(100%, 390px);
    height: 100dvh;
    max-height: 100dvh;
    margin: 0;
    padding: 0;
    border: 0;
    background: #fff;
    color: #26364b;
    box-shadow: -12px 0 35px rgba(1, 39, 90, .18);
  }

  body.pdl-mobile-learning.pdl-mobile-lesson dialog.pdl-mobile-curriculum::backdrop {
    background: rgba(1, 26, 62, .58);
  }

  body.pdl-mobile-learning.pdl-mobile-lesson .pdl-mobile-curriculum:not([open]):not(.is-open) {
    pointer-events: none;
  }

  body.pdl-mobile-learning.pdl-mobile-lesson .pdl-mobile-curriculum > header,
  body.pdl-mobile-learning.pdl-mobile-lesson .pdl-mobile-curriculum > .pdl-mobile-curriculum-header,
  body.pdl-mobile-learning.pdl-mobile-lesson .pdl-mobile-curriculum > .pdl-mobile-drawer-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex: 0 0 auto;
    gap: 10px;
    min-height: 64px;
    padding: 10px 14px;
    border-block-end: 1px solid #e2e7ed;
    background: #fff;
  }

  body.pdl-mobile-learning.pdl-mobile-lesson .pdl-mobile-curriculum h2,
  body.pdl-mobile-learning.pdl-mobile-lesson .pdl-mobile-curriculum h3 {
    min-width: 0;
    margin: 0;
    color: #01275a;
    font-size: 20px;
    line-height: 1.5;
    overflow-wrap: anywhere;
  }

  body.pdl-mobile-learning.pdl-mobile-lesson .pdl-mobile-curriculum-close {
    flex: 0 0 auto;
    min-width: 44px;
    padding-inline: 10px;
  }

  body.pdl-mobile-learning.pdl-mobile-lesson .pdl-mobile-drawer-content {
    flex: 1 1 auto;
    min-height: 0;
    overflow: visible;
    overscroll-behavior: contain;
  }

  body.pdl-mobile-learning.pdl-mobile-lesson dialog.pdl-mobile-curriculum[open] .pdl-mobile-drawer-content,
  body.pdl-mobile-learning.pdl-mobile-lesson .pdl-mobile-curriculum.is-open .pdl-mobile-drawer-content {
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    scroll-padding-block-end: 16px;
  }

  body.pdl-mobile-learning.pdl-mobile-lesson .pdl-mobile-drawer-content .pdl-learning-sidebar {
    display: block;
    position: static;
    width: 100%;
    max-width: none;
    max-height: none;
    overflow: visible;
    border: 0;
  }

  body.pdl-mobile-learning.pdl-mobile-lesson .pdl-mobile-drawer-content .pdl-course-back {
    min-height: 48px;
    padding: 13px 16px;
    font-size: 14px;
    line-height: 1.5;
    overflow-wrap: anywhere;
  }

  body.pdl-mobile-learning.pdl-mobile-lesson .pdl-mobile-drawer-content .pdl-sidebar-progress {
    padding: 15px 16px;
  }

  body.pdl-mobile-learning.pdl-mobile-lesson .pdl-mobile-drawer-content .pdl-learning-sidebar h3 {
    padding: 13px 16px !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    overflow-wrap: anywhere;
  }

  body.pdl-mobile-learning.pdl-mobile-lesson .pdl-mobile-drawer-content .pdl-learning-sidebar section a,
  body.pdl-mobile-learning.pdl-mobile-lesson .pdl-mobile-drawer-content .pdl-sidebar-locked {
    min-height: 48px;
    padding: 11px 16px;
    font-size: 14px;
    line-height: 1.6;
    overflow-wrap: anywhere;
  }

  body.pdl-mobile-learning.pdl-mobile-lesson .pdl-mobile-drawer-content .pdl-learning-sidebar section a.is-current {
    border-inline-start: 0;
    border-inline-end: 4px solid #e7b94d;
    background: #e8eef6;
  }

  /* Course overview remains a real page: compact readable chapter list, no content rewriting. */
  body.pdl-mobile-learning.pdl-mobile-course .pdl-course-overview {
    padding-block-start: 18px;
  }

  body.pdl-mobile-learning.pdl-mobile-course .pdl-course-overview > .pdl-learning-progress {
    width: 100%;
    max-width: none;
    margin: 0 0 18px;
    padding: 14px;
    border-radius: 10px;
  }

  body.pdl-mobile-learning.pdl-mobile-course .pdl-learning-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    max-width: 100%;
    padding: 10px 16px;
    border-radius: 9px;
    font-size: 15px;
    line-height: 1.4;
    text-align: center;
    overflow-wrap: anywhere;
  }

  body.pdl-mobile-learning.pdl-mobile-course .pdl-chapter-list {
    display: grid;
    gap: 10px;
    margin-block-start: 20px;
  }

  body.pdl-mobile-learning.pdl-mobile-course .pdl-chapter {
    min-width: 0;
    border-radius: 10px;
    overflow: hidden;
  }

  body.pdl-mobile-learning.pdl-mobile-course .pdl-chapter summary {
    min-height: 56px;
    gap: 10px;
    padding: 12px 14px;
  }

  body.pdl-mobile-learning.pdl-mobile-course .pdl-chapter summary strong,
  body.pdl-mobile-learning.pdl-mobile-course .pdl-chapter summary em {
    min-width: 0;
    overflow-wrap: anywhere;
  }

  body.pdl-mobile-learning.pdl-mobile-course .pdl-chapter summary strong {
    font-size: 16px;
    line-height: 1.5;
  }

  body.pdl-mobile-learning.pdl-mobile-course .pdl-chapter summary em {
    flex: 0 0 auto;
    font-size: 12px;
  }

  body.pdl-mobile-learning.pdl-mobile-course .pdl-chapter > p {
    padding: 0 14px;
    font-size: 15px;
    line-height: 1.8;
    overflow-wrap: anywhere;
  }

  body.pdl-mobile-learning.pdl-mobile-course .pdl-chapter li {
    grid-template-columns: 22px minmax(0, 1fr) auto;
    gap: 8px;
    min-width: 0;
    padding: 12px 14px;
  }

  body.pdl-mobile-learning.pdl-mobile-course .pdl-chapter li strong,
  body.pdl-mobile-learning.pdl-mobile-course .pdl-chapter li small,
  body.pdl-mobile-learning.pdl-mobile-course .pdl-chapter li a,
  body.pdl-mobile-learning.pdl-mobile-course .pdl-chapter li b {
    min-width: 0;
    font-size: 14px;
    line-height: 1.6;
    overflow-wrap: anywhere;
  }

  /* Existing floating controls remain available and clear the mobile dock. */
  body.pdl-mobile-learning:is(.pdl-mobile-dashboard, .pdl-mobile-lesson, .pdl-mobile-course) .pdl-support-fab,
  body.pdl-mobile-learning:is(.pdl-mobile-dashboard, .pdl-mobile-lesson, .pdl-mobile-course) .pdl-sail-fab {
    inset-block-end: calc(var(--pdl-mobile-dock-height) + 12px) !important;
  }

  body.pdl-mobile-learning:is(.pdl-mobile-dashboard, .pdl-mobile-lesson, .pdl-mobile-course) .pdl-support-fab {
    inset-inline-end: 14px;
  }

  body.pdl-mobile-learning:is(.pdl-mobile-dashboard, .pdl-mobile-lesson, .pdl-mobile-course) .pdl-sail-fab {
    inset-inline-start: 14px;
  }

  body.pdl-mobile-learning:is(.pdl-mobile-dashboard, .pdl-mobile-lesson, .pdl-mobile-course) .pdl-support-drawer,
  body.pdl-mobile-learning:is(.pdl-mobile-dashboard, .pdl-mobile-lesson, .pdl-mobile-course) .pdl-sail-modal {
    max-width: calc(100vw - 20px);
  }

  body.pdl-mobile-learning:is(.pdl-mobile-dashboard, .pdl-mobile-lesson, .pdl-mobile-course) .pdl-support-drawer__body,
  body.pdl-mobile-learning:is(.pdl-mobile-dashboard, .pdl-mobile-lesson, .pdl-mobile-course) .pdl-sail-body {
    padding-bottom: calc(22px + var(--pdl-mobile-safe-bottom));
  }

  /* Component alignment and measured-height safety, still mobile/page gated. */
  body.pdl-mobile-learning:is(.pdl-mobile-dashboard,.pdl-mobile-lesson,.pdl-mobile-course) { --pdl-mobile-admin-offset: 0px; }
  body.pdl-mobile-learning:is(.pdl-mobile-dashboard,.pdl-mobile-lesson,.pdl-mobile-course).admin-bar { --pdl-mobile-admin-offset: 46px; }
  body.pdl-mobile-learning:is(.pdl-mobile-dashboard,.pdl-mobile-lesson,.pdl-mobile-course) .pdl-mobile-header { inset-block-start: var(--pdl-mobile-admin-offset); }
  body.pdl-mobile-learning:is(.pdl-mobile-dashboard,.pdl-mobile-lesson,.pdl-mobile-course) .pdl-mobile-header .pdl-mobile-brand { background:#001a3e; padding:8px 12px; border-radius:8px; max-width:60%; }
  body.pdl-mobile-learning:is(.pdl-mobile-dashboard,.pdl-mobile-lesson,.pdl-mobile-course) .pdl-mobile-header .pdl-mobile-brand img { width:156px; max-width:100%; }
  body.pdl-mobile-learning:is(.pdl-mobile-dashboard,.pdl-mobile-lesson,.pdl-mobile-course) .pdl-mobile-header > a:last-child { gap:5px; }
  body.pdl-mobile-learning:is(.pdl-mobile-lesson,.pdl-mobile-course) .pdl-mobile-lesson-tools { inset-block-start:calc(var(--pdl-mobile-header-height) + var(--pdl-mobile-admin-offset)); }
  body.pdl-mobile-learning.pdl-mobile-lesson .pdl-mobile-course-label { grid-column:1; grid-row:1; }
  body.pdl-mobile-learning.pdl-mobile-lesson .pdl-mobile-progress { grid-column:1 / -1; grid-row:2; }
  body.pdl-mobile-learning.pdl-mobile-lesson .pdl-mobile-progress .pdl-sidebar-progress { padding:0; background:transparent; }
  body.pdl-mobile-learning.pdl-mobile-lesson .pdl-mobile-curriculum-open { grid-column:2; grid-row:1; gap:5px; font-family:inherit; font-size:14px; font-weight:700; }
  body.pdl-mobile-learning.pdl-mobile-lesson .pdl-mobile-curriculum-close { gap:5px; font-family:inherit; font-size:14px; font-weight:700; }
  body.pdl-mobile-learning.pdl-mobile-lesson.pdl-mobile-drawer-open { overflow:hidden; }
  body.pdl-mobile-learning.pdl-mobile-lesson .pdl-mobile-controls { min-height:0; }
  body.pdl-mobile-learning.pdl-mobile-lesson .pdl-mobile-controls .pdl-lesson-nav { margin:0; }
  body.pdl-mobile-learning.pdl-mobile-dashboard .pdl-mobile-bottom-nav a { flex-direction:column; gap:3px; }
  body.pdl-mobile-learning:is(.pdl-mobile-dashboard,.pdl-mobile-lesson,.pdl-mobile-course) .pdl-mobile-header svg,
  body.pdl-mobile-learning:is(.pdl-mobile-dashboard,.pdl-mobile-lesson,.pdl-mobile-course) .pdl-mobile-lesson-tools svg,
  body.pdl-mobile-learning.pdl-mobile-dashboard .pdl-mobile-bottom-nav svg,
  body.pdl-mobile-learning.pdl-mobile-lesson .pdl-mobile-curriculum-close svg { flex-shrink:0; width:22px; height:22px; }

  body.pdl-mobile-learning:is(.pdl-mobile-dashboard,.pdl-mobile-lesson,.pdl-mobile-course) .pdl-mobile-header .pdl-mobile-brand { display:flex; align-items:center; gap:7px; padding:6px 10px; }
  body.pdl-mobile-learning:is(.pdl-mobile-dashboard,.pdl-mobile-lesson,.pdl-mobile-course) .pdl-mobile-header .pdl-mobile-brand img { width:36px; height:36px; flex:0 0 36px; }
  body.pdl-mobile-learning:is(.pdl-mobile-dashboard,.pdl-mobile-lesson,.pdl-mobile-course) .pdl-mobile-brand-name { color:#fff; font-size:13px; font-weight:700; line-height:1.4; }
}
