:root {
    --sds-yellow: #ffc400;
    --sds-black: #080808;
    --sds-white: #fff;
    --sds-gray: #eef0f3;
    --sds-green: #27883e;
}

/* v0.21.2: the active WordPress theme owns the public header. The Theory Prep
   plugin must never suppress the SDS logo or public navigation. */
body.sds-tp-no-theme-footer #colophon,
body.sds-tp-no-theme-footer #footer,
body.sds-tp-no-theme-footer #site-footer,
body.sds-tp-no-theme-footer .site-footer,
body.sds-tp-no-theme-footer footer.footer,
body.sds-tp-no-theme-footer .elementor-location-footer,
body.sds-tp-no-theme-footer .et-l--footer,
body.sds-tp-no-theme-footer .fusion-footer,
body.sds-tp-no-theme-footer .fl-page-footer-wrap,
body.sds-tp-no-theme-footer .footer-wrapper,
body.sds-tp-no-theme-footer .wp-site-blocks > footer {
    display: none !important;
}
body.sds-tp-portal-page #content,
body.sds-tp-portal-page .site-content {
    padding-top: 0;
}

.sds-tp-learner-nav {
    align-items: center;
    background: #050505;
    border-bottom: 4px solid var(--sds-yellow);
    border-radius: 16px 16px 0 0;
    color: #fff;
    display: flex;
    font-family: Arial, Helvetica, sans-serif;
    gap: 24px;
    margin: 0 auto;
    max-width: 1440px;
    min-height: 68px;
    padding: 8px clamp(14px, 3vw, 36px);
    position: sticky;
    top: 0;
    z-index: 999;
}
.sds-tp-learner-nav *,
.sds-tp-learner-nav *::before,
.sds-tp-learner-nav *::after { box-sizing: border-box; }
.sds-tp-nav-brand,
.sds-tp-nav-brand:visited {
    align-items: center;
    color: #fff;
    display: inline-flex;
    flex: 0 0 auto;
    gap: 9px;
    text-decoration: none;
}
.sds-tp-nav-brand span {
    align-items: center;
    background: var(--sds-yellow);
    border-radius: 50%;
    color: #050505;
    display: inline-flex;
    font-size: .72rem;
    font-weight: 900;
    height: 38px;
    justify-content: center;
    width: 38px;
}
.sds-tp-nav-brand strong { font-size: 1rem; white-space: nowrap; }
.sds-tp-nav-links {
    align-items: stretch;
    display: flex;
    gap: 3px;
    justify-content: center;
    margin: 0 auto;
}
.sds-tp-nav-links a,
.sds-tp-nav-links a:visited {
    align-items: center;
    border-radius: 8px;
    color: #fff;
    display: inline-flex;
    font-size: .86rem;
    font-weight: 800;
    gap: 7px;
    min-height: 44px;
    padding: 9px 13px;
    text-decoration: none;
}
.sds-tp-nav-links a:hover,
.sds-tp-nav-links a:focus,
.sds-tp-nav-links a.is-active {
    background: var(--sds-yellow);
    color: #000;
}
.sds-tp-nav-links a.sds-tp-nav-logout,
.sds-tp-nav-links a.sds-tp-nav-logout:visited {
    border: 1px solid rgba(255,255,255,.55);
    margin-left: 5px;
}
.sds-tp-nav-links a.sds-tp-nav-logout:hover,
.sds-tp-nav-links a.sds-tp-nav-logout:focus {
    background: #fff;
    border-color: #fff;
    color: #000;
}
.sds-tp-nav-language {
    align-items: center;
    display: flex;
    margin-left: 4px;
    position: relative;
}
.sds-tp-nav-language details { position: relative; }
.sds-tp-nav-language summary {
    align-items: center;
    border: 1px solid rgba(255,255,255,.55);
    border-radius: 8px;
    color: #fff;
    cursor: pointer;
    display: inline-flex;
    font-size: .82rem;
    font-weight: 800;
    gap: 7px;
    min-height: 44px;
    padding: 9px 12px;
    white-space: nowrap;
}
.sds-tp-nav-language summary::-webkit-details-marker { display: none; }
.sds-tp-nav-language summary::marker { content: ""; }
.sds-tp-nav-language details[open] summary,
.sds-tp-nav-language summary:hover,
.sds-tp-nav-language summary:focus {
    background: var(--sds-yellow);
    border-color: var(--sds-yellow);
    color: #000;
}
.sds-tp-nav-language details > div {
    background: #090909;
    border: 1px solid #333;
    border-radius: 10px;
    box-shadow: 0 12px 30px rgba(0,0,0,.28);
    display: grid;
    min-width: 150px;
    padding: 6px;
    position: absolute;
    right: 0;
    top: calc(100% + 8px);
    z-index: 1010;
}
.sds-tp-nav-language details > div a,
.sds-tp-nav-language details > div a:visited {
    border-radius: 7px;
    min-height: 38px;
    padding: 8px 10px;
}

.sds-tp-celebrations {
    background: linear-gradient(135deg, #080808, #232323);
    border: 1px solid #292929;
    border-radius: 14px;
    color: #fff;
    margin-top: 24px;
    padding: 16px;
}
.sds-tp-celebrations h3 { color: #fff; margin: 3px 0 6px; }
.sds-tp-reel-heading p { color: #d5d5d5; font-size: .86rem; margin: 0; }
.sds-tp-celebration-grid {
    display: flex;
    gap: 12px;
    margin: 16px -4px 0;
    overflow-x: auto;
    padding: 4px 4px 12px;
    scroll-snap-type: x mandatory;
}
.sds-tp-celebration-card {
    background: #fff;
    border-radius: 12px;
    color: #151515;
    flex: 0 0 min(180px, 72%);
    overflow: hidden;
    scroll-snap-align: start;
}
.sds-tp-celebration-card video {
    aspect-ratio: 9 / 16;
    background: #000;
    display: block;
    object-fit: cover;
    width: 100%;
}
.sds-tp-celebration-card > div { padding: 11px; }
.sds-tp-celebration-card strong,
.sds-tp-celebration-card span { display: block; }
.sds-tp-celebration-card p { font-size: .78rem; margin: 6px 0 0; }
.sds-tp-celebration-card span { color: #666; font-size: .86rem; }
.sds-tp-reel-cta { display: block !important; margin-top: 14px; text-align: center; width: 100%; }
.sds-tp-video-slider { margin-top: 15px; }
.sds-tp-video-stage { background: #000; border-radius: 12px; overflow: hidden; position: relative; }
.sds-tp-video-stage video { aspect-ratio: 16 / 9; background: #000; display: block; max-height: 430px; object-fit: contain; width: 100%; }
.sds-tp-video-stage > button { align-items: center; background: rgba(0,0,0,.72); border: 1px solid rgba(255,255,255,.45); border-radius: 50%; color: #fff; cursor: pointer; display: flex; font-size: 2rem; height: 42px; justify-content: center; padding: 0; position: absolute; top: 50%; transform: translateY(-50%); width: 42px; z-index: 2; }
.sds-tp-video-stage > button:first-child { left: 10px; }
.sds-tp-video-stage > button:last-child { right: 10px; }
.sds-tp-video-thumbnails { display: flex; gap: 9px; margin-top: 10px; overflow-x: auto; padding: 2px 1px 8px; }
.sds-tp-video-thumbnails > button { background: #1d1d1d; border: 2px solid transparent; border-radius: 9px; color: #fff; cursor: pointer; flex: 0 0 110px; overflow: hidden; padding: 0; text-align: left; }
.sds-tp-video-thumbnails > button.is-active { border-color: var(--sds-yellow); }
.sds-tp-video-thumbnails video { aspect-ratio: 16 / 9; display: block; object-fit: cover; pointer-events: none; width: 100%; }
.sds-tp-video-thumbnails span { display: block; font-size: .68rem; overflow: hidden; padding: 6px; text-overflow: ellipsis; white-space: nowrap; }

.sds-tp-staff-sessions { margin-top: 24px; }
.sds-tp-staff-sessions label {
    display: block;
    font-weight: 800;
    margin: 12px 0;
}
.sds-tp-staff-sessions input,
.sds-tp-staff-sessions select,
.sds-tp-staff-sessions textarea {
    border: 1px solid #bbb;
    border-radius: 8px;
    display: block;
    font: inherit;
    margin-top: 6px;
    padding: 11px;
    width: 100%;
}
.sds-tp-session-list { display: grid; gap: 12px; margin-top: 18px; }
.sds-tp-session-row {
    align-items: center;
    background: #f7f7f7;
    border-left: 4px solid var(--sds-yellow);
    border-radius: 8px;
    display: flex;
    gap: 16px;
    justify-content: space-between;
    margin: 9px 0;
    padding: 14px;
}
.sds-tp-session-row strong,
.sds-tp-session-row span,
.sds-tp-session-row small { display: block; }
.sds-tp-session-status {
    background: #fff3bd;
    border-radius: 999px;
    font-size: .82rem;
    font-weight: 800;
    padding: 8px 12px;
    white-space: nowrap;
}
.sds-tp-learner-sessions { margin-top: 24px; }
.sds-tp-responsive-table { overflow-x: auto; }
.sds-tp-responsive-table table { border-collapse: collapse; width: 100%; }
.sds-tp-responsive-table th,
.sds-tp-responsive-table td { border-bottom: 1px solid #ddd; padding: 12px; text-align: left; }

.sds-tp-shell,
.sds-tp-lab,
.sds-tp-results-table,
.sds-tp-community,
.sds-tp-instructor,
.sds-tp-enrollment,
.sds-tp-payment,
.sds-tp-workshop,
.sds-tp-course-lesson {
    color: #151515;
    font-family: Arial, Helvetica, sans-serif;
    margin: 0 auto;
    max-width: 1440px;
}

.sds-tp-shell *,
.sds-tp-lab *,
.sds-tp-results-table *,
.sds-tp-community *,
.sds-tp-instructor *,
.sds-tp-enrollment *,
.sds-tp-payment * {
    box-sizing: border-box;
}

.sds-tp-workshop *,
.sds-tp-course-lesson * {
    box-sizing: border-box;
}

.sds-tp-language {
    align-items: center;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 999px;
    display: inline-flex;
    flex-wrap: wrap;
    gap: 4px;
    margin: 0 0 16px;
    padding: 5px;
}
.sds-tp-language span {
    color: #555;
    font-size: .78rem;
    font-weight: 800;
    padding: 7px 10px;
}
.sds-tp-language a,
.sds-tp-language a:visited {
    border-radius: 999px;
    color: #111;
    font-size: .82rem;
    font-weight: 800;
    padding: 8px 13px;
    text-decoration: none;
}
.sds-tp-language a:hover,
.sds-tp-language a:focus,
.sds-tp-language a.is-active {
    background: var(--sds-yellow);
    color: #000;
}
.sds-tp-language a.is-review-pending {
    border-style: dashed;
    white-space: normal;
}

.sds-tp-assessment-language-notice {
    background: #fff7d6;
    border-left: 5px solid var(--sds-yellow);
    color: #171717;
    font-weight: 750;
    margin: 14px 0;
    padding: 12px 15px;
}
.sds-tp-assessment-language-notice { background:#fff8d7; border-left:5px solid var(--sds-yellow); color:#171717; font-weight:750; margin:14px 0; padding:12px 16px; }

.sds-tp-workshop {
    background:
        linear-gradient(rgba(255,255,255,.97), rgba(255,255,255,.97)),
        repeating-linear-gradient(135deg, #f3f3f3 0, #f3f3f3 2px, #fff 2px, #fff 22px);
    border-radius: 24px;
    padding: clamp(20px, 4vw, 50px);
}
.sds-tp-workshop-header {
    align-items: end;
    background: linear-gradient(120deg, #050505, #191919);
    border-bottom: 6px solid var(--sds-yellow);
    border-radius: 20px;
    color: white;
    display: flex;
    gap: 26px;
    justify-content: space-between;
    padding: clamp(28px, 5vw, 58px);
}
.sds-tp-workshop-header h1,
.sds-tp-course-lesson-header h1 {
    color: inherit;
    font-size: clamp(2.2rem, 5vw, 4.2rem);
    line-height: 1;
    margin: 0 0 12px;
}
.sds-tp-workshop-header p { margin: 0; max-width: 720px; }
.sds-tp-workshop-header .sds-tp-language { flex: 0 0 auto; margin: 0; }
.sds-tp-workshop-modules {
    display: grid;
    gap: 20px;
    margin-top: 22px;
}
.sds-tp-workshop-module {
    background: white;
    border: 1px solid #ddd;
    border-radius: 18px;
    box-shadow: 0 10px 28px rgba(0,0,0,.06);
    overflow: hidden;
}
.sds-tp-workshop-module > header {
    align-items: center;
    background: #f8f8f8;
    border-bottom: 1px solid #ddd;
    display: flex;
    gap: 16px;
    padding: 22px;
}
.sds-tp-workshop-module > header > span {
    align-items: center;
    background: var(--sds-black);
    border: 4px solid var(--sds-yellow);
    border-radius: 50%;
    color: white;
    display: flex;
    flex: 0 0 62px;
    font-weight: 900;
    height: 62px;
    justify-content: center;
}
.sds-tp-workshop-module h2 { font-size: 1.45rem; margin: 0 0 3px; }
.sds-tp-workshop-module header p { color: #666; margin: 0; }
.sds-tp-workshop-module ol { list-style: none; margin: 0; padding: 0; }
.sds-tp-workshop-module li {
    align-items: center;
    border-top: 1px solid #ededed;
    display: grid;
    gap: 14px;
    grid-template-columns: 42px minmax(0,1fr) auto;
    padding: 17px 22px;
}
.sds-tp-workshop-module li:first-child { border-top: 0; }
.sds-tp-lesson-state {
    align-items: center;
    background: #eee;
    border-radius: 50%;
    display: flex;
    font-weight: 900;
    height: 36px;
    justify-content: center;
    width: 36px;
}
.sds-tp-workshop-module li.is-completed .sds-tp-lesson-state {
    background: #e2f6e5;
    color: var(--sds-green);
}
.sds-tp-workshop-module li.is-available .sds-tp-lesson-state {
    background: var(--sds-yellow);
    color: #000;
}
.sds-tp-workshop-module li.is-locked { color: #888; }
.sds-tp-workshop-module li small,
.sds-tp-workshop-module li strong { display: block; }
.sds-tp-workshop-module li small { color: #777; font-size: .7rem; margin-bottom: 3px; }
.sds-tp-workshop-module li a,
.sds-tp-workshop-module li a:visited {
    background: var(--sds-yellow);
    border-radius: 8px;
    color: #000;
    font-size: .82rem;
    font-weight: 900;
    padding: 10px 14px;
    text-decoration: none;
}

.sds-tp-course-lesson {
    background: white;
    border: 1px solid #ddd;
    border-radius: 22px;
    box-shadow: 0 12px 45px rgba(0,0,0,.08);
    overflow: hidden;
}
.sds-tp-course-lesson-header {
    background:
        radial-gradient(circle at 88% 20%, rgba(255,196,0,.28), transparent 20%),
        linear-gradient(120deg, #050505, #181818);
    border-bottom: 6px solid var(--sds-yellow);
    color: white;
    padding: clamp(25px, 5vw, 58px);
}
.sds-tp-course-lesson-header .sds-tp-language { margin: 18px 0 30px; }
.sds-tp-lesson-breadcrumb {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 8px;
}
.sds-tp-lesson-breadcrumb a { color: var(--sds-yellow); font-weight: 800; }
.sds-tp-translation-notice {
    background: #fff3b7;
    border-left: 4px solid var(--sds-yellow);
    color: #111;
    max-width: 800px;
    padding: 12px 15px;
}
.sds-tp-lesson-video {
    background: #000;
    padding: clamp(12px, 3vw, 32px);
}
.sds-tp-lesson-video video {
    display: block;
    margin: 0 auto;
    max-height: 720px;
    max-width: 1100px;
    width: 100%;
}
.sds-tp-lesson-body {
    font-size: 1.05rem;
    line-height: 1.75;
    margin: 0 auto;
    max-width: 920px;
    padding: clamp(28px, 5vw, 65px);
}
.sds-tp-lesson-body h2,
.sds-tp-lesson-body h3 { color: #111; line-height: 1.2; }
.sds-tp-lesson-opening {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 30px auto 0;
    max-width: 920px;
    padding: 0 20px;
}
.sds-tp-lesson-opening > div {
    background: #fff8d8;
    border: 1px solid #eed57a;
    border-radius: 15px;
    padding: 20px 22px;
}
.sds-tp-lesson-opening span,
.sds-tp-study-buddy-prompt > span {
    color: #725700;
    display: block;
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.sds-tp-lesson-opening p { margin: 8px 0 0; }
.sds-tp-topic-list {
    display: grid;
    gap: 22px;
    margin: 0 auto;
    max-width: 1040px;
    padding: 0 clamp(20px, 5vw, 65px) 40px;
}
.sds-tp-topic {
    border: 1px solid #ddd;
    border-radius: 18px;
    box-shadow: 0 8px 26px rgba(0,0,0,.06);
    overflow: hidden;
}
.sds-tp-topic > header {
    align-items: center;
    background: #f5f5f5;
    border-bottom: 1px solid #ddd;
    display: flex;
    gap: 14px;
    padding: 18px 22px;
}
.sds-tp-topic > header span {
    align-items: center;
    background: var(--sds-black);
    border: 3px solid var(--sds-yellow);
    border-radius: 50%;
    color: #fff;
    display: flex;
    flex: 0 0 42px;
    font-size: .78rem;
    font-weight: 900;
    height: 42px;
    justify-content: center;
}
.sds-tp-topic > header h2 { font-size: 1.25rem; margin: 0; }
.sds-tp-topic-content { line-height: 1.72; padding: 24px; }
.sds-tp-topic-video { background: #000; padding: 14px; }
.sds-tp-topic-video video { display: block; max-height: 620px; width: 100%; }
.sds-tp-topic .sds-tp-button-outline { display: inline-block; margin: 0 24px 24px; }
.sds-tp-study-buddy-prompt {
    background: linear-gradient(135deg, #fff7ce, #fff);
    border: 2px solid var(--sds-yellow);
    border-radius: 18px;
    margin: 0 auto 35px;
    max-width: 920px;
    padding: 25px 28px;
}
.sds-tp-study-buddy-prompt h2 { margin: 5px 0 8px; }
.sds-tp-study-buddy-prompt p { margin: 0; }
.sds-tp-glossary {
    background: #fff7d2;
    border-left: 6px solid var(--sds-yellow);
    margin: 0 auto 30px;
    max-width: 920px;
    padding: 22px 26px;
}
.sds-tp-glossary h2 { font-size: 1.25rem; margin-top: 0; }
.sds-tp-button-outline {
    background: white !important;
    border: 2px solid var(--sds-yellow);
    margin-left: clamp(28px, 5vw, 65px);
}
.sds-tp-course-lesson .sds-tp-lesson-progress {
    margin: 25px clamp(20px, 5vw, 65px);
}
.sds-tp-lesson-navigation {
    align-items: center;
    background: #f5f5f5;
    border-top: 1px solid #ddd;
    display: grid;
    gap: 12px;
    grid-template-columns: 1fr auto 1fr;
    padding: 22px clamp(20px, 5vw, 65px);
}
.sds-tp-lesson-navigation div:last-child { text-align: right; }
.sds-tp-lesson-navigation a { color: #111; font-weight: 900; }
.sds-tp-lesson-navigation-center {
    display: flex;
    gap: 16px;
    justify-content: center;
}
.sds-tp-lesson-navigation-center a:last-child {
    border-left: 1px solid #bbb;
    padding-left: 16px;
}

.sds-tp-hero {
    align-items: center;
    background:
        radial-gradient(circle at 72% 35%, rgba(255,196,0,.28), transparent 23%),
        linear-gradient(120deg, #050505 20%, #171717 100%);
    border-radius: 22px;
    color: var(--sds-white);
    display: grid;
    gap: 24px;
    grid-template-columns: 1fr auto;
    overflow: hidden;
    padding: clamp(28px, 5vw, 64px);
}

.sds-tp-kicker {
    color: var(--sds-yellow);
    display: block;
    font-size: .82rem;
    font-weight: 800;
    letter-spacing: .12em;
    margin-bottom: 8px;
    text-transform: uppercase;
}

.sds-tp-hero h2,
.sds-tp-lab h2 {
    color: inherit;
    font-size: clamp(2rem, 5vw, 4.25rem);
    line-height: .98;
    margin: 0 0 16px;
}

.sds-tp-hero h2 em {
    color: var(--sds-yellow);
    display: block;
    font-style: normal;
}

.sds-tp-stat {
    align-items: center;
    border: 10px solid var(--sds-yellow);
    border-radius: 50%;
    display: flex;
    flex-direction: column;
    height: 180px;
    justify-content: center;
    text-align: center;
    width: 180px;
}

.sds-tp-stat strong { font-size: 2.4rem; }
.sds-tp-stat span { font-size: .78rem; }

.sds-tp-grid {
    display: grid;
    gap: 18px;
    margin-top: 18px;
}
.sds-tp-grid-3 { grid-template-columns: repeat(3, 1fr); }
.sds-tp-grid-2 { grid-template-columns: repeat(2, 1fr); }

.sds-tp-card {
    background: var(--sds-white);
    border: 1px solid #dedede;
    border-radius: 18px;
    box-shadow: 0 8px 30px rgba(0,0,0,.06);
    padding: 26px;
}
.sds-tp-card-dark { background: var(--sds-black); color: var(--sds-white); }
.sds-tp-card-accent { background: linear-gradient(135deg, #fff7d8, #ffc400); }
.sds-tp-card h3 { color: inherit; font-size: 1.45rem; margin: 8px 0; }
.sds-tp-card p { min-height: 48px; }
.sds-tp-icon { color: var(--sds-yellow); font-size: 1.8rem; font-weight: 900; }
.sds-tp-practical-cta {
    align-items: stretch;
    background: #050505;
    border: 2px solid var(--sds-yellow);
    color: #fff;
    display: grid;
    gap: 0;
    grid-template-columns: minmax(0, 1.05fr) minmax(180px, .95fr);
    overflow: hidden;
    padding: 0;
}
.sds-tp-practical-cta-copy { padding: 28px; }
.sds-tp-practical-cta-copy h3 {
    color: var(--sds-yellow);
    font-size: clamp(1.65rem, 2.4vw, 2.25rem);
}
.sds-tp-practical-cta-copy p { color: #fff; }
.sds-tp-practical-cta-image { min-height: 260px; }
.sds-tp-practical-cta-image img {
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%;
}
.sds-tp-practical-link,
.sds-tp-practical-link:visited {
    color: var(--sds-yellow) !important;
    display: inline-flex;
    font-weight: 900;
    gap: 8px;
    text-decoration: none !important;
}
.sds-tp-practical-link:hover,
.sds-tp-practical-link:focus { color: #fff !important; }

.sds-tp-button,
.sds-tp-button:visited {
    appearance: none;
    background: var(--sds-yellow) !important;
    border: 0;
    border-radius: 10px;
    color: #050505 !important;
    cursor: pointer;
    display: inline-block;
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.2;
    padding: 14px 22px;
    text-align: center;
    text-decoration: none !important;
}
.sds-tp-button:hover,
.sds-tp-button:focus { background: #ffda45 !important; color: #000 !important; transform: translateY(-1px); }
.sds-tp-button:disabled { cursor: wait; opacity: .6; }
.sds-tp-button-dark,
.sds-tp-button-dark:visited { background: var(--sds-black) !important; color: var(--sds-yellow) !important; }

.sds-tp-metrics { display: flex; gap: 35px; margin: 20px 0; }
.sds-tp-metrics-4 { display: grid; grid-template-columns: repeat(4, 1fr); }
.sds-tp-metrics div { display: flex; flex-direction: column; }
.sds-tp-metrics strong { font-size: 2rem; }
.sds-tp-metrics span { color: #646464; font-size: .82rem; }
.sds-tp-text-link { color: #111; font-weight: 800; }
.sds-tp-dashboard-actions { display: flex; flex-wrap: wrap; gap: 10px 22px; }
.sds-tp-support-row { display: flex; gap: 28px; justify-content: center; padding: 24px; }
.sds-tp-support-row a { color: #111; font-weight: 800; }

.sds-tp-lab {
    background: #f7f7f7;
    border-radius: 22px;
    padding: clamp(24px, 5vw, 60px);
}
.sds-tp-lab-intro {
    background: var(--sds-black);
    border-radius: 18px;
    color: var(--sds-white);
    padding: clamp(28px, 5vw, 58px);
}
.sds-tp-question {
    background: var(--sds-white);
    border: 1px solid #ddd;
    border-radius: 14px;
    margin: 20px 0;
    padding: 24px;
}
.sds-tp-question legend { font-size: 1.12rem; font-weight: 800; padding: 0 8px; }
.sds-tp-question label {
    border: 1px solid #ddd;
    border-radius: 9px;
    cursor: pointer;
    display: block;
    margin: 10px 0;
    padding: 12px;
}
.sds-tp-question label:hover { border-color: var(--sds-yellow); }
.sds-tp-question img { display: block; height: auto; margin: 15px auto; max-width: 520px; width: 100%; }
.sds-tp-lab-status { font-weight: 700; padding: 16px 0; }
.sds-tp-exam-header {
    align-items: center;
    background: var(--sds-black);
    border-radius: 18px 18px 0 0;
    color: white;
    display: flex;
    gap: 24px;
    justify-content: space-between;
    padding: clamp(22px, 4vw, 42px);
}
.sds-tp-lab .sds-tp-exam-header h2 { color: #fff; font-size: clamp(1.7rem, 4vw, 3rem); margin-bottom: 8px; }
.sds-tp-exam-header p { margin: 0; max-width: 720px; }
.sds-tp-timer {
    background: #171717;
    border: 2px solid var(--sds-yellow);
    border-radius: 14px;
    flex: 0 0 auto;
    min-width: 150px;
    padding: 13px 18px;
    text-align: center;
}
.sds-tp-timer span,
.sds-tp-timer strong { display: block; }
.sds-tp-timer span { font-size: .74rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.sds-tp-timer strong { color: var(--sds-yellow); font-size: 1.8rem; font-variant-numeric: tabular-nums; }
.sds-tp-timer.is-warning { animation: sds-tp-pulse 1.2s infinite; border-color: #ff564a; }
.sds-tp-timer.is-warning strong { color: #ff7168; }
.sds-tp-timer.is-untimed { border-color: #666; }
@keyframes sds-tp-pulse { 50% { box-shadow: 0 0 0 5px rgba(255,86,74,.18); } }
.sds-tp-exam-progress { background: #ddd; height: 8px; overflow: hidden; }
.sds-tp-exam-progress span {
    background: linear-gradient(90deg, #f5aa00, var(--sds-yellow));
    display: block;
    height: 100%;
    transition: width .25s ease;
    width: 0;
}
.sds-tp-exam-layout {
    display: grid;
    gap: 22px;
    grid-template-columns: 220px minmax(0, 1fr);
    max-width: 100%;
    min-width: 0;
    padding-top: 22px;
    width: 100%;
}
.sds-tp-exam-layout.is-all-at-once { grid-template-columns: 1fr; }
.sds-tp-exam-layout > *,
.sds-tp-question-main,
[data-sds-question-stage] {
    max-width: 100%;
    min-width: 0;
}
.sds-tp-question-palette {
    align-self: start;
    background: white;
    border: 1px solid #ddd;
    border-radius: 14px;
    box-sizing: border-box;
    max-width: 220px;
    min-width: 0;
    overflow: hidden;
    padding: 18px;
    position: sticky;
    top: 22px;
    width: 220px;
}
.sds-tp-question-palette > strong,
.sds-tp-question-palette > small { display: block; }
.sds-tp-question-palette > small { color: #666; margin: 4px 0 14px; }
.sds-tp-question-palette > div {
    display: grid;
    gap: 7px;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    max-width: 100%;
    min-width: 0;
    width: 100%;
}
.sds-tp-question-palette button {
    -webkit-appearance: none !important;
    appearance: none !important;
    align-items: center;
    aspect-ratio: 1;
    background: #f2f2f2;
    border: 1px solid #cfcfcf;
    border-radius: 7px;
    box-shadow: none;
    box-sizing: border-box;
    color: #111;
    cursor: pointer;
    display: flex;
    font-family: Arial, Helvetica, sans-serif;
    font-size: .85rem;
    font-weight: 800;
    height: auto !important;
    justify-content: center;
    line-height: 1;
    margin: 0 !important;
    max-height: none;
    max-width: 100%;
    min-height: 0 !important;
    min-width: 0 !important;
    padding: 0 !important;
    text-transform: none;
    width: 100% !important;
}
.sds-tp-question-palette button.is-answered {
    background: var(--sds-green);
    border-color: var(--sds-green);
    color: white;
}
.sds-tp-question-palette button.is-current {
    box-shadow: 0 0 0 3px var(--sds-yellow);
}
.sds-tp-question-palette p { color: #666; font-size: .72rem; margin-bottom: 0; }
.sds-tp-question-palette i {
    border-radius: 3px;
    display: inline-block;
    height: 10px;
    margin-left: 7px;
    width: 10px;
}
.sds-tp-question-palette i:first-child { margin-left: 0; }
.is-key-answered { background: var(--sds-green); }
.is-key-current { background: var(--sds-yellow); }
.sds-tp-question {
    box-sizing: border-box;
    max-width: 100%;
    min-inline-size: 0;
    min-width: 0;
    overflow: hidden;
    width: 100%;
}
.sds-tp-question:focus { outline: none; }
.sds-tp-question legend {
    display: grid;
    gap: 8px;
    max-width: 100%;
    overflow-wrap: anywhere;
    width: 100%;
}
.sds-tp-question legend span {
    color: #777;
    font-size: .75rem;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.sds-tp-options { margin-top: 18px; }
.sds-tp-options label {
    align-items: center;
    display: grid;
    gap: 12px;
    grid-template-columns: auto auto 1fr;
    max-width: 100%;
    min-width: 0;
    overflow-wrap: anywhere;
}
.sds-tp-options label > span:last-child { min-width: 0; }
.sds-tp-options label.is-selected {
    background: #fff5bd;
    border-color: #dca900;
    box-shadow: 0 0 0 2px rgba(255,196,0,.15);
}
.sds-tp-options input { margin: 0; }
.sds-tp-option-key {
    align-items: center;
    background: #111;
    border-radius: 50%;
    color: white;
    display: inline-flex;
    font-weight: 900;
    height: 30px;
    justify-content: center;
    width: 30px;
}
.sds-tp-save-state { color: #666; display: block; min-height: 18px; }
.sds-tp-exam-navigation {
    align-items: center;
    display: flex;
    gap: 10px;
    justify-content: flex-end;
}
.sds-tp-exam-navigation .sds-tp-secondary-button:first-child { margin-right: auto; }
.sds-tp-secondary-button {
    background: white;
    border: 1px solid #aaa;
    border-radius: 9px;
    color: #111;
    cursor: pointer;
    font-weight: 800;
    padding: 13px 18px;
}
.sds-tp-secondary-button:disabled { cursor: not-allowed; opacity: .45; }
.sds-tp-score.is-pass { border-bottom: 6px solid var(--sds-green); }
.sds-tp-score.is-not-yet { border-bottom: 6px solid var(--sds-yellow); }
.sds-tp-result-note {
    background: white;
    border-left: 5px solid var(--sds-yellow);
    padding: 18px;
}
.sds-tp-score { background: var(--sds-black); border-radius: 15px; color: white; margin: 20px 0; padding: 28px; text-align: center; }
.sds-tp-score strong { color: var(--sds-yellow); display: block; font-size: 4rem; }
.sds-tp-review details { background: white; border-left: 5px solid #aaa; margin: 12px 0; padding: 15px; }
.sds-tp-review .is-correct { border-left-color: var(--sds-green); }
.sds-tp-review .is-incorrect { border-left-color: #b3261e; }
.sds-tp-review summary { cursor: pointer; font-weight: 800; }

.sds-tp-results-table table { border-collapse: collapse; width: 100%; }
.sds-tp-results-table th,
.sds-tp-results-table td { border-bottom: 1px solid #ddd; padding: 12px; text-align: left; }
.sds-tp-results-table th { background: var(--sds-black); color: white; }
.sds-tp-result-pass { color: var(--sds-green); }
.sds-tp-result-not-yet { color: #a33724; }
.sds-tp-notice { background: #fff4c7; border-left: 5px solid var(--sds-yellow); padding: 18px; }

.sds-tp-lesson-progress {
    align-items: center;
    background: linear-gradient(120deg, #0a0a0a, #202020);
    border-left: 8px solid var(--sds-yellow);
    border-radius: 16px;
    color: white;
    display: flex;
    font-family: Arial, Helvetica, sans-serif;
    gap: 24px;
    justify-content: space-between;
    margin: 28px 0;
    padding: clamp(22px, 4vw, 36px);
}
.sds-tp-lesson-progress * { box-sizing: border-box; }
.sds-tp-lesson-progress span {
    color: var(--sds-yellow);
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .1em;
}
.sds-tp-lesson-progress h3 { color: white; font-size: 1.45rem; margin: 5px 0; }
.sds-tp-lesson-progress p { margin: 0; }
.sds-tp-lesson-progress.is-completed { border-left-color: var(--sds-green); }
.sds-tp-lesson-progress.is-completed .sds-tp-button { background: var(--sds-green) !important; color: white !important; }

.sds-tp-journey {
    background: white;
    border: 1px solid #ddd;
    border-radius: 18px;
    box-shadow: 0 8px 30px rgba(0,0,0,.05);
    font-family: Arial, Helvetica, sans-serif;
    margin: 18px auto 0;
    max-width: 1440px;
    padding: clamp(22px, 4vw, 36px);
}
.sds-tp-journey * { box-sizing: border-box; }
.sds-tp-journey header h2 { font-size: clamp(1.7rem, 3vw, 2.4rem); margin: 0 0 18px; }
.sds-tp-module-grid {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(6, 1fr);
}
.sds-tp-module-grid article {
    background: #f4f4f4;
    border: 1px solid #ddd;
    border-radius: 12px;
    min-width: 0;
    padding: 16px;
    position: relative;
}
.sds-tp-module-grid article > span { color: #777; font-size: .7rem; font-weight: 900; }
.sds-tp-module-grid h3 { font-size: .98rem; line-height: 1.15; margin: 7px 0; }
.sds-tp-module-grid p { color: #666; font-size: .75rem; min-height: 0; }
.sds-tp-module-grid article > div {
    background: #d9d9d9;
    border-radius: 999px;
    height: 7px;
    overflow: hidden;
}
.sds-tp-module-grid article > div i {
    background: var(--sds-yellow);
    display: block;
    height: 100%;
}
.sds-tp-module-grid article > strong { display: block; font-size: .82rem; margin-top: 6px; text-align: right; }
.sds-tp-module-grid article.is-progress { background: #fff9dc; border-color: #e3bd1c; }
.sds-tp-module-grid article.is-completed { background: #edf9ef; border-color: #70ad7b; }
.sds-tp-module-grid article.is-completed > div i { background: var(--sds-green); }

.sds-tp-focus-card { margin-top: 18px; }
.sds-tp-focus-topics { display: flex; flex-wrap: wrap; gap: 10px; }
.sds-tp-focus-topics span {
    background: #fff4bd;
    border: 1px solid #e0b400;
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    min-width: 180px;
    padding: 12px 15px;
}
.sds-tp-focus-topics strong { text-transform: capitalize; }

.sds-tp-community,
.sds-tp-instructor {
    background: #f7f7f7;
    border-radius: 22px;
    padding: clamp(22px, 4vw, 50px);
}
.sds-tp-community-header {
    align-items: center;
    background: var(--sds-black);
    border-radius: 18px;
    color: white;
    display: flex;
    justify-content: space-between;
    padding: clamp(24px, 4vw, 44px);
}
.sds-tp-community-header h2,
.sds-tp-instructor h2 { color: inherit; font-size: clamp(2rem, 4vw, 3.5rem); margin: 0; }
.sds-tp-group-label {
    background: var(--sds-yellow);
    border-radius: 999px;
    color: #000;
    font-weight: 800;
    padding: 10px 16px;
}
.sds-tp-community-layout {
    display: grid;
    gap: 18px;
    grid-template-columns: 1.5fr 1fr;
    margin-top: 18px;
}
.sds-tp-community-form,
.sds-tp-community-rules,
.sds-tp-feed {
    background: white;
    border: 1px solid #dedede;
    border-radius: 16px;
    padding: 24px;
}
.sds-tp-community-form label,
.sds-tp-instructor form label {
    display: block;
    font-weight: 700;
    margin: 14px 0;
}
.sds-tp-community-form input[type="text"],
.sds-tp-community-form textarea,
.sds-tp-instructor input[type="text"],
.sds-tp-instructor textarea {
    border: 1px solid #bbb;
    border-radius: 8px;
    display: block;
    font: inherit;
    margin-top: 7px;
    padding: 12px;
    width: 100%;
}
.sds-tp-checkins {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(3, 1fr);
}
.sds-tp-checkins label {
    border: 1px solid #ccc;
    border-radius: 10px;
    cursor: pointer;
    padding: 12px;
}
.sds-tp-checkins label:has(input:checked) {
    background: #fff4bd;
    border-color: var(--sds-yellow);
}
.sds-tp-rules-check { font-size: .86rem; font-weight: 400 !important; }
.sds-tp-community-rules ol { padding-left: 20px; }
.sds-tp-community-rules li { margin: 10px 0; }
.sds-tp-feed { margin-top: 18px; }
.sds-tp-feed-heading { align-items: center; display: flex; justify-content: space-between; }
.sds-tp-text-button,
.sds-tp-feed-actions button {
    background: transparent;
    border: 0;
    color: #111;
    cursor: pointer;
    font-weight: 800;
    padding: 6px;
}
.sds-tp-feed-post {
    border-top: 1px solid #e0e0e0;
    display: grid;
    gap: 12px;
    grid-template-columns: 42px 1fr;
    padding: 18px 0;
}
.sds-tp-feed-post.is-reply { margin-left: 52px; }
.sds-tp-avatar {
    align-items: center;
    background: var(--sds-black);
    border: 3px solid var(--sds-yellow);
    border-radius: 50%;
    color: white;
    display: flex;
    font-weight: 900;
    height: 42px;
    justify-content: center;
    width: 42px;
}
.sds-tp-feed-meta { align-items: center; display: flex; flex-wrap: wrap; gap: 10px; }
.sds-tp-feed-meta span { color: #6b6b6b; font-size: .78rem; }
.sds-tp-feed-meta b,
.sds-tp-checkin-badge {
    background: #fff3b5;
    border-radius: 999px;
    font-size: .72rem;
    padding: 4px 8px;
    text-transform: capitalize;
}
.sds-tp-feed-actions { display: flex; gap: 12px; }
.sds-tp-inline-reply {
    background: #f4f4f4;
    border-radius: 10px;
    margin-top: 12px;
    padding: 12px;
}
.sds-tp-inline-reply textarea { min-height: 80px; width: 100%; }
.sds-tp-inline-reply label { display: block; font-size: .8rem; margin: 8px 0; }
.sds-tp-empty { color: #666; padding: 24px 0; text-align: center; }
.sds-tp-request { border-bottom: 1px solid #444; padding: 14px 0; }
.sds-tp-request span {
    background: var(--sds-yellow);
    border-radius: 999px;
    color: #000;
    display: inline-block;
    font-size: .72rem;
    margin-bottom: 8px;
    padding: 4px 8px;
    text-transform: capitalize;
}
.sds-tp-request strong { display: block; }
.sds-tp-instructor-answer {
    background: #fff7ce;
    border-left: 4px solid var(--sds-yellow);
    color: #111;
    margin: 12px 0;
    padding: 12px;
}

.sds-tp-enrollment,
.sds-tp-payment {
    background: #f7f7f7;
    border-radius: 22px;
    padding: clamp(24px, 5vw, 58px);
}
.sds-tp-enrollment-header {
    background: linear-gradient(120deg, #050505, #1b1b1b);
    border-radius: 18px;
    color: white;
    margin-bottom: 22px;
    padding: clamp(28px, 5vw, 58px);
}
.sds-tp-enrollment-header h2,
.sds-tp-payment h2 {
    color: inherit;
    font-size: clamp(2rem, 4vw, 3.5rem);
    margin: 0 0 10px;
}
.sds-tp-plan-grid {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}
.sds-tp-plan,
.sds-tp-enrollment-form,
.sds-tp-payment {
    background: white;
    border: 1px solid #ddd;
    border-radius: 16px;
    box-shadow: 0 8px 25px rgba(0,0,0,.06);
}
.sds-tp-plan { padding: 26px; }
.sds-tp-plan h3 { font-size: 1.5rem; margin-top: 0; }
.sds-tp-plan-price { color: #555; }
.sds-tp-plan-price strong { color: #000; font-size: 2.4rem; }
.sds-tp-plan ul { list-style: none; padding: 0; }
.sds-tp-plan li { margin: 10px 0; }
.sds-tp-enrollment-form {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(2, 1fr);
    margin-top: 22px;
    padding: 28px;
}
.sds-tp-enrollment-form h3,
.sds-tp-enrollment-form .sds-tp-rules-check,
.sds-tp-enrollment-form button { grid-column: 1 / -1; }
.sds-tp-enrollment-form label,
.sds-tp-reference-form label { font-weight: 700; }
.sds-tp-enrollment-form input,
.sds-tp-enrollment-form select,
.sds-tp-enrollment-form textarea,
.sds-tp-reference-form input {
    border: 1px solid #bbb;
    border-radius: 8px;
    display: block;
    font: inherit;
    margin-top: 6px;
    padding: 12px;
    width: 100%;
}
.sds-tp-operation-form {
    margin: 28px auto;
    max-width: 1120px;
}
.sds-tp-operation-form form {
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 14px;
}
.sds-tp-operation-form .sds-tp-card form {
    border: 0;
    border-radius: 0;
    display: grid;
    gap: 12px;
    margin-top: 16px;
    padding: 0;
}
.sds-tp-operation-form .sds-tp-card form label {
    display: block;
    font-weight: 700;
}
.sds-tp-operation-form .sds-tp-card form input[type="text"],
.sds-tp-operation-form .sds-tp-card form input[type="file"],
.sds-tp-operation-form .sds-tp-card form select,
.sds-tp-operation-form .sds-tp-card form textarea {
    border: 1px solid #bbb;
    border-radius: 8px;
    display: block;
    font: inherit;
    margin-top: 6px;
    padding: 11px;
    width: 100%;
}
.sds-tp-staff-controller { margin-top: 28px; }
.sds-tp-staff-header {
    align-items: center;
    background: #090909;
    border-bottom: 6px solid var(--sds-yellow);
    border-radius: 18px;
    color: #fff;
    display: flex;
    gap: 24px;
    justify-content: space-between;
    margin-bottom: 22px;
    padding: 26px;
}
.sds-tp-staff-header h2 { color: #fff; margin: 4px 0; }
.sds-tp-staff-header p { margin: 0; }
.sds-tp-outcome-page { max-width: 1240px; }
.sds-tp-outcome-hero { align-items: center; background: linear-gradient(120deg,#050505,#211a05); border-bottom: 7px solid var(--sds-yellow); border-radius: 18px; color: #fff; display: flex; gap: 28px; justify-content: space-between; margin-bottom: 18px; padding: clamp(26px,4vw,46px); }
.sds-tp-outcome-hero h2 { color: #fff; font-size: clamp(2rem,4vw,3.35rem); margin: 5px 0 8px; }
.sds-tp-outcome-hero p { color: #ddd; margin: 0; max-width: 720px; }
.sds-tp-outcome-intro-grid { display: grid; gap: 13px; grid-template-columns: repeat(3,1fr); margin: 0 0 18px; }
.sds-tp-outcome-intro-grid article { background: #fff; border: 1px solid #ddd; border-radius: 13px; display: grid; gap: 3px; grid-template-columns: 42px 1fr; padding: 17px; }
.sds-tp-outcome-intro-grid article > span,
.sds-tp-outcome-card-number { align-items: center; background: var(--sds-yellow); border-radius: 50%; color: #050505; display: inline-flex; font-weight: 1000; height: 34px; justify-content: center; width: 34px; }
.sds-tp-outcome-intro-grid strong { align-self: center; }
.sds-tp-outcome-intro-grid p { color: #666; font-size: .88rem; grid-column: 2; margin: 2px 0 0; }
.sds-tp-outcome-result-form { background: #fff; border-left: 6px solid var(--sds-yellow) !important; margin: 0 0 20px; }
.sds-tp-outcome-actions { display: grid; gap: 18px; grid-template-columns: repeat(2,minmax(0,1fr)); margin-top: 24px; }
.sds-tp-outcome-actions > article { margin: 0; position: relative; }
.sds-tp-outcome-actions .sds-tp-knowledge-gap-card { grid-column: 1 / -1; }
.sds-tp-celebration-submission ul { padding-left: 20px; }
.sds-tp-celebration-submission small { color: #666; display: block; margin-top: 12px; }
.sds-tp-payment { margin: 0 auto; max-width: 900px; }
.sds-tp-flow-page { background: #f4f5f7; }
.sds-tp-flow-page .entry-header { display: none !important; }
.sds-tp-flow-content { margin-bottom: 50px; padding-left: 18px; padding-right: 18px; }
.sds-tp-flow-active-notice { margin: 28px auto; max-width: 900px; }
.sds-tp-flow-navigation {
    align-items: center;
    background: #050505;
    border-bottom: 5px solid var(--sds-yellow);
    color: #fff;
    display: flex;
    font-family: Arial, Helvetica, sans-serif;
    gap: 22px;
    justify-content: space-between;
    margin: 0 auto 30px;
    max-width: 1180px;
    padding: 14px 20px;
}
.sds-tp-flow-brand,
.sds-tp-flow-brand:visited { align-items: center; color: #fff; display: flex; gap: 9px; text-decoration: none; }
.sds-tp-flow-brand img { display: block; height: 58px; max-width: 220px; object-fit: contain; width: auto; }
.sds-tp-flow-brand > span { align-items: center; background: var(--sds-yellow); border-radius: 50%; color: #050505; display: flex; font-weight: 1000; height: 38px; justify-content: center; width: 38px; }
.sds-tp-flow-brand strong { line-height: .9; }
.sds-tp-flow-brand small { display: block; font-size: .55rem; letter-spacing: .12em; margin-top: 5px; }
.sds-tp-flow-navigation > div { align-items: center; display: flex; gap: 9px; }
.sds-tp-flow-navigation > div a,
.sds-tp-flow-navigation > div a:visited { border-radius: 7px; color: #fff; font-size: .85rem; font-weight: 800; padding: 10px 13px; text-decoration: none; }
.sds-tp-flow-navigation > div a:hover,
.sds-tp-flow-navigation > div a.is-active { background: #292929; }
.sds-tp-flow-navigation > div .sds-tp-flow-dashboard { background: var(--sds-yellow); color: #050505; }
.sds-tp-payment-summary {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(3, 1fr);
    margin: 22px 0;
}
.sds-tp-payment-summary div {
    background: #f5f5f5;
    border-left: 4px solid var(--sds-yellow);
    padding: 16px;
}
.sds-tp-payment-summary span,
.sds-tp-payment-summary strong { display: block; }
.sds-tp-reference-form {
    border-top: 1px solid #ddd;
    margin-top: 24px;
    padding-top: 20px;
}
.sds-tp-card-payment-option,
.sds-tp-bank-transfer {
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 15px;
    margin-top: 20px;
    padding: 22px;
}
.sds-tp-card-payment-option { border-left: 6px solid var(--sds-yellow); }
.sds-tp-card-payment-option h3,
.sds-tp-bank-transfer h3 { font-size: 1.65rem; margin: 4px 0 8px; }
.sds-tp-bank-grid { display: grid; gap: 16px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 18px; }
.sds-tp-bank-card {
    background: linear-gradient(145deg, #0b0b0b, #242424);
    border-bottom: 5px solid var(--sds-yellow);
    border-radius: 13px;
    color: #fff;
    padding: 20px;
}
.sds-tp-bank-card > span { color: var(--sds-yellow); font-size: .75rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.sds-tp-bank-card h4 { color: #fff; font-size: 1.35rem; margin: 6px 0 14px; }
.sds-tp-bank-card dl { margin: 0 0 16px; }
.sds-tp-bank-card dl div { border-top: 1px solid rgba(255,255,255,.14); display: flex; gap: 12px; justify-content: space-between; padding: 8px 0; }
.sds-tp-bank-card dt { color: #bbb; }
.sds-tp-bank-card dd { font-weight: 800; margin: 0; text-align: right; }
.sds-tp-bank-card .sds-tp-secondary-button { border-color: var(--sds-yellow); width: 100%; }
.sds-tp-payment-confirmation { background: #fff8d7; border-left: 5px solid var(--sds-yellow); margin-top: 18px; padding: 18px; }
.sds-tp-payment-confirmation h4 { margin-top: 0; }
.sds-tp-payment-confirmation li { margin: 7px 0; }
.sds-tp-reference-form label { display: block; font-weight: 800; }
.sds-tp-reference-form input { border: 1px solid #aaa; border-radius: 8px; display: block; font: inherit; margin: 7px 0 12px; padding: 12px; width: 100%; }

.sds-tp-celebration-empty {
    background: linear-gradient(135deg, #fff9df, #fff);
    border: 1px dashed #d6a900;
    border-radius: 14px;
    padding: 20px;
}
.sds-tp-celebration-empty p { margin: 6px 0 0; }
.sds-tp-social-follow {
    align-items: center;
    background: #0c0c0c;
    border-left: 6px solid #ffc400;
    border-radius: 16px;
    color: #fff;
    display: flex;
    gap: 20px;
    justify-content: space-between;
    margin-top: 20px;
    padding: 20px;
}
.sds-tp-social-follow h3 { color: #fff; margin: 2px 0 0; }
.sds-tp-social-follow nav { display: flex; flex-wrap: wrap; gap: 8px; }
.sds-tp-social-follow a,
.sds-tp-social-follow a:visited {
    align-items: center;
    background: #fff;
    border: 2px solid #ffc400;
    border-radius: 999px;
    color: #111 !important;
    display: inline-flex;
    gap: 8px;
    font-weight: 800;
    padding: 6px 12px 6px 6px;
    text-decoration: none;
}
.sds-tp-social-follow a:hover { background: #ffc400; transform: translateY(-2px); }
.sds-tp-social-follow svg {
    background: #111;
    border-radius: 50%;
    color: #ffc400;
    fill: currentColor;
    height: 34px;
    padding: 7px;
    width: 34px;
}
.sds-tp-social-follow a:hover svg { color: #fff; }

.sds-tp-workshop-promo {
    align-items: stretch;
    background: linear-gradient(120deg, #090909, #242424);
    border: 1px solid #333;
    border-radius: 18px;
    color: #fff;
    display: grid;
    gap: 22px;
    grid-template-columns: minmax(0, 1fr) minmax(300px, .9fr);
    margin-top: 20px;
    isolation: isolate;
    padding: clamp(22px, 4vw, 34px);
    position: relative;
}
.sds-tp-workshop-promo.has-image::before { background-image: linear-gradient(90deg,rgba(5,5,5,.96),rgba(5,5,5,.72)),var(--sds-workshop-image); background-position: center; background-size: cover; border-radius: inherit; content: ""; inset: 0; position: absolute; z-index: -1; }
.sds-tp-workshop-promo h3,
.sds-tp-podcast-card h3 { color: #fff; font-size: clamp(1.5rem, 2.5vw, 2.15rem); margin: 4px 0 8px; }
.sds-tp-workshop-promo p { color: #e1e1e1; }
.sds-tp-workshop-preview { display: grid; gap: 9px; }
.sds-tp-workshop-preview article,
.sds-tp-session-preview-empty {
    align-items: center;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 11px;
    display: flex;
    gap: 12px;
    padding: 12px;
}
.sds-tp-workshop-preview time {
    background: var(--sds-yellow);
    border-radius: 8px;
    color: #000;
    font-weight: 900;
    min-width: 58px;
    padding: 9px 6px;
    text-align: center;
}
.sds-tp-workshop-preview strong,
.sds-tp-workshop-preview span,
.sds-tp-session-preview-empty strong,
.sds-tp-session-preview-empty span { display: block; }
.sds-tp-workshop-preview span,
.sds-tp-session-preview-empty span { color: #d4d4d4; font-size: .82rem; }

.sds-tp-adult-rates {
    background: #fff;
    border: 1px solid #dedede;
    border-radius: 18px;
    margin-top: 20px;
    padding: clamp(22px, 4vw, 34px);
}
.sds-tp-adult-rates header { align-items: end; display: flex; gap: 24px; justify-content: space-between; }
.sds-tp-adult-rates h3 { font-size: clamp(1.5rem, 2.6vw, 2.15rem); margin: 4px 0 0; }
.sds-tp-adult-rates header p { color: #666; margin: 0; max-width: 460px; }
.sds-tp-rate-grid { display: grid; gap: 10px; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 20px 0 12px; }
.sds-tp-rate-grid a,
.sds-tp-rate-grid a:visited {
    align-items: center;
    background: #f7f7f7;
    border: 1px solid #ddd;
    border-radius: 11px;
    color: #111 !important;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 105px;
    padding: 13px;
    text-align: center;
    text-decoration: none;
}
.sds-tp-rate-grid a:hover { background: #fff5bd; border-color: #dbb000; transform: translateY(-2px); }
.sds-tp-rate-grid span { font-size: .83rem; }
.sds-tp-rate-grid strong { color: #000; font-size: 1.45rem; margin-top: 5px; }
.sds-tp-adult-rates small { color: #666; }

.sds-tp-podcast-card {
    align-items: center;
    background: linear-gradient(120deg, #111, #242424);
    border-left: 6px solid var(--sds-yellow);
    border-radius: 16px;
    color: #fff;
    display: flex;
    gap: 22px;
    justify-content: space-between;
    margin-top: 20px;
    padding: 22px;
}
.sds-tp-podcast-card p { color: #ddd; margin: 0; }

.sds-tp-instructor-workshop-header {
    background: linear-gradient(120deg, #070707, #252525);
    border-left: 7px solid var(--sds-yellow);
    border-radius: 16px;
    color: #fff;
    margin-bottom: 18px;
    padding: clamp(24px, 4vw, 42px);
}
.sds-tp-instructor-workshop-header p { color: #e2e2e2; margin-bottom: 0; }
.sds-tp-workshop-mode-grid { display: grid; gap: 14px; grid-template-columns: repeat(2, 1fr); margin-bottom: 18px; }
.sds-tp-workshop-mode-grid article {
    align-items: flex-start;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 13px;
    display: flex;
    gap: 12px;
    padding: 18px;
}
.sds-tp-workshop-mode-grid article > span { color: #d9a800; font-size: 1.4rem; font-weight: 900; }
.sds-tp-workshop-mode-grid strong { font-size: 1.1rem; }
.sds-tp-workshop-mode-grid p { color: #666; margin: 4px 0 0; }

@media (max-width: 800px) {
    body { padding-bottom: 72px; }
    .sds-tp-learner-nav {
        border-bottom: 0;
        border-radius: 14px 14px 0 0;
        bottom: 0;
        box-shadow: 0 -8px 30px rgba(0,0,0,.2);
        left: 0;
        max-width: none;
        min-height: 64px;
        padding: 5px 8px;
        position: fixed;
        right: 0;
        top: auto;
    }
    .sds-tp-nav-brand { display: none; }
    .sds-tp-nav-links {
        justify-content: space-around;
        margin: 0;
        overflow-x: auto;
        width: 100%;
    }
    .sds-tp-nav-links a,
    .sds-tp-nav-links a:visited {
        flex-direction: column;
        font-size: .64rem;
        gap: 2px;
        justify-content: center;
        min-width: 62px;
        padding: 5px 6px;
        text-align: center;
        white-space: nowrap;
    }
    .sds-tp-nav-links a span { font-size: 1rem; line-height: 1; }
    .sds-tp-nav-links a.sds-tp-nav-logout,
    .sds-tp-nav-links a.sds-tp-nav-logout:visited { margin-left: 0; }
    .sds-tp-nav-language { margin-left: 0; }
    .sds-tp-nav-language summary {
        flex-direction: column;
        font-size: .64rem;
        gap: 2px;
        justify-content: center;
        min-height: 54px;
        min-width: 62px;
        padding: 5px 6px;
        text-align: center;
    }
    .sds-tp-nav-language summary span { font-size: 1rem; line-height: 1; }
    .sds-tp-nav-language details > div {
        bottom: 72px;
        position: fixed;
        right: 8px;
        top: auto;
    }
    .sds-tp-lesson-navigation-center { flex-wrap: wrap; }
    .sds-tp-lesson-opening { grid-template-columns: 1fr; }
    .sds-tp-hero,
    .sds-tp-grid-3,
    .sds-tp-grid-2,
    .sds-tp-community-layout { grid-template-columns: 1fr; }
    .sds-tp-practical-cta { grid-template-columns: 1fr; }
    .sds-tp-practical-cta-image { min-height: 210px; order: -1; }
    .sds-tp-stat { height: 140px; width: 140px; }
    .sds-tp-support-row { align-items: center; flex-direction: column; }
    .sds-tp-community-header { align-items: flex-start; flex-direction: column; gap: 15px; }
    .sds-tp-checkins { grid-template-columns: 1fr; }
    .sds-tp-feed-post.is-reply { margin-left: 18px; }
    .sds-tp-enrollment-form,
    .sds-tp-payment-summary,
    .sds-tp-bank-grid { grid-template-columns: 1fr; }
    .sds-tp-metrics-4 { grid-template-columns: repeat(2, 1fr); }
    .sds-tp-module-grid { grid-template-columns: repeat(2, 1fr); }
    .sds-tp-lesson-progress { align-items: stretch; flex-direction: column; }
    .sds-tp-exam-header { align-items: stretch; flex-direction: column; }
    .sds-tp-timer { width: 100%; }
    .sds-tp-exam-layout { grid-template-columns: 1fr; }
    .sds-tp-workshop-header { align-items: flex-start; flex-direction: column; }
    .sds-tp-workshop-header .sds-tp-language { flex: initial; }
    .sds-tp-question-palette {
        max-width: 100%;
        position: static;
        width: 100%;
    }
    .sds-tp-question-palette > div { grid-template-columns: repeat(8, minmax(0, 1fr)); }
    .sds-tp-exam-navigation { align-items: stretch; flex-wrap: wrap; }
    .sds-tp-exam-navigation .sds-tp-button { flex: 1 0 100%; order: 3; }
    .sds-tp-session-row { align-items: stretch; flex-direction: column; }
    .sds-tp-social-follow { align-items: flex-start; flex-direction: column; }
    .sds-tp-workshop-promo,
    .sds-tp-workshop-mode-grid { grid-template-columns: 1fr; }
    .sds-tp-flow-navigation,
    .sds-tp-outcome-hero { align-items: stretch; flex-direction: column; }
    .sds-tp-flow-navigation > div { align-items: stretch; display: grid; grid-template-columns: 1fr; }
    .sds-tp-outcome-intro-grid,
    .sds-tp-outcome-actions { grid-template-columns: 1fr; }
    .sds-tp-outcome-actions .sds-tp-knowledge-gap-card { grid-column: auto; }
    .sds-tp-adult-rates header,
    .sds-tp-podcast-card { align-items: flex-start; flex-direction: column; }
    .sds-tp-rate-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 520px) {
    .sds-tp-question-palette > div { grid-template-columns: repeat(5, minmax(0, 1fr)); }
    .sds-tp-options label { grid-template-columns: auto auto 1fr; padding: 12px 9px; }
    .sds-tp-module-grid { grid-template-columns: 1fr; }
    .sds-tp-workshop-module li { align-items: start; grid-template-columns: 36px 1fr; }
    .sds-tp-workshop-module li a { grid-column: 2; text-align: center; }
    .sds-tp-lesson-navigation { grid-template-columns: 1fr; text-align: center; }
    .sds-tp-lesson-navigation div:last-child { text-align: center; }
    .sds-tp-rate-grid { grid-template-columns: 1fr; }
}

/* Version 0.11.1 approved learner-portal redesign. */
@media (min-width: 961px) {
    body.sds-tp-portal-page { background: #f4f5f7; padding-left: 256px; }
    body.sds-tp-portal-page #page,
    body.sds-tp-portal-page #content,
    body.sds-tp-portal-page .site-content,
    body.sds-tp-portal-page .content-area,
    body.sds-tp-portal-page .site-main,
    body.sds-tp-portal-page article,
    body.sds-tp-portal-page .entry-content { max-width: none !important; width: 100% !important; }
    body.sds-tp-portal-page .entry-content > * { max-width: none; }
    body.sds-tp-portal-page .sds-tp-learner-nav {
        border: 0;
        border-radius: 0;
        bottom: 0;
        display: flex;
        flex-direction: column;
        gap: 0;
        left: 0;
        margin: 0;
        min-height: 100vh;
        overflow-y: auto;
        padding: 20px 23px;
        position: fixed;
        top: 0;
        width: 256px;
    }
    .sds-tp-learner-nav .sds-tp-nav-links { align-items: stretch; display: block; margin: 0; overflow: visible; width: 100%; }
}

.sds-tp-sidebar-brand,
.sds-tp-sidebar-brand:visited {
    align-items: center;
    color: #fff;
    display: flex;
    gap: 10px;
    justify-content: center;
    text-decoration: none;
    width: 100%;
}
.sds-tp-sidebar-brand img { display: block; height: auto; max-height: 72px; max-width: 100%; object-fit: contain; width: 190px; }
.sds-tp-sidebar-brand > span {
    align-items: center;
    background: linear-gradient(145deg, var(--sds-yellow), #f5a800);
    border-radius: 60% 25% 60% 25%;
    color: #090909;
    display: flex;
    font-size: 1.65rem;
    font-style: italic;
    font-weight: 1000;
    height: 45px;
    justify-content: center;
    transform: skew(-8deg);
    width: 45px;
}
.sds-tp-sidebar-brand strong { font-size: 1.35rem; letter-spacing: .02em; line-height: .9; }
.sds-tp-sidebar-brand small { display: block; font-size: .66rem; letter-spacing: .14em; margin-top: 7px; }
.sds-tp-sidebar-portal-label { color: #d6d6d6; font-size: .63rem; letter-spacing: .18em; margin: 11px 0 19px; text-align: center; text-transform: uppercase; }
.sds-tp-sidebar-profile { align-items: center; border-bottom: 1px solid #262626; display: flex; flex-direction: column; margin-bottom: 16px; padding-bottom: 18px; text-align: center; }
.sds-tp-sidebar-profile img { border: 3px solid #fff; border-radius: 50%; height: 66px; margin-bottom: 9px; object-fit: cover; width: 66px; }
.sds-tp-sidebar-profile strong { color: #fff; font-size: .95rem; }
.sds-tp-sidebar-profile span { color: var(--sds-yellow); font-size: .78rem; margin-top: 4px; }
.sds-tp-sidebar-group { margin: 0 0 10px; }
.sds-tp-sidebar-group h2 { color: #aaa; font-size: .64rem; letter-spacing: .13em; margin: 0 0 5px; text-transform: uppercase; }
.sds-tp-nav-links .sds-tp-sidebar-group a,
.sds-tp-nav-links .sds-tp-sidebar-group a:visited,
.sds-tp-sidebar-footer > a,
.sds-tp-sidebar-footer > a:visited {
    border-radius: 7px;
    color: #fff;
    display: flex;
    font-size: .84rem;
    font-weight: 700;
    gap: 10px;
    min-height: 38px;
    padding: 8px 10px;
    text-decoration: none;
}
.sds-tp-nav-links .sds-tp-sidebar-group a > span,
.sds-tp-sidebar-footer > a > span { align-items: center; display: inline-flex; font-size: 1.05rem; justify-content: center; width: 18px; }
.sds-tp-nav-links .sds-tp-sidebar-group a:hover,
.sds-tp-nav-links .sds-tp-sidebar-group a:focus,
.sds-tp-nav-links .sds-tp-sidebar-group a.is-active { background: var(--sds-yellow); color: #050505; }
.sds-tp-nav-links .sds-tp-sidebar-group a.is-locked:not(:hover) { color: #bdbdbd; }
.sds-tp-sidebar-booking,
.sds-tp-sidebar-booking:visited {
    align-items: center;
    background: var(--sds-yellow);
    border-radius: 8px;
    color: #050505 !important;
    display: flex !important;
    font-size: .78rem !important;
    font-weight: 900;
    gap: 8px;
    justify-content: center;
    margin: 11px 0 15px;
    min-height: 48px !important;
    padding: 9px 7px !important;
    text-align: center;
    text-decoration: none;
}
.sds-tp-sidebar-footer { border-top: 1px solid #333; padding-top: 12px; }
.sds-tp-sidebar-languages { display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; margin-bottom: 9px; }
.sds-tp-sidebar-languages a,
.sds-tp-sidebar-languages a:visited { color: #bbb; font-size: .65rem; padding: 5px 4px; text-decoration: none; }
.sds-tp-sidebar-languages a + a { border-left: 1px solid #555; padding-left: 10px; }
.sds-tp-sidebar-languages a.is-active { color: var(--sds-yellow); font-weight: 900; }
.sds-tp-sidebar-languages a.is-review-pending,
.sds-tp-sidebar-languages a.is-review-pending:visited {
    border: 1px dashed #777;
    border-radius: 6px;
    color: #ddd;
    flex-basis: 100%;
    line-height: 1.35;
    padding: 6px 8px;
    text-align: center;
}
.sds-tp-sidebar-languages a.is-review-pending + a { border-left: 0; padding-left: 4px; }
.sds-tp-translation-pilot {
    background: #fff8d8;
    border: 2px solid var(--sds-yellow);
    border-radius: 14px;
    box-shadow: 0 10px 30px rgba(0,0,0,.12);
    color: #171717;
    margin: 24px auto;
    max-width: 900px;
    padding: 18px 22px;
}
.sds-tp-translation-pilot > strong { font-size: 1.15rem; }
.sds-tp-translation-pilot summary { cursor: pointer; font-weight: 800; margin-top: 10px; }
.sds-tp-translation-pilot label { display: block; font-weight: 700; margin-top: 12px; }
.sds-tp-translation-pilot textarea { display: block; min-height: 86px; width: 100%; }
.sds-tp-translation-pilot button { background: #111; border: 0; border-radius: 7px; color: #fff; cursor: pointer; font-weight: 800; margin-top: 14px; padding: 10px 16px; }
.sds-tp-pilot-success { color: #176b32; font-weight: 800; }

.sds-tp-dashboard-v111 { background: #f4f5f7; color: #111; font-family: Arial, "Noto Sans Devanagari", "Noto Sans SC", Helvetica, sans-serif; min-height: 100vh; }
.sds-tp-dashboard-v111 * { box-sizing: border-box; }
.sds-tp-dashboard-toolbar { align-items: center; background: #fff; border-bottom: 1px solid #ddd; display: flex; justify-content: space-between; min-height: 72px; padding: 12px clamp(18px, 3vw, 38px); }
.sds-tp-dashboard-toolbar h1 { color: #111; font-size: clamp(1.3rem, 2vw, 1.85rem); margin: 0; }
.sds-tp-dashboard-toolbar > div { align-items: center; display: flex; gap: 15px; }
.sds-tp-dashboard-toolbar form { align-items: center; display: flex; position: relative; }
.sds-tp-dashboard-toolbar form input[type="search"] { border: 1px solid transparent; border-radius: 999px; max-width: 0; opacity: 0; padding: 9px 38px 9px 12px; transition: .2s ease; }
.sds-tp-dashboard-toolbar form:focus-within input[type="search"] { border-color: #bbb; max-width: 190px; opacity: 1; }
.sds-tp-dashboard-toolbar form button { background: transparent; border: 0; color: #050505; cursor: pointer; font-size: 1.7rem; padding: 4px 8px; position: absolute; right: 0; }
.sds-tp-toolbar-alert { color: #050505; font-size: 1.55rem; text-decoration: none; }
.sds-tp-toolbar-user { align-items: center; border: 1px solid #ddd; border-radius: 999px; color: #111 !important; display: flex; font-weight: 800; gap: 8px; padding: 4px 12px 4px 4px; text-decoration: none; }
.sds-tp-toolbar-user img { border-radius: 50%; height: 34px; width: 34px; }
.screen-reader-text { clip: rect(1px,1px,1px,1px); clip-path: inset(50%); height: 1px; overflow: hidden; position: absolute !important; width: 1px; }
.sds-tp-dashboard-main { max-width: 1600px; padding: 18px clamp(14px, 2.5vw, 34px) 45px; }

.sds-tp-dashboard-hero {
    background-image: linear-gradient(90deg, #050505 0%, rgba(5,5,5,.92) 35%, rgba(5,5,5,.42) 68%, rgba(5,5,5,.25)), var(--sds-hero-image), linear-gradient(120deg, #050505, #27200a);
    background-position: center, center, center;
    background-size: cover;
    min-height: 250px;
    padding: clamp(28px, 4vw, 52px);
    position: relative;
}
.sds-tp-dashboard-hero::after { background: linear-gradient(90deg, transparent, rgba(255,196,0,.16)); content: ""; inset: 0; pointer-events: none; position: absolute; }
.sds-tp-dashboard-hero > * { position: relative; z-index: 1; }
.sds-tp-dashboard-hero h2 { font-size: clamp(2.15rem, 4.2vw, 4.2rem); }
.sds-tp-dashboard-hero h2 em { display: inline; }
.sds-tp-dashboard-hero p { font-size: 1.15rem; }
.sds-tp-dashboard-hero .sds-tp-stat { background: conic-gradient(var(--sds-yellow) calc(var(--sds-progress) * 1%), #3c3c3c 0); border: 0; box-shadow: inset 0 0 0 15px #111, 0 10px 30px rgba(0,0,0,.3); height: 155px; width: 155px; }
.sds-tp-dashboard-hero .sds-tp-stat strong { font-size: 2.7rem; }
.sds-tp-hero-mini-stats { bottom: 22px; display: flex; gap: 14px; position: absolute; right: 28px; }
.sds-tp-hero-mini-stats span { align-items: center; background: rgba(0,0,0,.78); border: 1px solid #b99100; border-radius: 9px; display: flex; font-size: .78rem; gap: 8px; padding: 10px 14px; }
.sds-tp-hero-mini-stats b { color: var(--sds-yellow); }

.sds-tp-dashboard-row { display: grid; gap: 12px; margin-top: 12px; }
.sds-tp-dashboard-row-primary { grid-template-columns: minmax(0, 1.65fr) minmax(310px, .85fr); }
.sds-tp-dashboard-row-secondary { grid-template-columns: 1fr 1.18fr 1fr; }
.sds-tp-dashboard-row-bottom { grid-template-columns: 1.35fr 1fr; }
.sds-tp-dashboard-panel,
.sds-tp-dashboard-v111 .sds-tp-journey { background: #fff; border: 1px solid #ddd; border-radius: 14px; box-shadow: 0 4px 15px rgba(0,0,0,.045); margin: 0; overflow: hidden; padding: 18px; }
.sds-tp-dashboard-panel h2,
.sds-tp-dashboard-v111 .sds-tp-journey h2 { color: #111; font-size: 1.28rem; margin: 0; }
.sds-tp-dashboard-panel > header { align-items: center; display: flex; justify-content: space-between; }
.sds-tp-dashboard-panel > header > div { align-items: center; display: flex; gap: 8px; }
.sds-tp-dashboard-panel header a,
.sds-tp-dashboard-panel-link { color: #1468c8; font-size: .72rem; font-weight: 700; text-decoration: none; }

.sds-tp-dashboard-v111 .sds-tp-journey { padding: 18px 22px; }
.sds-tp-dashboard-v111 .sds-tp-journey header .sds-tp-kicker { display: none; }
.sds-tp-dashboard-v111 .sds-tp-journey header h2::before { color: var(--sds-yellow); content: "⌁"; font-size: 1.7rem; margin-right: 8px; }
.sds-tp-dashboard-v111 .sds-tp-module-grid { align-items: start; display: flex; gap: 0; margin-top: 24px; overflow-x: auto; padding: 0 0 7px; }
.sds-tp-dashboard-v111 .sds-tp-module-grid article { background: transparent; border: 0; border-radius: 0; flex: 1 0 115px; padding: 60px 7px 0; text-align: center; }
.sds-tp-dashboard-v111 .sds-tp-module-grid article::before { align-items: center; background: #fff; border: 5px solid #aaa; border-radius: 50%; color: #333; content: attr(data-module); display: flex; font-size: 0; height: 50px; justify-content: center; left: calc(50% - 25px); position: absolute; top: 0; width: 50px; z-index: 2; }
.sds-tp-dashboard-v111 .sds-tp-module-grid article::after { background: #aaa; content: ""; height: 4px; left: 50%; position: absolute; top: 23px; width: 100%; z-index: 1; }
.sds-tp-dashboard-v111 .sds-tp-module-grid article:last-child::after { display: none; }
.sds-tp-dashboard-v111 .sds-tp-module-grid article > span { align-items: center; background: #111; border-radius: 50%; color: #fff; display: flex; font-size: .7rem; font-weight: 900; height: 34px; justify-content: center; left: calc(50% - 17px); position: absolute; top: 8px; width: 34px; z-index: 3; }
.sds-tp-dashboard-v111 .sds-tp-module-grid article.is-completed::before { border-color: #34a640; }
.sds-tp-dashboard-v111 .sds-tp-module-grid article.is-completed::after { background: #34a640; }
.sds-tp-dashboard-v111 .sds-tp-module-grid article.is-progress::before { border-color: var(--sds-yellow); }
.sds-tp-dashboard-v111 .sds-tp-module-grid h3 { font-size: .77rem; }
.sds-tp-dashboard-v111 .sds-tp-module-grid p { font-size: .66rem; }
.sds-tp-dashboard-v111 .sds-tp-module-grid article > div,
.sds-tp-dashboard-v111 .sds-tp-module-grid article > strong { display: none; }

.sds-tp-quick-practice > p { font-size: .76rem; margin: 12px 0; }
.sds-tp-quick-question { align-items: center; display: grid; gap: 14px; grid-template-columns: 112px 1fr; }
.sds-tp-roundabout-sign { align-items: center; background: var(--sds-yellow); border: 4px solid #111; border-radius: 12px; color: #111; display: flex; font-size: 4rem; font-weight: 900; height: 84px; justify-content: center; margin: 8px auto; transform: rotate(45deg); width: 84px; }
.sds-tp-roundabout-sign::first-letter { transform: rotate(-45deg); }
.sds-tp-quick-question ol { list-style: none; margin: 0; padding: 0; }
.sds-tp-quick-question li { border: 1px solid #ddd; border-radius: 6px; font-size: .67rem; margin: 4px 0; padding: 6px 8px; }
.sds-tp-quick-question li.is-selected { border-color: var(--sds-yellow); }
.sds-tp-quick-practice > .sds-tp-button { display: block; font-size: .78rem; margin-top: 8px; padding: 9px; width: 100%; }

.sds-tp-study-buddy-live header small { align-items: center; color: #555; display: flex; font-size: .65rem; gap: 5px; }
.sds-tp-study-buddy-live header small i { background: #2eaf48; border-radius: 50%; height: 7px; width: 7px; }
.sds-tp-live-feed { margin: 10px 0; }
.sds-tp-live-feed > a { align-items: center; border-bottom: 1px solid #eee; color: #111; display: grid; gap: 8px; grid-template-columns: 36px minmax(0,1fr) auto; padding: 7px 0; text-decoration: none; }
.sds-tp-live-feed img { border-radius: 50%; height: 34px; object-fit: cover; width: 34px; }
.sds-tp-live-feed span strong,
.sds-tp-live-feed span small { display: block; }
.sds-tp-live-feed span strong { font-size: .72rem; }
.sds-tp-live-feed span small { color: #555; font-size: .65rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sds-tp-live-feed time { color: #777; font-size: .59rem; }
.sds-tp-dashboard-empty { font-size: .75rem; padding: 18px 0; text-align: center; }
.sds-tp-dashboard-empty a { display: block; margin-top: 8px; }

.sds-tp-live-session > div { display: grid; grid-template-columns: 42% 1fr; margin: 11px -18px -18px; min-height: 178px; }
.sds-tp-live-session > div > img { height: 100%; object-fit: cover; object-position: top center; width: 100%; }
.sds-tp-live-session > div > section { padding: 16px; }
.sds-tp-live-session h3 { font-size: .95rem; margin: 7px 0 3px; }
.sds-tp-live-session p,
.sds-tp-live-session time { color: #555; display: block; font-size: .68rem; margin: 3px 0; }
.sds-tp-live-session .sds-tp-button { font-size: .68rem; margin-top: 9px; padding: 8px 10px; }
.sds-tp-live-badge { background: var(--sds-yellow); border-radius: 4px; font-size: .58rem; font-weight: 900; padding: 4px 6px; }

.sds-tp-readiness-layout { align-items: center; display: grid; gap: 15px; grid-template-columns: 130px 1fr; margin-top: 17px; }
.sds-tp-readiness-ring { align-items: center; background: conic-gradient(#35a75a calc(var(--sds-readiness) * 1%), #d8eee0 0); border-radius: 50%; display: flex; flex-direction: column; height: 120px; justify-content: center; position: relative; text-align: center; width: 120px; }
.sds-tp-readiness-ring::before { background: #fff; border-radius: 50%; content: ""; inset: 11px; position: absolute; }
.sds-tp-readiness-ring > * { position: relative; }
.sds-tp-readiness-ring span { font-size: .57rem; }
.sds-tp-readiness-ring strong { font-size: 1.9rem; }
.sds-tp-readiness-ring small { font-size: .59rem; }
.sds-tp-readiness-card dl { margin: 0; }
.sds-tp-readiness-card dl div { border-bottom: 1px solid #eee; display: flex; font-size: .67rem; justify-content: space-between; padding: 7px 0; }
.sds-tp-readiness-card dd { font-weight: 900; margin: 0; }
.sds-tp-readiness-card .sds-tp-dashboard-panel-link { display: block; margin-top: 12px; text-align: center; }

.sds-tp-achievements-card > div { display: grid; gap: 8px; grid-template-columns: repeat(4, 1fr); margin-top: 15px; }
.sds-tp-achievements-card > div > span { align-items: center; display: flex; flex-direction: column; text-align: center; }
.sds-tp-achievements-card b { align-items: center; background: #fff; border: 4px solid currentColor; border-radius: 28% 28% 45% 45%; display: flex; font-size: 1.25rem; height: 53px; justify-content: center; width: 53px; }
.sds-tp-achievements-card strong { color: #111; font-size: .68rem; margin-top: 6px; }
.sds-tp-achievements-card small { color: #666; font-size: .61rem; }
.sds-tp-achievements-card .is-green { color: #2d9f45; }
.sds-tp-achievements-card .is-orange { color: #ef8b00; }
.sds-tp-achievements-card .is-blue { color: #176bc0; }
.sds-tp-achievements-card .is-purple { color: #7955ad; }

.sds-tp-passed-card { background-image: linear-gradient(90deg, rgba(0,0,0,.98) 0%, rgba(0,0,0,.94) 48%, rgba(0,0,0,.18) 78%), var(--sds-keys-image); background-position: center; background-size: cover; color: #fff; min-height: 180px; padding: 24px; }
.sds-tp-passed-card > div { max-width: 60%; }
.sds-tp-passed-card h2 { color: #fff; font-size: clamp(1.45rem, 2.4vw, 2.15rem); }
.sds-tp-passed-card p { font-size: .75rem; line-height: 1.45; }
.sds-tp-passed-card .sds-tp-button { font-size: .78rem; padding: 10px 14px; }
.sds-tp-passed-share { color: #fff !important; display: inline-block; font-size: .67rem; margin-left: 10px; }
.sds-tp-dashboard-v111 .sds-tp-workshop-promo,
.sds-tp-dashboard-v111 .sds-tp-adult-rates,
.sds-tp-dashboard-v111 .sds-tp-focus-card,
.sds-tp-dashboard-v111 .sds-tp-podcast-card,
.sds-tp-dashboard-v111 .sds-tp-social-follow { margin-top: 12px; }

@media (max-width: 1180px) and (min-width: 961px) {
    body.sds-tp-portal-page { padding-left: 226px; }
    body.sds-tp-portal-page .sds-tp-learner-nav { padding-left: 16px; padding-right: 16px; width: 226px; }
    .sds-tp-dashboard-row-secondary { grid-template-columns: repeat(2, 1fr); }
    .sds-tp-readiness-card { grid-column: 1 / -1; }
}

@media (max-width: 960px) {
    .sds-tp-sidebar-brand,
    .sds-tp-sidebar-portal-label,
    .sds-tp-sidebar-profile,
    .sds-tp-sidebar-group h2,
    .sds-tp-sidebar-booking,
    .sds-tp-sidebar-footer { display: none !important; }
    .sds-tp-nav-links .sds-tp-sidebar-group { display: contents; }
    .sds-tp-nav-links .sds-tp-sidebar-group a,
    .sds-tp-nav-links .sds-tp-sidebar-group a:visited { flex: 0 0 74px; flex-direction: column; font-size: .62rem; gap: 1px; justify-content: center; min-height: 58px; padding: 4px; text-align: center; }
    .sds-tp-nav-links .sds-tp-sidebar-group a:nth-child(n+5) { display: none; }
    .sds-tp-dashboard-toolbar { padding: 10px 14px; }
    .sds-tp-dashboard-toolbar form,
    .sds-tp-toolbar-alert { display: none; }
    .sds-tp-dashboard-row-primary,
    .sds-tp-dashboard-row-secondary,
    .sds-tp-dashboard-row-bottom { grid-template-columns: 1fr; }
    .sds-tp-hero-mini-stats { display: none; }
    .sds-tp-dashboard-hero { min-height: 320px; }
    .sds-tp-dashboard-v111 .sds-tp-module-grid article { flex-basis: 105px; }
    .sds-tp-live-session > div { min-height: 220px; }
}

@media (max-width: 560px) {
    .sds-tp-toolbar-user span { display: none; }
    .sds-tp-dashboard-main { padding-left: 9px; padding-right: 9px; }
    .sds-tp-dashboard-hero { align-items: flex-start; display: flex; flex-direction: column; padding: 25px 20px; }
    .sds-tp-dashboard-hero .sds-tp-stat { height: 112px; width: 112px; }
    .sds-tp-dashboard-hero .sds-tp-stat strong { font-size: 2rem; }
    .sds-tp-quick-question { grid-template-columns: 92px 1fr; }
    .sds-tp-roundabout-sign { height: 66px; width: 66px; }
    .sds-tp-live-session > div { grid-template-columns: 1fr; }
    .sds-tp-live-session > div > img { max-height: 230px; }
    .sds-tp-readiness-layout { grid-template-columns: 1fr; justify-items: center; }
    .sds-tp-readiness-card dl { width: 100%; }
    .sds-tp-achievements-card > div { grid-template-columns: repeat(2, 1fr); }
    .sds-tp-passed-card > div { max-width: 76%; }
    .sds-tp-passed-share { display: block; margin: 10px 0 0; }
}

/* Premium learner dashboard · v0.21.0 staging */
.sds-tp-dashboard-premium {
    --sds-premium-gold:#f5c400; --sds-premium-charcoal:#111214; --sds-premium-panel:#181a1e;
    background:radial-gradient(circle at 75% 4%,rgba(245,196,0,.13),transparent 26%),linear-gradient(145deg,#08090a,#131519 58%,#090a0b);
    color:#e7e8eb; min-height:100vh;
}
.sds-tp-dashboard-premium .sds-tp-dashboard-toolbar {background:rgba(8,9,10,.94);border-bottom:1px solid rgba(245,196,0,.25);color:#fff;position:sticky;top:0;z-index:10;backdrop-filter:blur(15px)}
.sds-tp-dashboard-premium .sds-tp-dashboard-toolbar h1,.sds-tp-dashboard-premium .sds-tp-toolbar-alert{color:var(--sds-premium-gold)}
.sds-tp-dashboard-premium .sds-tp-toolbar-user{background:#17191c;border-color:#34363b;color:#fff!important}
.sds-tp-dashboard-premium .sds-tp-dashboard-main{display:flex;flex-direction:column;gap:clamp(22px,3vw,42px);max-width:1540px;padding:clamp(18px,2.5vw,38px) clamp(14px,3vw,46px) 70px}
.sds-tp-dashboard-premium .sds-tp-dashboard-hero{border:1px solid rgba(245,196,0,.42);border-radius:26px;box-shadow:0 30px 70px rgba(0,0,0,.42);display:grid;grid-template-columns:minmax(0,1.4fr) auto;min-height:480px;overflow:hidden;padding:clamp(34px,5vw,74px)}
.sds-tp-dashboard-premium .sds-tp-dashboard-hero:before{background:linear-gradient(90deg,#08090a 0%,rgba(8,9,10,.91) 46%,rgba(8,9,10,.1) 84%);content:"";inset:0;position:absolute}
.sds-tp-dashboard-premium .sds-tp-dashboard-hero::after{background:linear-gradient(120deg,rgba(245,196,0,.12),transparent 42%);content:"";inset:0;position:absolute}
.sds-tp-dashboard-premium .sds-tp-hero-copy{align-self:center;max-width:780px}
.sds-tp-dashboard-premium .sds-tp-dashboard-hero h2{color:#fff;font-size:clamp(2.5rem,5vw,5.35rem);letter-spacing:-.045em;line-height:.96;margin:12px 0 18px;max-width:800px}
.sds-tp-dashboard-premium .sds-tp-dashboard-hero p{color:#c7c9ce;max-width:600px}
.sds-tp-dashboard-premium .sds-tp-kicker{color:var(--sds-premium-gold);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase}
.sds-tp-hero-context{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));margin:26px 0}
.sds-tp-hero-context div{border-left:2px solid rgba(245,196,0,.58);padding-left:12px}.sds-tp-hero-context dt{color:#979ba4;font-size:.67rem;text-transform:uppercase}.sds-tp-hero-context dd{color:#fff;font-size:.82rem;font-weight:800;margin:3px 0 0}
.sds-tp-dashboard-premium .sds-tp-button{background:var(--sds-premium-gold);border:1px solid var(--sds-premium-gold);border-radius:999px;color:#08090a!important;font-weight:900;min-height:48px;padding:13px 24px;transition:transform .2s,box-shadow .2s}
.sds-tp-dashboard-premium .sds-tp-button:hover{box-shadow:0 12px 30px rgba(245,196,0,.22);transform:translateY(-2px)}
.sds-tp-dashboard-premium .sds-tp-dashboard-hero .sds-tp-stat{align-self:center;background:conic-gradient(var(--sds-premium-gold) calc(var(--sds-progress)*1%),#34363a 0);box-shadow:inset 0 0 0 17px #111317,0 15px 40px rgba(0,0,0,.5);height:172px;width:172px}
.sds-tp-dashboard-premium .sds-tp-dashboard-panel,.sds-tp-dashboard-premium .sds-tp-journey,.sds-tp-dashboard-premium .sds-tp-focus-card,.sds-tp-dashboard-premium .sds-tp-workshop-promo{background:linear-gradient(145deg,rgba(29,31,36,.97),rgba(18,20,23,.97));border:1px solid #36383e;border-top-color:rgba(245,196,0,.68);border-radius:22px;box-shadow:0 18px 50px rgba(0,0,0,.25);color:#d1d3d7;padding:clamp(22px,3vw,36px)}
.sds-tp-dashboard-premium .sds-tp-dashboard-panel h2,.sds-tp-dashboard-premium .sds-tp-journey h2,.sds-tp-dashboard-premium .sds-tp-focus-card h3{color:var(--sds-premium-gold);font-size:clamp(1.35rem,2.2vw,2.15rem);letter-spacing:-.025em}
.sds-tp-dashboard-premium .sds-tp-start-here{display:grid;gap:clamp(28px,5vw,64px);grid-template-columns:minmax(0,1fr) minmax(360px,.82fr);order:2}.sds-tp-dashboard-premium .sds-tp-start-video video,.sds-tp-dashboard-premium .sds-tp-video-placeholder{aspect-ratio:16/9;border:1px solid #4b4e54;border-radius:18px;width:100%}
.sds-tp-dashboard-premium .sds-tp-learning-sequence{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}.sds-tp-dashboard-premium .sds-tp-learning-sequence b{background:#23262b;border:1px solid #44474d;border-radius:999px;color:#fff;padding:8px 12px}.sds-tp-dashboard-premium .sds-tp-learning-sequence i{color:var(--sds-premium-gold);padding:8px 0}
.sds-tp-dashboard-premium .sds-tp-continue-card{align-items:center;display:flex;justify-content:space-between;order:3}.sds-tp-dashboard-premium .sds-tp-continue-card p{color:#aeb1b7}
.sds-tp-dashboard-premium .sds-tp-dashboard-row{display:contents}
.sds-tp-dashboard-premium .sds-tp-journey{order:4;padding:clamp(24px,3vw,40px)}
.sds-tp-dashboard-premium .sds-tp-module-grid{display:grid;gap:0;margin-top:28px;overflow:visible;padding:0}
.sds-tp-dashboard-premium .sds-tp-module-grid article{background:transparent;border:0;border-left:3px solid #44474d;border-radius:0;display:grid;grid-template-columns:56px minmax(0,1fr) auto;min-height:82px;padding:8px 0 24px 28px;position:relative;text-align:left}
.sds-tp-dashboard-premium .sds-tp-module-grid article::before,.sds-tp-dashboard-premium .sds-tp-module-grid article::after{display:none}
.sds-tp-dashboard-premium .sds-tp-module-grid article>span{align-items:center;background:#23262a;border:3px solid #656870;border-radius:50%;color:#fff;display:flex;font-size:.75rem;font-weight:900;height:42px;justify-content:center;left:-22px;position:absolute;top:4px;width:42px}
.sds-tp-dashboard-premium .sds-tp-module-grid article.is-completed{border-left-color:#35a75a}.sds-tp-dashboard-premium .sds-tp-module-grid article.is-completed>span{background:#13351e;border-color:#35a75a}.sds-tp-dashboard-premium .sds-tp-module-grid article.is-progress{border-left-color:var(--sds-premium-gold);background:linear-gradient(90deg,rgba(245,196,0,.10),transparent);border-radius:0 16px 16px 0}.sds-tp-dashboard-premium .sds-tp-module-grid article.is-progress>span{background:var(--sds-premium-gold);border-color:var(--sds-premium-gold);color:#111}
.sds-tp-dashboard-premium .sds-tp-module-grid h3{color:#fff;font-size:1rem;margin:0}.sds-tp-dashboard-premium .sds-tp-module-grid p{color:#9ea2aa;font-size:.78rem;margin:5px 0}.sds-tp-dashboard-premium .sds-tp-module-grid article>strong{color:var(--sds-premium-gold);display:block;font-size:.9rem}.sds-tp-dashboard-premium .sds-tp-module-grid article>div{background:#35383e;border-radius:5px;display:block;grid-column:2/4;height:5px;margin-top:10px;overflow:hidden}.sds-tp-dashboard-premium .sds-tp-module-grid article>div i{background:var(--sds-premium-gold);display:block;height:100%}
.sds-tp-dashboard-premium .sds-tp-module-grid article:not(.is-progress) p,.sds-tp-dashboard-premium .sds-tp-module-grid article:not(.is-progress)>div{opacity:.72}
.sds-tp-dashboard-premium .sds-tp-quick-practice{order:5}.sds-tp-dashboard-premium .sds-tp-focus-card{order:6}.sds-tp-dashboard-premium .sds-tp-study-buddy-live{order:7}.sds-tp-dashboard-premium .sds-tp-live-session{order:8}.sds-tp-dashboard-premium .sds-tp-readiness-card{order:5}.sds-tp-dashboard-premium .sds-tp-achievements-card{order:9}.sds-tp-dashboard-premium .sds-tp-test-day-centre{order:10}.sds-tp-dashboard-premium .sds-tp-passed-card{order:11}.sds-tp-dashboard-premium .sds-tp-workshop-promo{order:7}.sds-tp-dashboard-premium .sds-tp-support-row{order:8}.sds-tp-dashboard-premium .sds-tp-podcast-card,.sds-tp-dashboard-premium .sds-tp-social-follow{order:12}
.sds-tp-dashboard-premium .sds-tp-quick-question li,.sds-tp-dashboard-premium .sds-tp-live-feed>a{border-color:#393c42;color:#e7e8eb}.sds-tp-dashboard-premium .sds-tp-live-feed span small,.sds-tp-dashboard-premium .sds-tp-live-session p,.sds-tp-dashboard-premium .sds-tp-live-session time{color:#aaadb4}.sds-tp-dashboard-premium .sds-tp-readiness-ring::before{background:#181a1e}.sds-tp-dashboard-premium .sds-tp-readiness-card dl div{border-color:#383b40}.sds-tp-dashboard-premium .sds-tp-achievements-card strong{color:#fff}.sds-tp-dashboard-premium .sds-tp-achievements-card small{color:#a7aab0}.sds-tp-dashboard-premium .sds-tp-test-day-grid details{background:#202328;border:1px solid #3b3e44;border-radius:14px;color:#d9dade;padding:15px}.sds-tp-dashboard-premium .sds-tp-test-day-grid summary{color:#fff;font-weight:850}
@media(max-width:960px){.sds-tp-dashboard-premium .sds-tp-dashboard-main{gap:24px}.sds-tp-dashboard-premium .sds-tp-dashboard-hero{grid-template-columns:1fr;min-height:530px}.sds-tp-dashboard-premium .sds-tp-dashboard-hero .sds-tp-stat{height:130px;width:130px}.sds-tp-dashboard-premium .sds-tp-start-here{grid-template-columns:1fr}.sds-tp-hero-context{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.sds-tp-dashboard-premium .sds-tp-dashboard-toolbar h1{font-size:1.08rem}.sds-tp-dashboard-premium .sds-tp-dashboard-hero{background-position:center;min-height:630px;padding:28px 20px}.sds-tp-dashboard-premium .sds-tp-dashboard-hero:before{background:linear-gradient(180deg,rgba(8,9,10,.92),rgba(8,9,10,.74))}.sds-tp-dashboard-premium .sds-tp-dashboard-hero h2{font-size:2.55rem}.sds-tp-hero-context{grid-template-columns:1fr}.sds-tp-dashboard-premium .sds-tp-continue-card{align-items:flex-start;flex-direction:column;gap:18px}.sds-tp-dashboard-premium .sds-tp-button{align-items:center;display:flex;justify-content:center;min-height:52px;width:100%}.sds-tp-dashboard-premium .sds-tp-module-grid article{grid-template-columns:42px minmax(0,1fr) auto;padding-left:20px}.sds-tp-dashboard-premium .sds-tp-dashboard-panel,.sds-tp-dashboard-premium .sds-tp-journey{border-radius:17px;padding:20px}.sds-tp-dashboard-premium .sds-tp-learning-sequence{gap:6px}.sds-tp-dashboard-premium .sds-tp-learning-sequence b{font-size:.72rem;padding:7px 9px}.sds-tp-dashboard-premium{overflow-x:hidden}}

/* Facilitated Theory Prep Review · v0.12.0 */
.sds-tp-facilitated-review { background: #f5f5f2; color: #171717; margin: 0 auto; max-width: 1280px; min-height: 100vh; padding: 28px; }
.sds-tp-facilitator-hero { align-items: center; background: #0b0b0b; border-bottom: 7px solid #f5c400; border-radius: 20px; color: #fff; display: flex; gap: 24px; justify-content: space-between; padding: 30px; }
.sds-tp-facilitator-hero h1 { color: #fff; font-size: clamp(1.8rem, 4vw, 3rem); margin: 5px 0 8px; }
.sds-tp-facilitator-hero p { margin: 0; max-width: 760px; }
.sds-tp-session-timer { align-items: center; background: #f5c400; border-radius: 16px; color: #111; display: grid; flex: 0 0 210px; gap: 6px; grid-template-columns: 1fr 1fr; padding: 16px; text-align: center; }
.sds-tp-session-timer span, .sds-tp-session-timer strong { grid-column: 1 / -1; }
.sds-tp-session-timer strong { font-size: 2.4rem; font-variant-numeric: tabular-nums; }
.sds-tp-session-timer button { background: #111; border: 0; border-radius: 8px; color: #fff; cursor: pointer; padding: 8px; }
.sds-tp-time-warning .sds-tp-session-timer { background: #ef6c00; color: #fff; }
.sds-tp-facilitator-picker { margin: 20px 0; }
.sds-tp-facilitator-picker form { align-items: end; display: grid; gap: 14px; grid-template-columns: 1fr auto; }
.sds-tp-facilitator-picker label, .sds-tp-facilitator-content label { display: grid; font-weight: 700; gap: 6px; }
.sds-tp-facilitator-picker select, .sds-tp-facilitator-content select, .sds-tp-facilitator-content textarea { background: #fff; border: 1px solid #c9c9c9; border-radius: 9px; font: inherit; padding: 11px; width: 100%; }
.sds-tp-learner-strip { background: #fff; border-left: 6px solid #f5c400; border-radius: 12px; display: flex; flex-wrap: wrap; gap: 10px 28px; margin-bottom: 18px; padding: 16px 20px; }
.sds-tp-learner-strip strong { font-size: 1.1rem; }
.sds-tp-facilitator-section { background: #fff; border: 1px solid #ddd; border-radius: 14px; margin: 13px 0; overflow: hidden; }
.sds-tp-facilitator-section summary { align-items: center; cursor: pointer; display: grid; font-size: 1.08rem; font-weight: 900; gap: 12px; grid-template-columns: 120px 1fr auto; list-style: none; padding: 18px 20px; }
.sds-tp-facilitator-section summary::-webkit-details-marker { display: none; }
.sds-tp-facilitator-section summary span { color: #766000; font-size: .78rem; }
.sds-tp-facilitator-section summary b { background: #f5c400; border-radius: 20px; font-size: .75rem; padding: 6px 10px; }
.sds-tp-facilitator-section[open] summary { background: #111; color: #fff; }
.sds-tp-facilitator-section[open] summary span { color: #f5c400; }
.sds-tp-facilitator-content { padding: 22px; }
.sds-tp-facilitator-columns { display: grid; gap: 25px; grid-template-columns: 1.2fr .8fr; }
.sds-tp-facilitator-content h3 { margin-top: 0; }
.sds-tp-block-outcome { background: #fff9d9; border-left: 5px solid #f5c400; padding: 12px; }
.sds-tp-block-prompt { background: #f1f1ef; border-radius: 10px; margin-top: 15px; padding: 15px; }
.sds-tp-status-choice { align-items: center; border: 1px solid #ddd; border-radius: 9px; display: flex !important; font-weight: 700; grid-template-columns: auto 1fr; margin-bottom: 8px; padding: 10px; }
.sds-tp-review-question { border: 1px solid #ddd; border-radius: 12px; margin: 12px 0; padding: 16px; }
.sds-tp-review-question legend { font-weight: 800; padding: 0 8px; }
.sds-tp-review-question legend small { color: #766000; display: block; margin-bottom: 4px; text-transform: uppercase; }
.sds-tp-review-question label { align-items: start; display: grid; font-weight: 500; gap: 9px; grid-template-columns: auto 1fr; margin: 8px 0; }
.sds-tp-review-question.is-correct { border-color: #2d8a49; background: #effaf2; }
.sds-tp-review-question.is-incorrect { border-color: #c74444; background: #fff4f4; }
.sds-tp-answer-feedback { font-size: .78rem; font-weight: 900; margin-top: 7px; }
.sds-tp-final-guidance { display: grid; gap: 3px; margin: 15px 0; padding: 16px; background: #fff9d9; border-radius: 10px; }
.sds-tp-facilitator-actions { background: #fff; border-radius: 14px; display: flex; flex-wrap: wrap; gap: 10px; margin: 18px 0; padding: 18px; position: sticky; bottom: 10px; box-shadow: 0 8px 30px rgba(0,0,0,.13); z-index: 4; }
.sds-tp-recent-reviews { margin-top: 24px; }
@media (max-width: 760px) {
    .sds-tp-facilitated-review { padding: 10px; }
    .sds-tp-facilitator-hero { align-items: stretch; flex-direction: column; }
    .sds-tp-session-timer { flex-basis: auto; }
    .sds-tp-facilitator-picker form, .sds-tp-facilitator-columns { grid-template-columns: 1fr; }
    .sds-tp-facilitator-section summary { grid-template-columns: 1fr auto; }
    .sds-tp-facilitator-section summary span { grid-column: 1 / -1; }
}
@media print {
    .sds-tp-session-timer, .sds-tp-facilitator-picker, .sds-tp-facilitator-actions, .sds-tp-recent-reviews, .sds-tp-score-button { display: none !important; }
    .sds-tp-facilitated-review { background: #fff; max-width: none; padding: 0; }
    .sds-tp-facilitator-section { break-inside: avoid; }
    .sds-tp-facilitator-section > .sds-tp-facilitator-content { display: block !important; }
}

/* Guided self-paced course and coordinated support · v0.13.0 */
.sds-tp-module-visual { aspect-ratio:16/6; border-radius:14px 14px 0 0; display:block; object-fit:cover; width:100%; }
.sds-tp-module-video { margin:0 18px 16px; }
.sds-tp-module-video iframe { aspect-ratio:16/9; border:0; border-radius:12px; height:auto; width:100%; }
.sds-tp-module-steps { align-items:center; background:#f7f7f4; display:flex; flex-wrap:wrap; gap:8px; margin:0 18px 15px; padding:12px; }
.sds-tp-module-steps span { background:#fff; border-radius:18px; font-size:.72rem; padding:7px 10px; }
.sds-tp-module-actions { display:flex; flex-wrap:wrap; gap:9px; padding:0 18px 20px; }
.sds-tp-module-video form { margin-top:9px; }
.sds-tp-instructor-prep-guide { background:#fff8d8; border-left:6px solid #f5c400; margin:0 18px 16px; padding:14px; }
.sds-tp-instructor-prep-guide p { margin:5px 0; }
.sds-tp-lesson-visual { aspect-ratio:16/6; border-radius:16px; display:block; margin-bottom:20px; object-fit:cover; width:100%; }
.sds-tp-guided-schedule,.sds-tp-session-workspace { background:#f5f5f2; margin:0 auto; max-width:1260px; min-height:100vh; padding:28px; }
.sds-tp-guided-header { background:#111; border-bottom:7px solid #f5c400; border-radius:18px; color:#fff; margin-bottom:20px; padding:28px; }
.sds-tp-guided-schedule .sds-tp-guided-header h1 { color:#fff; margin:5px 0; }
.sds-tp-guided-header p { margin-bottom:0; }
.sds-tp-availability-form label,.sds-tp-propose-grid label,.sds-tp-session-workspace form label { display:grid; font-weight:800; gap:6px; margin:12px 0; }
.sds-tp-availability-form textarea,.sds-tp-propose-grid input,.sds-tp-session-workspace textarea,.sds-tp-session-workspace select { border:1px solid #ccc; border-radius:9px; font:inherit; padding:11px; width:100%; }
.sds-tp-four-session-list { display:grid; gap:14px; grid-template-columns:repeat(2,1fr); margin:18px 0; }
.sds-tp-session-card { background:#fff; border-top:6px solid #f5c400; border-radius:13px; padding:18px; }
.sds-tp-session-card>span,.sds-tp-session-card>time,.sds-tp-session-card>strong { display:block; margin:4px 0; }
.sds-tp-session-card ul { background:#f5f5f2; border-radius:9px; font-size:.78rem; margin:12px 0 0; padding:12px 12px 12px 28px; }
.sds-tp-session-videos { display:grid; gap:18px; grid-template-columns:repeat(2,minmax(0,1fr)); margin:18px 0; }
.sds-tp-session-videos>h2,.sds-tp-session-videos>p { grid-column:1/-1; margin-bottom:0; }
.sds-tp-session-videos article { background:#111; border-radius:12px; color:#fff; overflow:hidden; padding:14px; }
.sds-tp-session-videos article h3 { color:#f5c400; margin-top:0; }
.sds-tp-session-videos video,.sds-tp-session-videos iframe { aspect-ratio:16/9; background:#000; display:block; height:auto; max-width:100%; width:100%; }
.sds-tp-propose-grid { display:grid; gap:11px; grid-template-columns:repeat(2,1fr); margin-top:20px; }
.sds-tp-propose-grid h2,.sds-tp-propose-grid p,.sds-tp-propose-grid button { grid-column:1/-1; }
.sds-tp-prep-pack>details { background:#fff; border:1px solid #ddd; border-radius:12px; margin:12px 0; overflow:hidden; }
.sds-tp-review-checkpoints { background:#fff; border-radius:12px; display:flex; flex-wrap:wrap; gap:8px; margin:15px 0; padding:12px; }
.sds-tp-review-checkpoints span { background:#f5f5f2; border-radius:18px; font-size:.72rem; padding:7px 10px; }
.sds-tp-learner-concern { background:#fff8d8; border-left:5px solid #f5c400; padding:13px; }
.sds-tp-prep-pack>details>summary { cursor:pointer; font-weight:900; padding:16px; }
.sds-tp-prep-pack>details[open]>summary { background:#111; color:#fff; }
.sds-tp-prep-pack>details>div { padding:14px; }
.sds-tp-answer-compare { border:1px solid #ddd; border-radius:12px; display:grid; gap:14px; grid-template-columns:1fr 1fr; margin:12px 0; overflow:hidden; }
.sds-tp-answer-compare>div { padding:16px; }
.sds-tp-answer-compare>div+div { background:#fff8d8; border-left:5px solid #f5c400; }
.sds-tp-answer-compare small { color:#665300; display:block; font-size:.68rem; font-weight:900; letter-spacing:.04em; margin:6px 0; text-transform:uppercase; }
.sds-tp-answer-compare.is-incorrect { border-color:#cc4545; }
.sds-tp-answer-compare.is-correct { border-color:#3b9854; }
@media(max-width:800px){.sds-tp-guided-schedule,.sds-tp-session-workspace{padding:10px}.sds-tp-four-session-list,.sds-tp-propose-grid,.sds-tp-answer-compare,.sds-tp-session-videos{grid-template-columns:1fr}.sds-tp-answer-compare>div+div{border-left:0;border-top:5px solid #f5c400}}

/* Focused Driver's Ed-style unit flow · v0.13.1 */
.sds-tp-unit-course{background:#f4f4f1;max-width:1180px;padding:clamp(16px,3vw,34px)}
.sds-tp-unit-course-header{align-items:center;background:#111;border-bottom:6px solid var(--sds-yellow);border-radius:18px;color:#fff;display:flex;gap:24px;justify-content:space-between;padding:clamp(24px,4vw,40px)}
.sds-tp-unit-course-header h1{color:#fff;font-size:clamp(2rem,4vw,3.4rem);margin:4px 0 8px}
.sds-tp-unit-course-header p{margin:0;max-width:620px}
.sds-tp-course-progress{align-items:center;background:var(--sds-yellow);border-radius:50%;color:#111;display:flex;flex:0 0 132px;flex-direction:column;height:132px;justify-content:center;text-align:center;width:132px}
.sds-tp-course-progress strong{font-size:2rem;line-height:1}
.sds-tp-course-progress span{font-size:.65rem;font-weight:800;margin-top:5px}
.sds-tp-unit-navigator{display:grid;gap:8px;grid-template-columns:repeat(6,1fr);margin:18px 0}
.sds-tp-unit-navigator a{align-items:center;background:#fff;border:1px solid #ddd;border-radius:12px;color:#222;display:grid;gap:2px;grid-template-columns:34px 1fr;padding:10px;text-decoration:none}
.sds-tp-unit-navigator a>span{align-items:center;background:#e8e8e5;border-radius:50%;display:flex;font-weight:900;grid-row:1/3;height:32px;justify-content:center;width:32px}
.sds-tp-unit-navigator strong{font-size:.76rem;line-height:1.1}.sds-tp-unit-navigator small{color:#666;font-size:.62rem}
.sds-tp-unit-navigator a.is-active{border-color:#111;box-shadow:0 0 0 2px #111}.sds-tp-unit-navigator a.is-active>span{background:var(--sds-yellow)}
.sds-tp-unit-navigator a.is-complete>span{background:#2f984c;color:#fff}
.sds-tp-unit-focus{background:#fff;border:1px solid #ddd;border-radius:18px;box-shadow:0 8px 28px rgba(0,0,0,.06);overflow:hidden}
.sds-tp-unit-hero{align-items:stretch;background:#fff;display:grid;grid-template-columns:minmax(250px,36%) 1fr;margin:0;padding:0}
.sds-tp-unit-hero img{height:100%;max-height:250px;object-fit:cover;width:100%}
.sds-tp-unit-hero>div{align-self:center;padding:28px}.sds-tp-unit-hero h2{font-size:clamp(1.55rem,3vw,2.5rem);margin:5px 0}.sds-tp-unit-hero p{color:#555;margin:0}
.sds-tp-unit-progress{background:#e4e4e1;border-radius:10px;height:8px;margin-top:16px;overflow:hidden}.sds-tp-unit-progress i{background:#2f984c;display:block;height:100%}
.sds-tp-unit-steps{background:#111;display:grid;grid-template-columns:repeat(5,1fr)}
.sds-tp-unit-steps a{align-items:center;color:#fff;display:flex;font-size:.77rem;font-weight:800;gap:8px;justify-content:center;padding:14px 8px;text-decoration:none}
.sds-tp-unit-steps a span{align-items:center;border:1px solid #777;border-radius:50%;display:flex;height:24px;justify-content:center;width:24px}
.sds-tp-unit-steps a.is-active{background:var(--sds-yellow);color:#111}.sds-tp-unit-steps a.is-active span{border-color:#111}
.sds-tp-unit-stage{margin:0 auto;max-width:820px;min-height:320px;padding:clamp(26px,5vw,52px)}
.sds-tp-unit-stage h3{font-size:clamp(1.45rem,3vw,2.15rem);margin:5px 0 10px}.sds-tp-unit-stage>p{color:#4f4f4f;line-height:1.65;max-width:690px}
.sds-tp-unit-simple-path{align-items:center;display:flex;gap:12px;margin:26px 0}.sds-tp-unit-simple-path span{background:#f0f0ed;border-radius:9px;font-size:.78rem;font-weight:900;padding:12px 15px}.sds-tp-unit-simple-path b{color:#888}
.sds-tp-unit-video iframe,.sds-tp-unit-video video{aspect-ratio:16/9;background:#000;border:0;border-radius:12px;display:block;height:auto;margin:15px 0;object-fit:contain;width:100%}
.sds-tp-unit-stage form{display:inline-block;margin:8px 12px 8px 0}.sds-tp-text-link{color:#111;display:inline-block;font-weight:900;margin:14px;text-decoration:underline}
.sds-tp-unit-empty{background:#f3f3f0;border-radius:12px;margin:18px 0;padding:28px}.sds-tp-unit-empty p{margin-bottom:0}
.sds-tp-unit-lesson-list{list-style:none;margin:24px 0;padding:0}.sds-tp-unit-lesson-list li{align-items:center;border-bottom:1px solid #e5e5e2;display:grid;gap:14px;grid-template-columns:38px minmax(0,1fr) auto;padding:14px 4px}
.sds-tp-unit-lesson-list li>span{align-items:center;background:#eee;border-radius:50%;display:flex;font-weight:900;height:34px;justify-content:center;width:34px}.sds-tp-unit-lesson-list li.is-completed>span{background:#2f984c;color:#fff}
.sds-tp-unit-lesson-list li div small,.sds-tp-unit-lesson-list li div strong{display:block}.sds-tp-unit-lesson-list li div small{color:#777;font-size:.65rem}.sds-tp-unit-lesson-list li a{background:#111;border-radius:7px;color:#fff;font-size:.72rem;font-weight:900;padding:8px 12px;text-decoration:none}.sds-tp-unit-lesson-list li.is-locked{opacity:.55}
.sds-tp-unit-readiness{display:grid;gap:9px;margin:22px 0}.sds-tp-unit-readiness span{background:#eee;border-radius:9px;color:#555;font-weight:800;padding:12px}.sds-tp-unit-readiness span.is-ready{background:#e5f4e9;color:#236d37}
.sds-tp-unit-tip{background:#fff8d8;border-left:5px solid var(--sds-yellow);margin:20px 0;padding:16px}.sds-tp-unit-tip p{margin:5px 0 0}
@media(max-width:780px){.sds-tp-unit-course{padding:10px}.sds-tp-unit-course-header{align-items:flex-start;flex-direction:column}.sds-tp-course-progress{border-radius:10px;flex-basis:auto;height:auto;padding:10px;width:100%}.sds-tp-course-progress strong{font-size:1.35rem}.sds-tp-unit-navigator{grid-template-columns:repeat(3,1fr)}.sds-tp-unit-hero{grid-template-columns:1fr}.sds-tp-unit-hero img{max-height:190px}.sds-tp-unit-steps{grid-template-columns:repeat(5,minmax(58px,1fr));overflow-x:auto}.sds-tp-unit-steps a{flex-direction:column;font-size:.62rem;gap:3px}.sds-tp-unit-stage{min-height:0;padding:25px 18px}.sds-tp-unit-simple-path{align-items:stretch;flex-direction:column}.sds-tp-unit-simple-path b{display:none}}
@media(max-width:460px){.sds-tp-unit-navigator a{display:flex;justify-content:center;padding:8px}.sds-tp-unit-navigator a strong,.sds-tp-unit-navigator a small{display:none}.sds-tp-unit-lesson-list li{grid-template-columns:34px minmax(0,1fr)}.sds-tp-unit-lesson-list li>a,.sds-tp-unit-lesson-list li>small{grid-column:2;justify-self:start}}

/* Calm, continuous lesson flow · v0.13.2 */
body.single-sds_tp_session .entry-header,
body.single-sds_tp_session .entry-title,
body.single-sds_tp_session .wp-block-post-title,
body.single-sds_tp_session main>article>.wp-block-group:first-child:has(.wp-block-post-title){display:none!important}
.sds-tp-focused-lesson{background:#f4f4f1;border:0;border-radius:0;box-shadow:none;margin:0 auto;max-width:1120px;padding:22px}
.sds-tp-focused-lesson .sds-tp-course-lesson-header{align-items:center;background:#111;border-bottom:6px solid var(--sds-yellow);border-radius:18px;display:grid;gap:0;grid-template-columns:minmax(240px,38%) 1fr;overflow:hidden;padding:0}
.sds-tp-focused-lesson .sds-tp-lesson-visual{aspect-ratio:4/3;border-radius:0;height:100%;margin:0;max-height:330px;object-fit:cover;width:100%}
.sds-tp-focused-lesson-title{padding:clamp(24px,5vw,48px)}
.sds-tp-focused-lesson-title h1{font-size:clamp(1.8rem,4vw,3.2rem);margin:7px 0 0}
.sds-tp-lesson-back{color:var(--sds-yellow)!important;display:inline-block;font-size:.74rem;font-weight:900;margin-bottom:28px;text-decoration:none}
.sds-tp-focused-lesson-content{background:#fff;border:1px solid #ddd;border-radius:18px;margin:18px 0 0;overflow:hidden;padding:clamp(22px,5vw,58px)}
.sds-tp-lesson-outcome{background:#fff8d8;border-left:5px solid var(--sds-yellow);margin:0 auto 28px;max-width:860px;padding:16px 20px}
.sds-tp-lesson-outcome span{color:#6c5700;font-size:.7rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.sds-tp-lesson-outcome p{font-weight:700;margin:5px 0 0}
.sds-tp-focused-lesson .sds-tp-lesson-video{background:#111;border-radius:14px;margin:0 auto 32px;max-width:900px;padding:12px}
.sds-tp-focused-lesson .sds-tp-lesson-video iframe,.sds-tp-focused-lesson .sds-tp-lesson-video video{aspect-ratio:16/9;border:0;border-radius:8px;display:block;height:auto;width:100%}
.sds-tp-think-prompt{background:#f1f1ee;border-radius:10px;line-height:1.55;margin:0 auto 25px;max-width:860px;padding:14px 18px}
.sds-tp-focused-lesson .sds-tp-lesson-body{margin:0 auto;max-width:860px;padding:0}
.sds-tp-focused-lesson .sds-tp-topic-list{display:block;margin:0 auto;max-width:860px;padding:0}
.sds-tp-focused-lesson .sds-tp-topic{border:0;border-radius:0;box-shadow:none;margin-top:34px;overflow:visible}
.sds-tp-focused-lesson .sds-tp-topic h2{border-bottom:3px solid var(--sds-yellow);font-size:1.45rem;margin:0 0 15px;padding-bottom:8px}
.sds-tp-focused-lesson .sds-tp-topic-content{line-height:1.72;padding:0}.sds-tp-focused-lesson .sds-tp-topic .sds-tp-text-link{margin:5px 0}
.sds-tp-optional-support{background:#f3f3f0;border:1px solid #ddd;border-radius:10px;margin:35px auto;max-width:860px}.sds-tp-optional-support summary{cursor:pointer;font-weight:900;padding:15px 18px}.sds-tp-optional-support>div{border-top:1px solid #ddd;padding:5px 18px 15px}
.sds-tp-lesson-lab-step{border-top:1px solid #ddd;margin:48px calc(clamp(22px,5vw,58px)*-1) 0;padding:42px clamp(0px,1vw,18px) 0}.sds-tp-lesson-lab-step>.sds-tp-kicker{display:block;margin:0 auto 12px;max-width:980px}
.sds-tp-lesson-lab-step .sds-tp-learning-lab{margin-bottom:0}
.sds-tp-lesson-finish{align-items:stretch;background:#111;border-radius:14px;display:grid;gap:0;grid-template-columns:1.2fr .8fr;margin:28px auto 0;max-width:980px;overflow:hidden}
.sds-tp-lesson-finish .sds-tp-lesson-progress{background:#111;border:0;margin:0;padding:22px}.sds-tp-lesson-finish .sds-tp-lesson-progress h3,.sds-tp-lesson-finish .sds-tp-lesson-progress>div>span{display:none}.sds-tp-lesson-finish .sds-tp-lesson-progress p{font-size:.78rem}
.sds-tp-next-lesson{background:var(--sds-yellow);color:#111!important;display:flex;flex-direction:column;justify-content:center;padding:22px;text-decoration:none}.sds-tp-next-lesson small,.sds-tp-next-lesson strong{display:block}.sds-tp-next-lesson small{font-size:.65rem;margin-bottom:4px}.sds-tp-next-lesson strong{font-size:.9rem}
.sds-tp-unit-outcome{border-left:5px solid var(--sds-yellow);font-size:1.08rem!important;font-weight:700;padding:5px 0 5px 18px}
.sds-tp-video-note{background:#f2f2ef;border-radius:9px;font-size:.76rem;line-height:1.5;padding:10px 13px}
@media(max-width:760px){.sds-tp-focused-lesson{padding:9px}.sds-tp-focused-lesson .sds-tp-course-lesson-header{grid-template-columns:1fr}.sds-tp-focused-lesson .sds-tp-lesson-visual{aspect-ratio:16/7;max-height:210px}.sds-tp-focused-lesson-title{padding:24px 20px}.sds-tp-lesson-back{margin-bottom:18px}.sds-tp-focused-lesson-content{padding:24px 14px}.sds-tp-lesson-lab-step{margin-left:-14px;margin-right:-14px;padding-left:5px;padding-right:5px}.sds-tp-lesson-finish{grid-template-columns:1fr}.sds-tp-next-lesson{min-height:100px}}

/* v0.20.0 learner orientation, continuation and test-day centre */
.sds-tp-start-here{border-top:6px solid var(--sds-yellow);display:grid;gap:28px;grid-template-columns:1.2fr .8fr;margin:22px 0;padding:clamp(22px,4vw,38px)}
.sds-tp-start-here h2,.sds-tp-test-day-centre h2{font-size:clamp(1.55rem,3vw,2.25rem);margin:5px 0 10px}.sds-tp-start-copy>p{color:#555;max-width:650px}.sds-tp-start-copy ul{line-height:1.55;padding-left:20px}.sds-tp-learning-sequence{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.sds-tp-learning-sequence b{background:#111;border-radius:8px;color:#fff;font-size:.74rem;padding:9px 11px}.sds-tp-learning-sequence i{color:#8b7000;font-style:normal;font-weight:900}.sds-tp-start-video video{aspect-ratio:16/9;background:#000;border-radius:13px;width:100%}.sds-tp-start-video>span{display:block;font-size:.72rem;font-weight:900;margin-top:8px}.sds-tp-video-placeholder{align-items:center;aspect-ratio:16/9;background:linear-gradient(135deg,#111,#333);border-bottom:6px solid var(--sds-yellow);border-radius:13px;color:#fff;display:flex;flex-direction:column;justify-content:center;padding:20px;text-align:center}.sds-tp-video-placeholder small{color:#ddd;margin-top:8px}.sds-tp-start-here.is-complete{border-top-color:#2f984c}.sds-tp-continue-card{align-items:center;background:#111;border-bottom:6px solid var(--sds-yellow);color:#fff;display:flex;justify-content:space-between;margin:22px 0;padding:24px}.sds-tp-continue-card h2{color:#fff;margin:4px 0}.sds-tp-continue-card p{margin:0}.sds-tp-test-day-centre{margin:24px 0;padding:clamp(22px,4vw,38px)}.sds-tp-test-day-centre>header{border-bottom:1px solid #ddd;margin-bottom:18px}.sds-tp-test-day-grid{display:grid;gap:13px;grid-template-columns:1fr 1fr}.sds-tp-test-day-grid details{background:#f4f4f1;border-radius:10px;padding:14px}.sds-tp-test-day-grid summary{cursor:pointer;font-weight:900}.sds-tp-test-day-grid li,.sds-tp-test-day-grid p{font-size:.84rem;line-height:1.55}.sds-tp-test-check{display:inline-flex;font-size:.78rem;font-weight:800;gap:7px;margin:14px 18px 0 0}
@media(max-width:760px){.sds-tp-start-here,.sds-tp-test-day-grid{grid-template-columns:1fr}.sds-tp-continue-card{align-items:flex-start;flex-direction:column;gap:18px}.sds-tp-learning-sequence i{display:none}.sds-tp-learning-sequence b{flex:1 1 42%;text-align:center}}

/* v0.22.2 corrective contrast layer — scoped to SDS learner surfaces. */
body.sds-tp-portal-page .sds-tp-workshop-header h1,
body.sds-tp-portal-page .sds-tp-course-lesson-header h1,
body.sds-tp-portal-page .sds-tp-unit-course-header h1,
body.sds-tp-portal-page .sds-tp-lab-intro h2,
body.sds-tp-portal-page .sds-tp-dashboard-hero h1,
body.sds-tp-portal-page .sds-tp-dashboard-hero h2 { color:#fff !important; opacity:1 !important; text-shadow:0 1px 2px rgba(0,0,0,.35); }
body.sds-tp-portal-page .sds-tp-workshop-header p,
body.sds-tp-portal-page .sds-tp-course-lesson-header p,
body.sds-tp-portal-page .sds-tp-lab-intro p { color:#f3f4f6 !important; opacity:1 !important; }
body.sds-tp-portal-page .sds-tp-workshop-module h2,
body.sds-tp-portal-page .sds-tp-workshop-module h3,
body.sds-tp-portal-page .sds-tp-unit-hero h2,
body.sds-tp-portal-page .sds-tp-unit-stage h3 { color:#151515 !important; opacity:1 !important; }
body.sds-tp-portal-page .sds-tp-nav-links .sds-tp-sidebar-group a,
body.sds-tp-portal-page .sds-tp-sidebar-footer > a { color:#fff !important; opacity:1 !important; }
body.sds-tp-portal-page .sds-tp-nav-links .sds-tp-sidebar-group a.is-locked:not(:hover) { color:#e3e5e8 !important; opacity:.88 !important; }
body.sds-tp-portal-page .sds-tp-sidebar-group h2,
body.sds-tp-portal-page .sds-tp-sidebar-portal-label { color:#e2e4e8 !important; opacity:1 !important; }
.sds-tp-translation-pilot,
body.sds-tp-portal-page .sds-tp-translation-pilot { background:#17191d !important; color:#fff !important; }
.sds-tp-translation-pilot > strong,
.sds-tp-translation-pilot summary { color:#f5bd00 !important; opacity:1 !important; }
.sds-tp-translation-pilot label,
.sds-tp-translation-pilot p { color:#f5f5f5 !important; opacity:1 !important; }
.sds-tp-translation-pilot textarea,
.sds-tp-translation-pilot input,
.sds-tp-translation-pilot select { background:#fff !important; border:2px solid #c7cbd1 !important; color:#111 !important; opacity:1 !important; padding:11px 12px; }
.sds-tp-translation-pilot textarea::placeholder,
.sds-tp-translation-pilot input::placeholder { color:#555 !important; opacity:1 !important; }
.sds-tp-translation-pilot textarea:focus,
.sds-tp-translation-pilot input:focus,
.sds-tp-translation-pilot select:focus { border-color:#f5bd00 !important; box-shadow:0 0 0 3px rgba(245,189,0,.3) !important; outline:2px solid transparent; }
.sds-tp-lab-intro { background:#17191d !important; color:#fff !important; }
.sds-tp-lab-intro .sds-tp-kicker { color:#f5bd00 !important; }
.sds-tp-lab-status,
.sds-tp-question-form,
.sds-tp-results { color:#171717 !important; }
.sds-tp-question-form h2,
.sds-tp-question-form h3,
.sds-tp-question-form legend,
.sds-tp-question-form label,
.sds-tp-lab-status strong { color:#171717 !important; opacity:1 !important; }

/* v0.23.0 · SDS Native premium learner dashboard */
body.sds-tp-portal-page {
    --sds-ink:#101216;
    --sds-charcoal:#181b20;
    --sds-panel:#fff;
    --sds-canvas:#f4f3ee;
    --sds-muted:#62666d;
    --sds-line:#dedfdc;
    --sds-yellow:#f5bd00;
    --sds-yellow-soft:#fff4bd;
    --sds-green:#217a43;
    background:var(--sds-canvas) !important;
}
.sds-tp-dashboard-premium { background:var(--sds-canvas); color:var(--sds-ink); }
.sds-tp-dashboard-premium .sds-tp-dashboard-toolbar {
    background:rgba(255,255,255,.96); border-bottom:1px solid var(--sds-line); box-shadow:0 4px 22px rgba(15,18,22,.05);
    min-height:78px; padding:14px clamp(18px,3vw,46px); position:sticky; top:0; z-index:20;
}
.sds-tp-dashboard-premium .sds-tp-dashboard-toolbar h1 { font-size:clamp(1.25rem,2.2vw,1.9rem); font-weight:900; letter-spacing:-.025em; }
.sds-tp-dashboard-premium .sds-tp-toolbar-user { background:#fff; border:1px solid #d8d9d6; box-shadow:0 3px 12px rgba(0,0,0,.05); }
.sds-tp-dashboard-premium .sds-tp-dashboard-main { gap:clamp(22px,3vw,38px); max-width:1500px; padding:clamp(18px,2.5vw,38px) clamp(14px,3vw,46px) 72px; }
.sds-tp-dashboard-premium .sds-tp-dashboard-panel,
.sds-tp-dashboard-premium .sds-tp-journey,
.sds-tp-dashboard-premium .sds-tp-card {
    background:var(--sds-panel); border:1px solid var(--sds-line); border-radius:20px; box-shadow:0 12px 32px rgba(15,18,22,.07); overflow:hidden;
}
.sds-tp-dashboard-premium .sds-tp-dashboard-hero {
    background-image:linear-gradient(92deg,rgba(10,12,15,.98) 0%,rgba(10,12,15,.9) 46%,rgba(10,12,15,.25) 76%),var(--sds-hero-image),linear-gradient(120deg,#111,#28220b);
    border:1px solid #2c3036; border-bottom:7px solid var(--sds-yellow); border-radius:24px; box-shadow:0 22px 54px rgba(10,12,15,.24);
    display:grid; gap:26px; grid-template-columns:minmax(0,1fr) 150px; min-height:410px; overflow:hidden; padding:clamp(30px,5vw,68px); position:relative;
}
.sds-tp-dashboard-premium .sds-tp-dashboard-hero::after { background:linear-gradient(90deg,var(--sds-yellow),transparent); bottom:0; content:""; height:1px; left:0; position:absolute; width:70%; }
.sds-tp-dashboard-premium .sds-tp-dashboard-hero .sds-tp-hero-copy { align-self:center; max-width:760px; }
.sds-tp-dashboard-premium .sds-tp-dashboard-hero h2 { color:#fff !important; font-size:clamp(2.25rem,5vw,4.75rem); letter-spacing:-.045em; line-height:.95; margin:.22em 0; max-width:700px; }
.sds-tp-dashboard-premium .sds-tp-dashboard-hero .sds-tp-kicker { color:var(--sds-yellow); letter-spacing:.15em; }
.sds-tp-dashboard-premium .sds-tp-hero-context { display:grid; gap:10px; grid-template-columns:repeat(2,minmax(0,1fr)); margin:24px 0; max-width:690px; }
.sds-tp-dashboard-premium .sds-tp-hero-context>div { background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.14); border-radius:10px; padding:10px 12px; }
.sds-tp-dashboard-premium .sds-tp-hero-context dt { color:#d7d9dd; font-size:.66rem; letter-spacing:.08em; text-transform:uppercase; }
.sds-tp-dashboard-premium .sds-tp-hero-context dd { color:#fff; font-size:.82rem; font-weight:850; margin:4px 0 0; }
.sds-tp-dashboard-premium .sds-tp-dashboard-hero .sds-tp-stat { align-self:center; background:conic-gradient(var(--sds-yellow) calc(var(--sds-progress)*1%),rgba(255,255,255,.16) 0); border:8px solid rgba(255,255,255,.08); box-shadow:0 10px 30px rgba(0,0,0,.28); height:145px; width:145px; }
.sds-tp-dashboard-premium .sds-tp-dashboard-hero .sds-tp-stat::before { background:#17191d; }
.sds-tp-dashboard-premium .sds-tp-dashboard-hero .sds-tp-stat strong { color:#fff; }
.sds-tp-dashboard-premium .sds-tp-hero-mini-stats { bottom:22px; display:flex; gap:9px; position:absolute; right:24px; }
.sds-tp-dashboard-premium .sds-tp-hero-mini-stats span { background:rgba(14,16,19,.82); border:1px solid rgba(255,255,255,.14); border-radius:999px; color:#fff; font-size:.68rem; padding:7px 11px; }
.sds-tp-dashboard-premium .sds-tp-button { background:var(--sds-yellow); border:2px solid var(--sds-yellow); border-radius:999px; color:#111 !important; font-weight:900; letter-spacing:.01em; min-height:46px; padding:12px 22px; transition:transform .18s ease,box-shadow .18s ease,background .18s ease; }
.sds-tp-dashboard-premium .sds-tp-button:hover { background:#ffd23d; box-shadow:0 8px 22px rgba(245,189,0,.28); transform:translateY(-2px); }
.sds-tp-dashboard-premium .sds-tp-button:focus-visible,
.sds-tp-dashboard-premium a:focus-visible,
.sds-tp-dashboard-premium button:focus-visible { outline:3px solid #156fd1 !important; outline-offset:3px; }
.sds-tp-dashboard-premium .sds-tp-start-here { align-items:center; background:#fff; border-top:0; display:grid; gap:0; grid-template-columns:1.05fr .95fr; margin:0; padding:0; }
.sds-tp-dashboard-premium .sds-tp-start-copy { padding:clamp(26px,4vw,52px); }
.sds-tp-dashboard-premium .sds-tp-start-copy h2 { color:var(--sds-ink); font-size:clamp(1.8rem,3.5vw,3rem); letter-spacing:-.035em; }
.sds-tp-dashboard-premium .sds-tp-start-video { align-self:stretch; background:var(--sds-charcoal); display:flex; flex-direction:column; justify-content:center; min-height:360px; padding:clamp(18px,3vw,34px); }
.sds-tp-dashboard-premium .sds-tp-start-video video,
.sds-tp-dashboard-premium .sds-tp-video-placeholder { border:1px solid #454950; border-bottom:6px solid var(--sds-yellow); box-shadow:0 16px 36px rgba(0,0,0,.25); }
.sds-tp-dashboard-premium .sds-tp-start-video>span { color:#fff; text-align:center; }
.sds-tp-dashboard-premium .sds-tp-learning-sequence { display:grid; grid-template-columns:repeat(5,1fr); margin:24px 0; position:relative; }
.sds-tp-dashboard-premium .sds-tp-learning-sequence::before { background:var(--sds-yellow); content:""; height:3px; left:7%; position:absolute; right:7%; top:50%; }
.sds-tp-dashboard-premium .sds-tp-learning-sequence b { background:var(--sds-ink); border:4px solid #fff; border-radius:999px; color:#fff; font-size:.66rem; padding:10px 8px; position:relative; text-align:center; z-index:1; }
.sds-tp-dashboard-premium .sds-tp-learning-sequence i { display:none; }
.sds-tp-dashboard-premium .sds-tp-continue-card { align-items:center; background:linear-gradient(110deg,#17191d,#25282e); border:0; border-left:8px solid var(--sds-yellow); display:grid; gap:20px; grid-template-columns:1fr auto; margin:0; padding:clamp(24px,3.5vw,42px); }
.sds-tp-dashboard-premium .sds-tp-continue-card h2 { color:#fff !important; font-size:clamp(1.65rem,3vw,2.5rem); letter-spacing:-.03em; margin:5px 0; }
.sds-tp-dashboard-premium .sds-tp-continue-card p { color:#d6d8dc; }
.sds-tp-dashboard-premium .sds-tp-dashboard-row { align-items:stretch; display:grid; gap:22px; }
.sds-tp-dashboard-premium .sds-tp-dashboard-row-primary { grid-template-columns:minmax(0,1.35fr) minmax(310px,.65fr); }
.sds-tp-dashboard-premium .sds-tp-dashboard-row-secondary { grid-template-columns:repeat(3,minmax(0,1fr)); }
.sds-tp-dashboard-premium .sds-tp-dashboard-row-bottom { grid-template-columns:1.1fr .9fr; }
.sds-tp-dashboard-premium .sds-tp-dashboard-row article { margin:0; }
.sds-tp-dashboard-premium .sds-tp-journey { padding:30px; }
.sds-tp-dashboard-premium .sds-tp-journey h2 { font-size:clamp(1.4rem,2.4vw,2rem); }
.sds-tp-dashboard-premium .sds-tp-module-grid { padding-top:8px; }
.sds-tp-dashboard-premium .sds-tp-module-grid article { min-width:125px; }
.sds-tp-dashboard-premium .sds-tp-module-grid article::after { background:#d5d5d2; height:5px; }
.sds-tp-dashboard-premium .sds-tp-module-grid article::before { border-color:#c8c9c6; }
.sds-tp-dashboard-premium .sds-tp-module-grid article.is-progress::before { border-color:var(--sds-yellow); box-shadow:0 0 0 6px var(--sds-yellow-soft); }
.sds-tp-dashboard-premium .sds-tp-module-grid article.is-completed::before { border-color:var(--sds-green); }
.sds-tp-dashboard-premium .sds-tp-module-grid h3 { color:#181a1d; font-size:.78rem; line-height:1.35; }
.sds-tp-dashboard-premium .sds-tp-quick-practice,
.sds-tp-dashboard-premium .sds-tp-study-buddy-live,
.sds-tp-dashboard-premium .sds-tp-live-session,
.sds-tp-dashboard-premium .sds-tp-readiness-card,
.sds-tp-dashboard-premium .sds-tp-achievements-card { padding:24px; }
.sds-tp-dashboard-premium .sds-tp-quick-practice { background:linear-gradient(150deg,#fff,#fff9dd); border-top:6px solid var(--sds-yellow); }
.sds-tp-dashboard-premium .sds-tp-quick-practice h2,
.sds-tp-dashboard-premium .sds-tp-study-buddy-live h2,
.sds-tp-dashboard-premium .sds-tp-live-session h2,
.sds-tp-dashboard-premium .sds-tp-readiness-card h2,
.sds-tp-dashboard-premium .sds-tp-achievements-card h2 { color:var(--sds-ink); font-size:1.18rem; }
.sds-tp-dashboard-premium .sds-tp-live-session>div { border-radius:14px; overflow:hidden; }
.sds-tp-dashboard-premium .sds-tp-live-session img { background:#eee; object-fit:cover; }
.sds-tp-dashboard-premium .sds-tp-readiness-ring { box-shadow:inset 0 0 0 9px #fff,0 8px 24px rgba(0,0,0,.08); }
.sds-tp-dashboard-premium .sds-tp-achievements-card>div>span { background:#f7f7f4; border:1px solid #e4e4e0; border-radius:14px; }
.sds-tp-dashboard-premium .sds-tp-passed-card { background-color:#14161a; border:0; border-bottom:6px solid var(--sds-yellow); min-height:300px; }
.sds-tp-dashboard-premium .sds-tp-passed-card h2 { color:#fff !important; font-size:clamp(1.6rem,3vw,2.6rem); }
.sds-tp-dashboard-premium .sds-tp-passed-card p { color:#e1e2e4; }
.sds-tp-dashboard-premium .sds-tp-focus-card { border-left:7px solid var(--sds-yellow); padding:28px; }
.sds-tp-dashboard-premium .sds-tp-test-day-centre { background:#fff; margin:0; padding:clamp(26px,4vw,46px); }
.sds-tp-dashboard-premium .sds-tp-test-day-centre>header { border-bottom:3px solid var(--sds-yellow); padding-bottom:22px; }
.sds-tp-dashboard-premium .sds-tp-test-day-centre h2 { color:var(--sds-ink); font-size:clamp(1.7rem,3vw,2.7rem); }
.sds-tp-dashboard-premium .sds-tp-test-day-grid details { background:#f5f5f2; border:1px solid #e0e1de; }
.sds-tp-dashboard-premium .sds-tp-test-day-grid details[open] { background:#fff9dc; border-color:#ecd67c; }
.sds-tp-dashboard-premium .sds-tp-support-row { background:#17191d; border-radius:16px; display:flex; gap:10px; justify-content:center; padding:20px; }
.sds-tp-dashboard-premium .sds-tp-support-row a { background:var(--sds-yellow); border-radius:999px; color:#111; font-weight:900; padding:12px 20px; text-decoration:none; }
@media(min-width:961px){
    body.sds-tp-portal-page .sds-tp-learner-nav { background:linear-gradient(180deg,#111318,#191c22) !important; border-right:1px solid #2d3036; box-shadow:12px 0 32px rgba(0,0,0,.1); width:270px; }
    body.sds-tp-portal-page { padding-left:270px; }
}
body.sds-tp-portal-page .sds-tp-sidebar-brand img { filter:drop-shadow(0 5px 12px rgba(0,0,0,.3)); max-height:86px; }
body.sds-tp-portal-page .sds-tp-sidebar-group { margin-bottom:16px; }
body.sds-tp-portal-page .sds-tp-sidebar-group h2 { color:#c7c9ce !important; letter-spacing:.15em; }
body.sds-tp-portal-page .sds-tp-nav-links .sds-tp-sidebar-group a { border-left:3px solid transparent; border-radius:9px; margin:3px 0; min-height:42px; }
body.sds-tp-portal-page .sds-tp-nav-links .sds-tp-sidebar-group a:hover,
body.sds-tp-portal-page .sds-tp-nav-links .sds-tp-sidebar-group a:focus { background:#292d33; border-left-color:var(--sds-yellow); color:#fff !important; }
body.sds-tp-portal-page .sds-tp-nav-links .sds-tp-sidebar-group a.is-active { background:var(--sds-yellow); border-left-color:#fff; color:#111 !important; box-shadow:0 8px 22px rgba(245,189,0,.18); }
@media(max-width:1100px){
    .sds-tp-dashboard-premium .sds-tp-dashboard-row-primary,
    .sds-tp-dashboard-premium .sds-tp-dashboard-row-secondary { grid-template-columns:1fr 1fr; }
    .sds-tp-dashboard-premium .sds-tp-dashboard-row-primary .sds-tp-journey { grid-column:1/-1; }
    .sds-tp-dashboard-premium .sds-tp-readiness-card { grid-column:1/-1; }
}
@media(max-width:760px){
    .sds-tp-dashboard-premium .sds-tp-dashboard-toolbar { position:relative; }
    .sds-tp-dashboard-premium .sds-tp-dashboard-hero { grid-template-columns:1fr; min-height:540px; padding:30px 22px 90px; }
    .sds-tp-dashboard-premium .sds-tp-dashboard-hero h2 { font-size:clamp(2.35rem,12vw,3.5rem); }
    .sds-tp-dashboard-premium .sds-tp-hero-context { grid-template-columns:1fr; }
    .sds-tp-dashboard-premium .sds-tp-dashboard-hero .sds-tp-stat { height:118px; width:118px; }
    .sds-tp-dashboard-premium .sds-tp-hero-mini-stats { bottom:17px; left:20px; right:auto; }
    .sds-tp-dashboard-premium .sds-tp-start-here,
    .sds-tp-dashboard-premium .sds-tp-dashboard-row-primary,
    .sds-tp-dashboard-premium .sds-tp-dashboard-row-secondary,
    .sds-tp-dashboard-premium .sds-tp-dashboard-row-bottom { grid-template-columns:1fr; }
    .sds-tp-dashboard-premium .sds-tp-start-video { min-height:280px; }
    .sds-tp-dashboard-premium .sds-tp-learning-sequence { grid-template-columns:1fr; gap:7px; }
    .sds-tp-dashboard-premium .sds-tp-learning-sequence::before { bottom:8%; height:auto; left:18px; right:auto; top:8%; width:3px; }
    .sds-tp-dashboard-premium .sds-tp-learning-sequence b { text-align:left; }
    .sds-tp-dashboard-premium .sds-tp-continue-card { align-items:flex-start; grid-template-columns:1fr; }
    .sds-tp-dashboard-premium .sds-tp-readiness-card { grid-column:auto; }
    .sds-tp-dashboard-premium .sds-tp-test-day-grid { grid-template-columns:1fr; }
}

/* v0.23.3 · dimensional instructor hero, clarity and exam video centre */
body.sds-tp-portal-page .entry-header > .entry-title,
body.sds-tp-portal-page .page-header > .page-title,
body.sds-tp-portal-page main.site-main > .wp-block-post-title,
body.sds-tp-portal-page article.page > .entry-header { display:none !important; }

.sds-tp-dashboard-premium .sds-tp-dashboard-hero {
    background:radial-gradient(circle at 82% 32%,rgba(245,189,0,.18),transparent 30%),linear-gradient(125deg,#0a0c0f 0%,#171a1f 62%,#22262d 100%);
    grid-template-columns:minmax(0,1fr) minmax(270px,390px); isolation:isolate; min-height:520px; overflow:visible;
}
.sds-tp-dashboard-premium .sds-tp-dashboard-hero:before { background:linear-gradient(90deg,rgba(8,9,10,.5),transparent 62%); }
.sds-tp-dashboard-premium .sds-tp-dashboard-hero .sds-tp-hero-copy { max-width:760px; position:relative; z-index:4; }
.sds-tp-hero-instructor { align-self:end; bottom:0; height:110%; justify-self:end; pointer-events:none; position:absolute; right:0; width:min(38%,440px); z-index:2; }
.sds-tp-hero-instructor:after { background:radial-gradient(ellipse,rgba(245,189,0,.32),transparent 68%); bottom:-14px; content:""; height:42px; left:12%; position:absolute; right:5%; }
.sds-tp-hero-instructor img { filter:drop-shadow(-18px 20px 28px rgba(0,0,0,.48)); height:100%; object-fit:contain; object-position:right bottom; position:absolute; right:0; width:100%; }
.sds-tp-hero-instructor>span { background:#f5bd00; border:3px solid #fff; border-radius:12px; bottom:34px; box-shadow:0 12px 26px rgba(0,0,0,.35); color:#111; font-size:.7rem; font-weight:900; left:-30px; letter-spacing:.11em; padding:10px 14px; position:absolute; text-transform:uppercase; z-index:3; }
.sds-tp-hero-instructor>span strong { display:block; font-size:.95rem; letter-spacing:0; margin-top:3px; text-transform:none; }
.sds-tp-dashboard-premium .sds-tp-hero-context { max-width:610px; }
.sds-tp-hero-progress { background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.2); border-radius:14px; margin:20px 0; max-width:610px; padding:14px 16px; }
.sds-tp-hero-progress>div { align-items:center; display:flex; justify-content:space-between; }
.sds-tp-hero-progress>div span { color:#fff; font-size:.78rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.sds-tp-hero-progress>div strong { color:#f5bd00; font-size:1.35rem; }
.sds-tp-hero-progress-track { background:#3a3d42; border:1px solid rgba(255,255,255,.16); border-radius:999px; display:block; height:14px; margin-top:9px; overflow:hidden; }
.sds-tp-hero-progress-track i { background:linear-gradient(90deg,#d99f00,#ffd84a); border-radius:inherit; box-shadow:0 0 16px rgba(245,189,0,.65); display:block; height:100%; min-width:8px; }
.sds-tp-dashboard-premium .sds-tp-hero-mini-stats { left:auto; right:28px; z-index:5; }

.sds-tp-dashboard-premium .sds-tp-quick-question li,
.sds-tp-dashboard-premium .sds-tp-quick-question li[data-sds-assessment-content] { background:#fff !important; border:2px solid #b5b8bd !important; color:#111 !important; font-size:.82rem; font-weight:850; opacity:1 !important; }
.sds-tp-dashboard-premium .sds-tp-quick-question li.is-selected { background:#fff7cf !important; border-color:#d59f00 !important; box-shadow:0 0 0 3px rgba(245,189,0,.17); }
.sds-tp-dashboard-premium .sds-tp-module-grid { background:linear-gradient(180deg,#1a1d21,#111317); border:2px solid #d7a800; box-shadow:inset 0 0 0 1px rgba(255,216,74,.18),0 12px 28px rgba(0,0,0,.18); }
.sds-tp-dashboard-premium .sds-tp-module-grid h3 { color:#fff !important; font-size:.88rem; font-weight:900; opacity:1 !important; text-shadow:0 1px 2px #000; }
.sds-tp-dashboard-premium .sds-tp-module-grid p { color:#f0f1f3 !important; font-size:.72rem; opacity:1 !important; }
.sds-tp-dashboard-premium .sds-tp-module-grid article>strong { color:#ffd84a !important; }
.sds-tp-dashboard-premium .sds-tp-module-grid article.is-progress { background:linear-gradient(180deg,rgba(245,189,0,.25),rgba(245,189,0,.08)); border-radius:12px; }

.sds-tp-dashboard-premium .sds-tp-passed-card { background-color:#101216; background-image:linear-gradient(90deg,#101216 0%,rgba(16,18,22,.98) 48%,rgba(16,18,22,.12) 75%),var(--sds-keys-image); background-position:center,right bottom; background-repeat:no-repeat; background-size:cover,auto 108%; border:2px solid #d7a800; box-shadow:0 18px 42px rgba(0,0,0,.2); min-height:360px; }
.sds-tp-dashboard-premium .sds-tp-passed-card>div { max-width:58%; padding:clamp(30px,4vw,52px); position:relative; z-index:2; }
.sds-tp-dashboard-premium .sds-tp-passed-card h2 { color:#fff !important; }
.sds-tp-dashboard-premium .sds-tp-passed-card p { color:#f1f2f4 !important; font-size:1rem; }

.sds-tp-exam-video-section { margin:clamp(34px,5vw,64px) 0; }
.sds-tp-exam-video-section>header { margin-bottom:24px; max-width:800px; }
.sds-tp-exam-video-section>header h2 { color:#101216 !important; font-size:clamp(1.8rem,3.6vw,3rem); margin:.2em 0; }
.sds-tp-exam-video-grid { display:grid; gap:22px; grid-template-columns:repeat(3,minmax(0,1fr)); }
.sds-tp-exam-video-grid article { background:#17191d; border:1px solid #383c43; border-bottom:6px solid #f5bd00; border-radius:17px; box-shadow:0 14px 30px rgba(0,0,0,.14); overflow:hidden; padding-bottom:20px; }
.sds-tp-exam-video-grid .sds-tp-video-frame { aspect-ratio:16/9; background:#000; overflow:hidden; }
.sds-tp-exam-video-grid video { display:block; height:100%; object-fit:contain; width:100%; }
.sds-tp-exam-video-grid article>span { color:#f5bd00; display:block; font-size:.7rem; font-weight:900; letter-spacing:.12em; padding:18px 20px 0; text-transform:uppercase; }
.sds-tp-exam-video-grid h3 { color:#fff !important; font-size:1.15rem; margin:6px 20px; }
.sds-tp-exam-video-grid p { color:#d6d8dc; font-size:.86rem; margin:0 20px; }

@media(max-width:1050px){
    .sds-tp-dashboard-premium .sds-tp-dashboard-hero { grid-template-columns:1fr 280px; }
    .sds-tp-hero-instructor { width:36%; }
    .sds-tp-dashboard-premium .sds-tp-hero-context,.sds-tp-hero-progress { max-width:58%; }
    .sds-tp-exam-video-grid { grid-template-columns:1fr 1fr; }
}
@media(max-width:760px){
    .sds-tp-dashboard-premium .sds-tp-dashboard-hero { display:block; min-height:850px; overflow:hidden; padding:28px 20px 390px; }
    .sds-tp-dashboard-premium .sds-tp-hero-context,.sds-tp-hero-progress { max-width:none; }
    .sds-tp-hero-instructor { height:390px; left:50%; right:auto; transform:translateX(-50%); width:min(95%,390px); }
    .sds-tp-hero-instructor>span { bottom:22px; left:8px; }
    .sds-tp-dashboard-premium .sds-tp-hero-mini-stats { bottom:12px; left:12px; right:12px; }
    .sds-tp-exam-video-grid { grid-template-columns:1fr; }
    .sds-tp-dashboard-premium .sds-tp-passed-card { background-image:linear-gradient(180deg,#101216 0%,rgba(16,18,22,.96) 54%,rgba(16,18,22,.12) 76%),var(--sds-keys-image); background-position:center,bottom center; background-size:cover,auto 55%; min-height:570px; }
    .sds-tp-dashboard-premium .sds-tp-passed-card>div { max-width:none; }
}
@media(prefers-reduced-motion:reduce){.sds-tp-dashboard-premium *{scroll-behavior:auto!important;transition:none!important}.sds-tp-dashboard-premium .sds-tp-button:hover{transform:none}}

/* v0.23.2 · focused Learning Lab, supplied instructor portrait and study resource */
.sds-tp-dashboard-premium .sds-tp-dashboard-hero {
    background-position:center,right 24% center,center;
    background-repeat:no-repeat;
    background-size:cover,auto 128%,cover;
}
.sds-tp-lesson-actions {
    align-items:center; background:#fff; border:1px solid #dedfdc; border-left:7px solid #f5bd00;
    border-radius:18px; box-shadow:0 12px 32px rgba(15,18,22,.08); display:grid; gap:24px;
    grid-template-columns:minmax(0,1fr) auto; margin:42px 0 18px; padding:clamp(22px,3vw,34px);
}
.sds-tp-lesson-actions h2 { color:#101216 !important; font-size:clamp(1.4rem,2.5vw,2rem); margin:.2em 0; }
.sds-tp-lesson-actions p { color:#565b62; margin:0; max-width:650px; }
.sds-tp-lesson-actions nav { display:flex; flex-wrap:wrap; gap:10px; justify-content:flex-end; }
.sds-tp-lesson-actions .sds-tp-button { align-items:center; display:inline-flex; justify-content:center; min-height:48px; }
.sds-tp-button-outline { background:#fff !important; border-color:#2a2d32 !important; color:#17191d !important; }
.sds-tp-focused-lab-page { margin:0 auto; max-width:1280px; padding:clamp(18px,3vw,42px); }
.sds-tp-focused-lab-back a { color:#17191d; font-weight:850; text-decoration-thickness:2px; text-underline-offset:4px; }
.sds-tp-highway-code-resource {
    align-items:center; background:linear-gradient(135deg,#17191d,#272b31); border-bottom:6px solid #f5bd00;
    border-radius:18px; display:grid; gap:clamp(24px,4vw,52px); grid-template-columns:minmax(180px,300px) 1fr;
    margin:28px 0; overflow:hidden; padding:clamp(22px,4vw,42px);
}
.sds-tp-highway-code-resource img { background:#fff; border-radius:10px; box-shadow:0 18px 35px rgba(0,0,0,.35); display:block; height:auto; width:100%; }
.sds-tp-highway-code-resource h2 { color:#fff !important; font-size:clamp(1.7rem,3vw,2.8rem); margin:.25em 0; }
.sds-tp-highway-code-resource p { color:#e4e6e9; font-size:1.05rem; max-width:700px; }
@media(max-width:760px){
    .sds-tp-dashboard-premium .sds-tp-dashboard-hero { background-position:center,right bottom,center; background-size:cover,auto 68%,cover; }
    .sds-tp-lesson-actions { grid-template-columns:1fr; }
    .sds-tp-lesson-actions nav { justify-content:stretch; }
    .sds-tp-lesson-actions .sds-tp-button { width:100%; }
    .sds-tp-highway-code-resource { grid-template-columns:1fr; }
    .sds-tp-highway-code-resource img { margin:auto; max-width:270px; }
}

/* v0.23.1 · simplified dashboard and protected guide pages */
.sds-tp-dashboard-premium .sds-tp-dashboard-main { gap:28px; }
.sds-tp-dashboard-premium .sds-tp-journey { background:linear-gradient(180deg,#fff 0%,#f8f7f2 100%); border-top:6px solid var(--sds-yellow); }
.sds-tp-dashboard-premium .sds-tp-module-grid { background:#1b1e23; border-radius:18px; overflow-x:auto; padding:22px 18px 18px; }
.sds-tp-dashboard-premium .sds-tp-module-grid article { padding-top:70px; }
.sds-tp-dashboard-premium .sds-tp-module-grid article::after { background:#3a3d42; border-bottom:2px dashed #f5bd00; border-top:2px dashed #f5bd00; height:12px; top:21px; }
.sds-tp-dashboard-premium .sds-tp-module-grid article::before { background:#f6f6f2; border-color:#8c9097; top:3px; }
.sds-tp-dashboard-premium .sds-tp-module-grid article>span { background:#f6f6f2; border:2px solid #fff; color:#111; top:11px; }
.sds-tp-dashboard-premium .sds-tp-module-grid article.is-completed::after { background:#217a43; border-color:#8ad4a1; }
.sds-tp-dashboard-premium .sds-tp-module-grid article.is-completed>span { background:#217a43; color:#fff; }
.sds-tp-dashboard-premium .sds-tp-module-grid article.is-progress>span,
.sds-tp-dashboard-premium .sds-tp-module-grid article:first-child:not(.is-completed)>span { background:var(--sds-yellow); }
.sds-tp-dashboard-premium .sds-tp-module-grid article.is-progress>span::after,
.sds-tp-dashboard-premium .sds-tp-module-grid article:first-child:not(.is-completed)>span::after { content:"🚗"; filter:drop-shadow(0 3px 3px rgba(0,0,0,.5)); font-size:1.55rem; left:29px; position:absolute; top:-17px; transform:scaleX(-1); }
.sds-tp-dashboard-premium .sds-tp-module-grid h3 { color:#fff; }
.sds-tp-dashboard-premium .sds-tp-module-grid p { color:#cfd1d5; }
.sds-tp-dashboard-premium .sds-tp-passed-card { background-image:linear-gradient(90deg,#14161a 0%,rgba(20,22,26,.94) 50%,rgba(20,22,26,.26) 100%),var(--sds-keys-image); background-position:center,right center; background-repeat:no-repeat; background-size:cover,55% auto; }
.sds-tp-dashboard-premium .sds-tp-passed-card>div { max-width:58%; padding:clamp(25px,4vw,46px); }
.sds-tp-standalone-guide { background:var(--sds-canvas,#f4f3ee); min-height:100vh; padding:clamp(18px,4vw,52px); }
.sds-tp-guide-hero { background:linear-gradient(120deg,#121418,#25282e); border-bottom:7px solid #f5bd00; border-radius:24px; color:#fff; margin:0 auto 24px; max-width:1180px; padding:clamp(30px,5vw,64px); }
.sds-tp-guide-hero h1 { color:#fff !important; font-size:clamp(2.2rem,5vw,4.4rem); letter-spacing:-.045em; line-height:1; margin:8px 0 14px; }
.sds-tp-guide-hero p { color:#e2e4e8; font-size:1.05rem; max-width:720px; }
.sds-tp-guide-layout { background:#fff; border:1px solid #dedfdc; border-radius:22px; box-shadow:0 14px 38px rgba(15,18,22,.08); display:grid; gap:0; grid-template-columns:1fr 1fr; margin:0 auto; max-width:1180px; overflow:hidden; }
.sds-tp-guide-video { align-items:center; background:#17191d; display:flex; min-height:460px; padding:clamp(18px,3vw,34px); }
.sds-tp-guide-video video,.sds-tp-guide-video .sds-tp-video-placeholder { aspect-ratio:16/9; border-bottom:6px solid #f5bd00; border-radius:14px; box-shadow:0 18px 38px rgba(0,0,0,.35); height:auto; width:100%; }
.sds-tp-guide-copy { padding:clamp(28px,4vw,52px); }
.sds-tp-guide-copy h2 { color:#111; font-size:clamp(1.7rem,3vw,2.7rem); letter-spacing:-.03em; }
.sds-tp-guide-copy li { line-height:1.55; margin:10px 0; }
.sds-tp-guide-copy .sds-tp-learning-sequence { display:flex; flex-wrap:wrap; gap:7px; margin:24px 0; }
.sds-tp-guide-copy .sds-tp-learning-sequence b { background:#17191d; border-radius:999px; color:#fff; font-size:.72rem; padding:9px 12px; }
.sds-tp-guide-copy .sds-tp-learning-sequence i { color:#9b7a00; font-style:normal; font-weight:900; }
.sds-tp-test-day-page .sds-tp-test-day-centre { background:#fff; border:1px solid #dedfdc; border-radius:22px; box-shadow:0 14px 38px rgba(15,18,22,.08); margin:0 auto; max-width:1180px; padding:clamp(28px,5vw,60px); }
.sds-tp-test-day-page .sds-tp-test-day-centre>header { background:#17191d; border-bottom:7px solid #f5bd00; border-radius:18px; color:#fff; margin:-20px -20px 28px; padding:clamp(28px,4vw,48px); }
.sds-tp-test-day-page .sds-tp-test-day-centre h1 { color:#fff !important; font-size:clamp(2.1rem,5vw,4rem); letter-spacing:-.04em; margin:8px 0; }
.sds-tp-test-day-page .sds-tp-test-day-centre>header p { color:#e0e2e5; }
.sds-tp-test-day-checks { background:#fff7ce; border-left:6px solid #f5bd00; border-radius:12px; margin-top:25px; padding:18px; }
@media(max-width:760px){
    .sds-tp-dashboard-premium .sds-tp-passed-card { background-image:linear-gradient(180deg,#14161a 0%,rgba(20,22,26,.96) 62%,rgba(20,22,26,.42) 100%),var(--sds-keys-image); background-position:center,bottom center; background-size:cover,100% auto; min-height:440px; }
    .sds-tp-dashboard-premium .sds-tp-passed-card>div { max-width:none; }
    .sds-tp-guide-layout { grid-template-columns:1fr; }
    .sds-tp-guide-video { min-height:260px; }
    .sds-tp-test-day-page .sds-tp-test-day-centre>header { margin:-12px -12px 24px; }
}
.sds-tp-service-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin:1.25rem 0}.sds-tp-service-grid .sds-tp-card{background:#202329;color:#fff;border:1px solid #3a3d43;border-top:4px solid #f5bd00;padding:1.25rem;border-radius:10px}.sds-tp-service-grid h3{color:#f5bd00;margin-top:0}.sds-tp-price{font-size:1.6rem;font-weight:800;color:#fff}.sds-tp-test-day,.sds-tp-governed-catalogue{max-width:1180px;margin:0 auto;padding:2rem 1rem}.sds-tp-test-day li{margin:.55rem 0}.sds-tp-translation-pilot{background:#17191d;color:#fff;border-left:5px solid #f5bd00;padding:1rem;margin:1rem auto;max-width:1180px}.sds-tp-translation-pilot strong,.sds-tp-translation-pilot summary{color:#f5bd00}

/* v0.23.3 final cascade overrides */
.sds-tp-dashboard-premium .sds-tp-dashboard-hero{background-image:radial-gradient(circle at 82% 32%,rgba(245,189,0,.18),transparent 30%),linear-gradient(125deg,#0a0c0f 0%,#171a1f 62%,#22262d 100%);background-position:center;background-repeat:no-repeat;background-size:cover;grid-template-columns:minmax(0,1fr) minmax(270px,390px);min-height:520px;overflow:visible}
.sds-tp-dashboard-premium .sds-tp-module-grid{background:linear-gradient(180deg,#1a1d21,#111317);border:2px solid #d7a800;box-shadow:inset 0 0 0 1px rgba(255,216,74,.18),0 12px 28px rgba(0,0,0,.18)}
.sds-tp-dashboard-premium .sds-tp-module-grid h3{color:#fff!important;font-size:.88rem;font-weight:900;opacity:1!important;text-shadow:0 1px 2px #000}.sds-tp-dashboard-premium .sds-tp-module-grid p{color:#f0f1f3!important;font-size:.72rem;opacity:1!important}.sds-tp-dashboard-premium .sds-tp-module-grid article>strong{color:#ffd84a!important}.sds-tp-dashboard-premium .sds-tp-module-grid article.is-progress{background:linear-gradient(180deg,rgba(245,189,0,.25),rgba(245,189,0,.08));border-radius:12px}
.sds-tp-dashboard-premium .sds-tp-passed-card{background-color:#101216;background-image:linear-gradient(90deg,#101216 0%,rgba(16,18,22,.98) 48%,rgba(16,18,22,.12) 75%),var(--sds-keys-image);background-position:center,right bottom;background-repeat:no-repeat;background-size:cover,auto 108%;border:2px solid #d7a800;box-shadow:0 18px 42px rgba(0,0,0,.2);min-height:360px}.sds-tp-dashboard-premium .sds-tp-passed-card>div{max-width:58%;padding:clamp(30px,4vw,52px)}
@media(max-width:760px){.sds-tp-dashboard-premium .sds-tp-dashboard-hero{display:block;min-height:850px;overflow:hidden;padding:28px 20px 390px}.sds-tp-dashboard-premium .sds-tp-passed-card{background-image:linear-gradient(180deg,#101216 0%,rgba(16,18,22,.96) 54%,rgba(16,18,22,.12) 76%),var(--sds-keys-image);background-position:center,bottom center;background-size:cover,auto 55%;min-height:570px}.sds-tp-dashboard-premium .sds-tp-passed-card>div{max-width:none}}

/* v0.23.4 · click-to-play Instructor Simmons dashboard welcome */
.sds-tp-hero-instructor .sds-tp-welcome-play{align-items:center;background:#fff;border:3px solid #f5bd00;border-radius:999px;bottom:104px;box-shadow:0 14px 34px rgba(0,0,0,.42);color:#111;cursor:pointer;display:flex;font-size:.76rem;font-weight:900;gap:8px;left:-28px;letter-spacing:.03em;min-height:48px;padding:8px 16px;pointer-events:auto;position:absolute;z-index:4}.sds-tp-hero-instructor .sds-tp-welcome-play b{align-items:center;background:#f5bd00;border-radius:50%;display:inline-flex;height:29px;justify-content:center;padding-left:2px;width:29px}.sds-tp-hero-instructor .sds-tp-welcome-play:focus-visible{outline:4px solid #fff;outline-offset:4px}.sds-tp-welcome-dialog{background:#15171b;border:2px solid #f5bd00;border-radius:22px;box-shadow:0 24px 80px rgba(0,0,0,.65);color:#fff;margin:auto;max-height:92vh;max-width:min(920px,92vw);overflow:auto;padding:0;width:100%}.sds-tp-welcome-dialog::backdrop{background:rgba(4,5,7,.82);backdrop-filter:blur(5px)}.sds-tp-welcome-close{align-items:center;background:#f5bd00;border:2px solid #fff;border-radius:50%;color:#111;cursor:pointer;display:flex;font-size:1.8rem;font-weight:900;height:44px;justify-content:center;position:absolute;right:14px;top:14px;width:44px;z-index:3}.sds-tp-welcome-video-wrap{align-items:center;background:#08090b;display:flex;justify-content:center;min-height:360px;padding:24px}.sds-tp-welcome-video-wrap video{background:#000;border-radius:14px;box-shadow:0 14px 38px rgba(0,0,0,.55);display:block;height:min(68vh,680px);max-width:100%;object-fit:contain;width:auto}.sds-tp-welcome-dialog-copy{border-top:5px solid #f5bd00;padding:22px 28px 28px}.sds-tp-welcome-dialog-copy h2{color:#fff!important;margin:.2em 0}.sds-tp-welcome-dialog-copy p{color:#e3e5e8;margin:0;max-width:700px}@media(max-width:760px){.sds-tp-hero-instructor .sds-tp-welcome-play{bottom:88px;left:14px}.sds-tp-welcome-video-wrap{min-height:0;padding:14px}.sds-tp-welcome-video-wrap video{height:min(70vh,590px)}.sds-tp-welcome-dialog-copy{padding:20px}}

/* v0.23.6 · approved Golden Road progress and corrected instructor hero */
.sds-tp-dashboard-premium .sds-tp-dashboard-main{padding-top:clamp(20px,3vw,38px)}
.sds-tp-dashboard-premium .sds-tp-dashboard-hero{align-items:stretch;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);min-height:560px;overflow:hidden;padding:clamp(32px,4.5vw,68px)}
.sds-tp-dashboard-premium .sds-tp-dashboard-hero .sds-tp-hero-copy{align-self:center;max-width:760px;padding-right:18px}
.sds-tp-dashboard-premium .sds-tp-hero-instructor{align-self:stretch;bottom:auto;display:flex;flex-direction:column;height:auto;justify-self:stretch;pointer-events:auto;position:relative;right:auto;width:auto;z-index:3}
.sds-tp-dashboard-premium .sds-tp-hero-instructor:after{background:radial-gradient(ellipse,rgba(245,189,0,.34),transparent 68%);bottom:94px;height:32px;left:10%;right:10%;z-index:-1}
.sds-tp-dashboard-premium .sds-tp-hero-instructor img{filter:drop-shadow(-14px 19px 24px rgba(0,0,0,.48));height:390px;max-height:390px;object-fit:contain;object-position:center bottom;position:relative;right:auto;width:100%}
.sds-tp-instructor-identity{align-items:center;background:linear-gradient(135deg,#fff9da,#f5bd00);border:2px solid #fff;border-radius:16px;box-shadow:0 15px 34px rgba(0,0,0,.34);display:flex;flex-direction:column;margin:-4px auto 0;max-width:310px;padding:12px 15px 14px;text-align:center;width:100%;z-index:3}
.sds-tp-instructor-identity>span{color:#5f4800;font-size:.68rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.sds-tp-instructor-identity>strong{color:#111;font-size:1.05rem;line-height:1.2;margin:3px 0 9px}
.sds-tp-hero-instructor .sds-tp-welcome-play{background:#111;border:2px solid #111;bottom:auto;box-shadow:none;color:#fff;display:inline-flex;font-size:.74rem;left:auto;min-height:42px;padding:7px 14px;position:relative;width:auto}
.sds-tp-hero-instructor .sds-tp-welcome-play b{color:#111}
.sds-tp-hero-results{align-items:center;background:#fff;border:1px solid #dedfdc;border-top:5px solid #f5bd00;border-radius:16px;box-shadow:0 10px 26px rgba(15,18,22,.08);display:grid;gap:12px;grid-template-columns:1fr 1fr auto;margin-top:-10px;padding:15px 20px;position:relative;z-index:4}
.sds-tp-hero-results>div{align-items:center;color:#111;display:flex;font-weight:850;gap:9px;justify-content:center}
.sds-tp-hero-results>div+div{border-left:1px solid #dedfdc}
.sds-tp-hero-results b{align-items:center;background:#fff1b2;border-radius:50%;color:#9d7400;display:flex;height:34px;justify-content:center;width:34px}
.sds-tp-hero-results>a{background:#111;border-radius:999px;color:#fff!important;font-size:.76rem;font-weight:900;padding:11px 16px;text-decoration:none}

.sds-tp-dashboard-premium .sds-tp-dashboard-row-primary{grid-template-columns:1fr}
.sds-tp-dashboard-premium .sds-tp-dashboard-row-primary>.sds-tp-journey{grid-column:1/-1}
.sds-tp-dashboard-premium .sds-tp-journey{background:#fff;border:1px solid #e2e2de;border-top:0;box-shadow:0 18px 45px rgba(15,18,22,.09);color:#111;display:grid;gap:22px;padding:clamp(24px,3.2vw,46px);position:relative}
.sds-tp-dashboard-premium .sds-tp-progress-heading{padding-right:min(36%,520px)}
.sds-tp-dashboard-premium .sds-tp-progress-heading .sds-tp-kicker{color:#25282e;display:block!important}
.sds-tp-dashboard-premium .sds-tp-progress-heading h2{color:#111!important;font-size:clamp(2rem,4.4vw,4rem);line-height:1;margin:.16em 0 .12em;text-transform:uppercase}
.sds-tp-dashboard-premium .sds-tp-progress-heading h2::before{display:none}
.sds-tp-dashboard-premium .sds-tp-progress-heading p{color:#59606b;font-size:1rem;margin:0}
.sds-tp-progress-callout{align-items:center;background:linear-gradient(105deg,#fff8db,#fffdf5);border:1px solid #f1e3ae;border-radius:14px;display:flex;gap:14px;max-width:510px;padding:15px 18px;position:absolute;right:clamp(24px,3.2vw,46px);top:clamp(24px,3.2vw,46px)}
.sds-tp-progress-callout>b{color:#d69b00;font-size:1.65rem}
.sds-tp-progress-callout span,.sds-tp-progress-callout strong{display:block}.sds-tp-progress-callout span{color:#60656d;font-size:.78rem}.sds-tp-progress-callout strong{color:#111;font-size:.9rem;margin-bottom:3px}
.sds-tp-golden-road{background:linear-gradient(#e6a900,#f5bd00);border-radius:999px;height:18px;margin:46px 12px -41px;position:relative}
.sds-tp-golden-road:after{border-top:2px dashed #fff;content:"";left:12px;position:absolute;right:12px;top:8px}
.sds-tp-road-car{bottom:10px;font-size:2.2rem;left:30%;position:absolute;z-index:2}.sds-tp-road-finish{bottom:-7px;font-size:2.8rem;position:absolute;right:-4px;z-index:2}
.sds-tp-dashboard-premium .sds-tp-module-grid{background:transparent;border:0;box-shadow:none;display:grid;gap:14px;grid-template-columns:repeat(6,minmax(145px,1fr));margin:0;overflow-x:auto;padding:0 0 10px}
.sds-tp-dashboard-premium .sds-tp-module-grid article{background:#fff;border:1px solid #dfe0dd;border-radius:14px;box-shadow:0 7px 18px rgba(15,18,22,.07);display:flex;flex-direction:column;min-height:300px;min-width:145px;padding:34px 14px 0;position:relative;text-align:center}
.sds-tp-dashboard-premium .sds-tp-module-grid article::before,.sds-tp-dashboard-premium .sds-tp-module-grid article::after{display:none}
.sds-tp-dashboard-premium .sds-tp-module-grid article>span{align-items:center;background:#fff;border:4px solid #d69b00;border-radius:50%;color:#111;display:flex;font-size:.82rem;font-weight:900;height:58px;justify-content:center;left:50%;position:absolute;top:-28px;transform:translateX(-50%);width:58px;z-index:2}
.sds-tp-dashboard-premium .sds-tp-module-grid h3{color:#111!important;font-size:.9rem;font-weight:900;line-height:1.2;margin:17px 0 12px;min-height:66px;text-shadow:none}
.sds-tp-dashboard-premium .sds-tp-module-grid p{color:#50555d!important;font-size:.76rem;margin:0;opacity:1!important}
.sds-tp-dashboard-premium .sds-tp-module-grid article>div{background:#e6e7e5;border-radius:999px;display:block;height:10px;margin:19px 8px 7px;overflow:hidden;width:calc(100% - 16px)}
.sds-tp-dashboard-premium .sds-tp-module-grid article>div i{background:linear-gradient(90deg,#d69b00,#f6c62e);border-radius:inherit;display:block;height:100%}
.sds-tp-dashboard-premium .sds-tp-module-grid article>strong{color:#bd8700!important;display:block;font-size:1.45rem;margin-bottom:15px}
.sds-tp-dashboard-premium .sds-tp-module-grid article>small{background:#f0f1f2;color:#555c65;display:block;font-size:.72rem;font-weight:900;margin:auto -14px 0;padding:13px 8px}
.sds-tp-dashboard-premium .sds-tp-module-grid article.is-completed{background:#fff;border-color:#c9dfcc}
.sds-tp-dashboard-premium .sds-tp-module-grid article.is-completed>span{background:#fff;border-color:#d69b00;color:#15853b}
.sds-tp-dashboard-premium .sds-tp-module-grid article.is-completed>small{background:#e7f7e9;color:#16733a}
.sds-tp-dashboard-premium .sds-tp-module-grid article.is-progress{background:linear-gradient(180deg,#fffdf3,#fff7d6);border:2px solid #e5aa00;border-radius:14px;box-shadow:0 12px 28px rgba(214,155,0,.17)}
.sds-tp-dashboard-premium .sds-tp-module-grid article.is-progress>span{background:#f5bd00;border-color:#f5bd00}
.sds-tp-dashboard-premium .sds-tp-module-grid article.is-progress>small{background:#f5bd00;color:#111}
.sds-tp-progress-footer{align-items:center;background:linear-gradient(100deg,#fff8db,#fffdf5);border:1px solid #f1e3ae;border-radius:14px;display:grid;gap:12px;grid-template-columns:auto 1fr auto;padding:16px 20px}
.sds-tp-progress-footer>b{font-size:2rem}.sds-tp-progress-footer span,.sds-tp-progress-footer strong{display:block}.sds-tp-progress-footer span{color:#59606b;font-size:.78rem}.sds-tp-progress-footer strong{color:#111;font-size:.95rem}.sds-tp-progress-footer em{color:#9d7400;font-size:.72rem;font-style:normal;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
@media(max-width:1100px){.sds-tp-dashboard-premium .sds-tp-progress-heading{padding-right:0}.sds-tp-progress-callout{max-width:none;position:static}.sds-tp-dashboard-premium .sds-tp-module-grid{grid-template-columns:repeat(3,minmax(170px,1fr));overflow:visible;row-gap:48px}.sds-tp-golden-road{display:none}}
@media(max-width:760px){.sds-tp-dashboard-premium .sds-tp-dashboard-hero{display:grid;grid-template-columns:1fr;min-height:0;overflow:hidden;padding:28px 20px}.sds-tp-dashboard-premium .sds-tp-dashboard-hero .sds-tp-hero-copy{padding-right:0}.sds-tp-dashboard-premium .sds-tp-hero-instructor{margin-top:22px}.sds-tp-dashboard-premium .sds-tp-hero-instructor img{height:350px;max-height:350px}.sds-tp-instructor-identity{margin-top:-2px}.sds-tp-hero-instructor .sds-tp-welcome-play{bottom:auto;left:auto}.sds-tp-hero-results{grid-template-columns:1fr;margin-top:0}.sds-tp-hero-results>div+div{border-left:0;border-top:1px solid #dedfdc;padding-top:12px}.sds-tp-hero-results>a{text-align:center}.sds-tp-dashboard-premium .sds-tp-module-grid{grid-template-columns:1fr;row-gap:42px}.sds-tp-dashboard-premium .sds-tp-module-grid article{min-height:250px}.sds-tp-dashboard-premium .sds-tp-module-grid h3{min-height:0}.sds-tp-progress-footer{grid-template-columns:auto 1fr}.sds-tp-progress-footer em{grid-column:1/-1;text-align:center}}

/* v0.23.7 · compact passed-theory milestone */
.sds-tp-dashboard-premium .sds-tp-dashboard-row-bottom{align-items:start;display:grid;gap:22px;grid-template-columns:minmax(0,.86fr) minmax(520px,1.14fr)}
.sds-tp-dashboard-premium .sds-tp-dashboard-row-bottom>.sds-tp-dashboard-panel{align-self:start;height:auto;min-height:0}
.sds-tp-dashboard-premium .sds-tp-achievements-card{min-height:260px;padding:24px}
.sds-tp-dashboard-premium .sds-tp-passed-card{align-items:center;background-color:#111419;background-image:linear-gradient(90deg,#111419 0%,rgba(17,20,25,.98) 43%,rgba(17,20,25,.56) 62%,rgba(17,20,25,.04) 100%),var(--sds-keys-image);background-position:center,right center;background-repeat:no-repeat;background-size:cover,auto 100%;border:0;border-bottom:7px solid #f5bd00;box-shadow:0 18px 42px rgba(15,18,22,.18);display:flex;height:auto;min-height:330px;overflow:hidden;padding:0}
.sds-tp-dashboard-premium .sds-tp-passed-card>.sds-tp-passed-copy{max-width:58%;padding:clamp(28px,3.5vw,48px);position:relative;z-index:2}
.sds-tp-passed-eyebrow{color:#f5bd00;display:block;font-size:.7rem;font-weight:900;letter-spacing:.14em;margin-bottom:9px;text-transform:uppercase}
.sds-tp-dashboard-premium .sds-tp-passed-card h2{color:#fff!important;font-size:clamp(1.8rem,3.2vw,3rem);line-height:1.02;margin:0 0 13px;text-shadow:0 2px 5px rgba(0,0,0,.45)}
.sds-tp-dashboard-premium .sds-tp-passed-card p{color:#f2f3f5!important;font-size:.94rem;line-height:1.5;margin:0 0 20px;max-width:500px;text-shadow:0 1px 3px rgba(0,0,0,.55)}
.sds-tp-passed-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px 15px}
.sds-tp-dashboard-premium .sds-tp-passed-card .sds-tp-button{box-shadow:0 9px 24px rgba(245,189,0,.25);margin:0}
.sds-tp-dashboard-premium .sds-tp-passed-card .sds-tp-passed-share{color:#fff!important;font-weight:800;margin:0;text-decoration-thickness:2px;text-underline-offset:4px}
@media(max-width:1180px){.sds-tp-dashboard-premium .sds-tp-dashboard-row-bottom{grid-template-columns:1fr}.sds-tp-dashboard-premium .sds-tp-achievements-card{min-height:0}.sds-tp-dashboard-premium .sds-tp-passed-card{min-height:360px}}
@media(max-width:760px){.sds-tp-dashboard-premium .sds-tp-passed-card{background-image:linear-gradient(180deg,#111419 0%,rgba(17,20,25,.98) 56%,rgba(17,20,25,.3) 78%,rgba(17,20,25,.05) 100%),var(--sds-keys-image);background-position:center,bottom center;background-size:cover,auto 48%;display:block;min-height:590px}.sds-tp-dashboard-premium .sds-tp-passed-card>.sds-tp-passed-copy{max-width:none;padding:30px 24px}.sds-tp-passed-actions{align-items:stretch;flex-direction:column}.sds-tp-dashboard-premium .sds-tp-passed-card .sds-tp-passed-share{text-align:center}}

/* v0.23.8 · approved real SDS vehicle milestone visual */
.sds-tp-dashboard-premium .sds-tp-passed-card{background-image:linear-gradient(90deg,#07090c 0%,rgba(7,9,12,.97) 38%,rgba(7,9,12,.64) 56%,rgba(7,9,12,.04) 100%),var(--sds-keys-image);background-position:center;background-size:cover;border:2px solid #d6a000;border-bottom:8px solid #f5bd00;box-shadow:0 22px 55px rgba(15,18,22,.25),0 0 0 1px rgba(255,216,74,.12) inset;isolation:isolate;min-height:360px}
.sds-tp-dashboard-premium .sds-tp-passed-card:after{background:linear-gradient(115deg,rgba(245,189,0,.13),transparent 42%);content:"";inset:0;pointer-events:none;position:absolute;z-index:0}
.sds-tp-dashboard-premium .sds-tp-passed-card>.sds-tp-passed-copy{max-width:55%;padding:clamp(30px,4vw,56px);position:relative;z-index:2}
.sds-tp-dashboard-premium .sds-tp-passed-eyebrow{align-items:center;display:flex;gap:8px}.sds-tp-dashboard-premium .sds-tp-passed-eyebrow:before{background:#f5bd00;border-radius:50%;box-shadow:0 0 0 5px rgba(245,189,0,.16);content:"✓";color:#111;display:inline-flex;font-size:.64rem;height:22px;justify-content:center;width:22px}
.sds-tp-dashboard-premium .sds-tp-passed-card h2{font-size:clamp(2rem,3.4vw,3.25rem);max-width:520px}.sds-tp-dashboard-premium .sds-tp-passed-card .sds-tp-button{background:linear-gradient(180deg,#ffd84a,#f5bd00);border-color:#ffe27b;box-shadow:0 12px 28px rgba(245,189,0,.34)}
@media(max-width:760px){.sds-tp-dashboard-premium .sds-tp-passed-card{background-image:linear-gradient(180deg,#07090c 0%,rgba(7,9,12,.98) 48%,rgba(7,9,12,.18) 70%,rgba(7,9,12,.02) 100%),var(--sds-keys-image);background-position:center,bottom center;background-size:cover,auto 52%;min-height:650px}.sds-tp-dashboard-premium .sds-tp-passed-card>.sds-tp-passed-copy{max-width:none;padding:32px 24px}}
/* v0.24.0 staging: concise learner journey entry points */
.sds-tp-start-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 20px}.sds-tp-start-links a{display:grid;grid-template-columns:42px 1fr;grid-template-rows:auto auto;column-gap:12px;align-items:center;min-height:86px;padding:16px 18px;border:1px solid #d8bd37;border-radius:16px;background:#fff;color:#17191d;text-decoration:none;box-shadow:0 8px 24px rgba(15,18,23,.08)}.sds-tp-start-links a>span{grid-row:1/3;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#f5bd00;color:#111;font-weight:900}.sds-tp-start-links b{font-size:1rem;line-height:1.2}.sds-tp-start-links small{color:#59616d;line-height:1.3}.sds-tp-start-links a:hover,.sds-tp-start-links a:focus-visible{border-color:#17191d;transform:translateY(-2px)}
@media(max-width:760px){.sds-tp-start-links{grid-template-columns:1fr}.sds-tp-start-links a{min-height:76px}}

/* v0.24.3 staging · simplified guided learner dashboard
 * This is the single authoritative dashboard layer for the current markup.
 * Earlier release rules remain for rollback compatibility, but every current
 * dashboard component is resolved here under the versioned root class.
 */
.sds-tp-dashboard-v111.sds-tp-dashboard-premium{
    --sds-dashboard-gold:#f5bd00;
    --sds-dashboard-gold-dark:#a87600;
    --sds-dashboard-charcoal:#111419;
    --sds-dashboard-ink:#17191d;
    --sds-dashboard-muted:#5b626d;
    --sds-dashboard-line:#dedfdc;
    background:#f5f5f2;
    color:var(--sds-dashboard-ink);
    overflow-x:hidden;
}
.sds-tp-dashboard-premium .sds-tp-dashboard-main{gap:clamp(20px,2.6vw,34px);max-width:1480px;padding-top:clamp(18px,2vw,30px)}
.sds-tp-dashboard-premium .sds-tp-dashboard-hero{
    align-items:stretch;
    background:radial-gradient(circle at 78% 28%,rgba(245,189,0,.18),transparent 28%),linear-gradient(125deg,#080a0d,#171a1f 64%,#252a31);
    border:1px solid rgba(245,189,0,.55);
    border-radius:24px;
    display:grid;
    grid-template-columns:minmax(0,1.45fr) minmax(270px,.55fr);
    min-height:520px;
    overflow:hidden;
    padding:clamp(30px,4.2vw,62px);
}
.sds-tp-dashboard-premium .sds-tp-dashboard-hero:before{background:linear-gradient(90deg,rgba(8,10,13,.98),rgba(8,10,13,.82) 55%,rgba(8,10,13,.08));content:"";inset:0;position:absolute}
.sds-tp-dashboard-premium .sds-tp-dashboard-hero .sds-tp-hero-copy{align-self:center;max-width:760px;padding-right:22px}
.sds-tp-dashboard-premium .sds-tp-dashboard-hero h2{color:#fff!important;font-size:clamp(2.35rem,4.8vw,4.8rem);line-height:.96;margin:.18em 0}
.sds-tp-dashboard-premium .sds-tp-dashboard-hero p{color:#e2e4e7;font-size:1rem;max-width:590px}
.sds-tp-dashboard-premium .sds-tp-hero-context{grid-template-columns:repeat(2,minmax(0,1fr));margin:22px 0 18px;max-width:690px}
.sds-tp-dashboard-premium .sds-tp-hero-context>div{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.16);min-height:78px;padding:12px 14px}
.sds-tp-dashboard-premium .sds-tp-hero-context dd{font-size:.86rem;line-height:1.35}
.sds-tp-dashboard-premium .sds-tp-hero-progress{max-width:690px}
.sds-tp-dashboard-premium .sds-tp-primary-course-action{margin-top:18px;max-width:max-content}
.sds-tp-dashboard-premium .sds-tp-hero-instructor{align-self:end;display:flex;flex-direction:column;justify-content:flex-end;min-width:0;position:relative;z-index:3}
.sds-tp-dashboard-premium .sds-tp-hero-instructor img{filter:drop-shadow(-12px 18px 22px rgba(0,0,0,.48));height:350px;max-height:350px;object-fit:contain;object-position:center bottom;width:100%}
.sds-tp-dashboard-premium .sds-tp-instructor-identity{margin:-2px auto 0;max-width:300px;position:relative}
.sds-tp-dashboard-premium .sds-tp-hero-instructor .sds-tp-welcome-play{align-self:center;position:relative}

.sds-tp-dashboard-premium .sds-tp-hero-results{grid-template-columns:repeat(3,minmax(0,1fr)) auto;margin-top:-6px;padding:14px 18px}
.sds-tp-dashboard-premium .sds-tp-hero-results>div+div{border-left:1px solid var(--sds-dashboard-line)}
.sds-tp-dashboard-premium .sds-tp-hero-results>div{color:var(--sds-dashboard-ink);font-size:.78rem}
.sds-tp-dashboard-premium .sds-tp-hero-results>a{white-space:nowrap}
.sds-tp-dashboard-premium .sds-tp-start-links{grid-template-columns:repeat(2,minmax(0,1fr));margin:0}

.sds-tp-dashboard-premium .sds-tp-dashboard-row-primary{display:grid;gap:22px;grid-template-columns:1fr}
.sds-tp-dashboard-premium .sds-tp-dashboard-row-primary>.sds-tp-journey,
.sds-tp-dashboard-premium .sds-tp-dashboard-row-primary>.sds-tp-quick-practice{grid-column:1/-1}
.sds-tp-dashboard-premium .sds-tp-journey{border-radius:22px;overflow:hidden}
.sds-tp-dashboard-premium .sds-tp-module-grid{grid-template-columns:repeat(6,minmax(145px,1fr));overflow:visible}
.sds-tp-dashboard-premium .sds-tp-module-grid article{min-width:0}
.sds-tp-dashboard-premium .sds-tp-quick-practice{background:#fff;border:1px solid var(--sds-dashboard-line);border-top:5px solid var(--sds-dashboard-gold);color:var(--sds-dashboard-ink)}
.sds-tp-dashboard-premium .sds-tp-quick-practice h2,.sds-tp-dashboard-premium .sds-tp-quick-practice p{color:var(--sds-dashboard-ink)!important}
.sds-tp-dashboard-premium .sds-tp-quick-question ol{gap:10px}
.sds-tp-dashboard-premium .sds-tp-quick-question li{background:#fff;border:2px solid #c9ccd1;color:#111!important;font-weight:800;min-height:48px;opacity:1!important;padding:12px 14px}
.sds-tp-dashboard-premium .sds-tp-quick-question li.is-selected{background:#fff8d8;border-color:var(--sds-dashboard-gold);box-shadow:0 0 0 3px rgba(245,189,0,.16);color:#111!important}

.sds-tp-dashboard-premium .sds-tp-focus-card-priority{align-items:center;background:#fff;border:1px solid var(--sds-dashboard-line);border-left:7px solid var(--sds-dashboard-gold);color:var(--sds-dashboard-ink);display:grid;gap:20px;grid-template-columns:minmax(240px,.8fr) minmax(320px,1.2fr) auto;order:0}
.sds-tp-dashboard-premium .sds-tp-focus-card-priority h3{color:var(--sds-dashboard-ink)!important;margin:.2em 0}
.sds-tp-dashboard-premium .sds-tp-focus-card-priority p{color:var(--sds-dashboard-muted)}
.sds-tp-dashboard-premium .sds-tp-focus-card-priority .sds-tp-focus-topics{margin:0}
.sds-tp-dashboard-premium .sds-tp-focus-card-priority .sds-tp-button{white-space:nowrap}

.sds-tp-dashboard-premium .sds-tp-dashboard-row-secondary{display:grid;gap:22px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.sds-tp-dashboard-premium .sds-tp-readiness-card{grid-column:1/-1;order:1}
.sds-tp-dashboard-premium .sds-tp-study-buddy-live{order:2}
.sds-tp-dashboard-premium .sds-tp-live-session{order:3}
.sds-tp-dashboard-premium .sds-tp-readiness-card{background:#fff;border:1px solid var(--sds-dashboard-line);border-top:5px solid var(--sds-dashboard-gold);color:var(--sds-dashboard-ink)}
.sds-tp-dashboard-premium .sds-tp-readiness-card h2{color:var(--sds-dashboard-ink)!important}
.sds-tp-dashboard-premium .sds-tp-readiness-card dl div{border-color:var(--sds-dashboard-line)}
.sds-tp-dashboard-premium .sds-tp-readiness-ring:before{background:#fff}
.sds-tp-dashboard-premium .sds-tp-readiness-disclaimer{background:#fff9df;border:1px solid #ead68b;border-radius:10px;color:#594500!important;font-size:.76rem;line-height:1.45;margin:18px 0 0;padding:11px 13px}

.sds-tp-dashboard-premium .sds-tp-achievements-card{background:#fff;border:1px solid var(--sds-dashboard-line);border-top:5px solid var(--sds-dashboard-gold);color:var(--sds-dashboard-ink)}
.sds-tp-dashboard-premium .sds-tp-achievements-card h2,.sds-tp-dashboard-premium .sds-tp-achievements-card strong{color:var(--sds-dashboard-ink)!important}
.sds-tp-dashboard-premium .sds-tp-achievements-card small{color:var(--sds-dashboard-muted)!important}
.sds-tp-dashboard-premium .sds-tp-dashboard-row-bottom{grid-template-columns:1fr}
.sds-tp-dashboard-premium .sds-tp-passed-card{
    background-color:#07090c;
    background-image:linear-gradient(90deg,#07090c 0%,rgba(7,9,12,.98) 36%,rgba(7,9,12,.76) 50%,rgba(7,9,12,.08) 74%,rgba(7,9,12,0) 100%),var(--sds-keys-image);
    background-position:center,right center;
    background-repeat:no-repeat;
    background-size:cover;
    border:3px solid #d6a000;
    border-bottom:10px solid var(--sds-dashboard-gold);
    box-shadow:0 24px 60px rgba(15,18,22,.30),0 0 0 1px rgba(255,226,123,.18) inset;
    isolation:isolate;
    min-height:420px;
    overflow:hidden;
    position:relative;
}
.sds-tp-dashboard-premium .sds-tp-passed-card:before{background:radial-gradient(circle at 15% 50%,rgba(245,189,0,.19),transparent 34%);content:"";inset:0;pointer-events:none;position:absolute;z-index:0}
.sds-tp-dashboard-premium .sds-tp-passed-card>.sds-tp-passed-copy{max-width:50%;padding:clamp(34px,5vw,70px);position:relative;z-index:2}
.sds-tp-dashboard-premium .sds-tp-passed-eyebrow{align-items:center;background:rgba(245,189,0,.14);border:1px solid rgba(255,216,74,.55);border-radius:999px;color:#ffd84a;display:inline-flex;font-size:.72rem;gap:9px;padding:8px 13px}
.sds-tp-dashboard-premium .sds-tp-passed-card h2{color:#fff!important;font-size:clamp(2.25rem,4.2vw,4.25rem);line-height:.96;margin:.28em 0 .22em;max-width:650px;text-shadow:0 3px 8px rgba(0,0,0,.72)}
.sds-tp-dashboard-premium .sds-tp-passed-card p{color:#fff!important;font-size:clamp(.98rem,1.35vw,1.14rem);line-height:1.55;max-width:590px;text-shadow:0 2px 5px rgba(0,0,0,.78)}
.sds-tp-dashboard-premium .sds-tp-passed-card .sds-tp-button{background:linear-gradient(180deg,#ffe06a,#f5bd00);border:2px solid #fff0a6;box-shadow:0 14px 34px rgba(245,189,0,.40);font-size:.9rem;min-height:54px;padding:15px 26px;text-transform:uppercase}
.sds-tp-dashboard-premium .sds-tp-passed-card .sds-tp-button:hover,.sds-tp-dashboard-premium .sds-tp-passed-card .sds-tp-button:focus-visible{box-shadow:0 18px 42px rgba(245,189,0,.52);transform:translateY(-3px)}
.sds-tp-dashboard-premium .sds-tp-passed-card.is-preparing{filter:none}
.sds-tp-dashboard-premium .sds-tp-passed-card.is-passed{border-color:#e3b000;box-shadow:0 26px 68px rgba(214,160,0,.32)}
.sds-tp-dashboard-premium .sds-tp-support-row{justify-content:center}
.sds-tp-dashboard-premium .sds-tp-support-row:empty{display:none}

@media(max-width:1100px){
    .sds-tp-dashboard-premium .sds-tp-dashboard-hero{grid-template-columns:minmax(0,1.25fr) minmax(240px,.75fr)}
    .sds-tp-dashboard-premium .sds-tp-hero-results{grid-template-columns:repeat(3,minmax(0,1fr))}
    .sds-tp-dashboard-premium .sds-tp-hero-results>a{grid-column:1/-1;text-align:center}
    .sds-tp-dashboard-premium .sds-tp-module-grid{grid-template-columns:repeat(3,minmax(170px,1fr));row-gap:46px}
    .sds-tp-dashboard-premium .sds-tp-focus-card-priority{grid-template-columns:1fr 1fr}
    .sds-tp-dashboard-premium .sds-tp-focus-card-priority .sds-tp-button{grid-column:1/-1;justify-self:start}
}
@media(max-width:760px){
    .sds-tp-dashboard-premium .sds-tp-dashboard-main{padding-left:14px;padding-right:14px}
    .sds-tp-dashboard-premium .sds-tp-dashboard-hero{grid-template-columns:1fr;min-height:0;padding:28px 20px}
    .sds-tp-dashboard-premium .sds-tp-dashboard-hero:before{background:linear-gradient(180deg,rgba(8,10,13,.98),rgba(8,10,13,.88) 60%,rgba(8,10,13,.5))}
    .sds-tp-dashboard-premium .sds-tp-dashboard-hero .sds-tp-hero-copy{padding-right:0}
    .sds-tp-dashboard-premium .sds-tp-dashboard-hero h2{font-size:clamp(2.25rem,12vw,3.35rem)}
    .sds-tp-dashboard-premium .sds-tp-hero-context{grid-template-columns:1fr}
    .sds-tp-dashboard-premium .sds-tp-primary-course-action{max-width:none;width:100%}
    .sds-tp-dashboard-premium .sds-tp-hero-instructor{margin-top:24px}
    .sds-tp-dashboard-premium .sds-tp-hero-instructor img{height:320px;max-height:320px}
    .sds-tp-dashboard-premium .sds-tp-hero-results{grid-template-columns:1fr;margin-top:0}
    .sds-tp-dashboard-premium .sds-tp-hero-results>div+div{border-left:0;border-top:1px solid var(--sds-dashboard-line);padding-top:12px}
    .sds-tp-dashboard-premium .sds-tp-start-links{grid-template-columns:1fr}
    .sds-tp-dashboard-premium .sds-tp-module-grid{grid-template-columns:1fr;row-gap:42px}
    .sds-tp-dashboard-premium .sds-tp-module-grid article{min-height:230px}
    .sds-tp-dashboard-premium .sds-tp-focus-card-priority{grid-template-columns:1fr}
    .sds-tp-dashboard-premium .sds-tp-focus-card-priority .sds-tp-button{grid-column:auto;width:100%}
    .sds-tp-dashboard-premium .sds-tp-dashboard-row-secondary{grid-template-columns:1fr}
    .sds-tp-dashboard-premium .sds-tp-readiness-card,.sds-tp-dashboard-premium .sds-tp-study-buddy-live,.sds-tp-dashboard-premium .sds-tp-live-session{grid-column:1}
    .sds-tp-dashboard-premium .sds-tp-readiness-layout{grid-template-columns:1fr}
    .sds-tp-dashboard-premium .sds-tp-passed-card{background-image:linear-gradient(180deg,#07090c 0%,rgba(7,9,12,.98) 48%,rgba(7,9,12,.62) 64%,rgba(7,9,12,.06) 82%),var(--sds-keys-image);background-position:center,bottom center;background-size:cover,auto 54%;min-height:690px}
    .sds-tp-dashboard-premium .sds-tp-passed-card>.sds-tp-passed-copy{max-width:none;padding:30px 24px}
    .sds-tp-dashboard-premium .sds-tp-passed-card h2{font-size:clamp(2rem,10vw,3rem)}
    .sds-tp-dashboard-premium .sds-tp-passed-card .sds-tp-button{width:100%}
}
@media(max-width:420px){
    .sds-tp-dashboard-premium .sds-tp-dashboard-hero{border-radius:17px;padding:24px 17px}
    .sds-tp-dashboard-premium .sds-tp-hero-instructor img{height:280px;max-height:280px}
    .sds-tp-dashboard-premium .sds-tp-instructor-identity{max-width:100%}
    .sds-tp-dashboard-premium .sds-tp-dashboard-panel,.sds-tp-dashboard-premium .sds-tp-journey,.sds-tp-dashboard-premium .sds-tp-card{border-radius:16px;padding:18px}
}

/* v0.24.4 staging · approved light SDS Native learner dashboard
 * This final layer implements the approved white, charcoal and Simmons-gold
 * dashboard while preserving every governed course route and data contract.
 */
body.sds-tp-portal-page{background:#f5f5f2;color:#17191d}
@media(min-width:961px){
    body.sds-tp-portal-page{padding-left:244px}
    body.sds-tp-portal-page .sds-tp-learner-nav{background:#fff!important;border-right:1px solid #e2e3df;box-shadow:8px 0 26px rgba(16,20,25,.07);width:244px}
}
body.sds-tp-portal-page .sds-tp-sidebar-brand{background:#fff;border-bottom:1px solid #ecece8}
body.sds-tp-portal-page .sds-tp-sidebar-brand img{filter:none;max-height:102px}
body.sds-tp-portal-page .sds-tp-sidebar-group h2{color:#747982!important}
body.sds-tp-portal-page .sds-tp-nav-links .sds-tp-sidebar-group a{border:0;border-radius:6px;color:#1a1d22!important;margin:2px 0;min-height:45px}
body.sds-tp-portal-page .sds-tp-nav-links .sds-tp-sidebar-group a:hover,
body.sds-tp-portal-page .sds-tp-nav-links .sds-tp-sidebar-group a:focus{background:#fff5c7;border:0;color:#111!important}
body.sds-tp-portal-page .sds-tp-nav-links .sds-tp-sidebar-group a.is-active{background:linear-gradient(135deg,#ffc900,#ffdc39);border:0;box-shadow:0 8px 18px rgba(213,157,0,.18);color:#111!important}

.sds-tp-dashboard-v111.sds-tp-dashboard-premium{
    --sds-dashboard-gold:#f5bd00;
    --sds-dashboard-gold-deep:#c58e00;
    --sds-dashboard-ink:#111419;
    --sds-dashboard-muted:#596170;
    --sds-dashboard-line:#e2e3e0;
    background:#f5f5f2;
}
.sds-tp-dashboard-premium .sds-tp-dashboard-main{gap:12px;max-width:1560px;padding:14px 18px 42px}
.sds-tp-dashboard-premium .sds-tp-dashboard-hero{
    align-items:stretch;
    background-color:#fff;
    background-image:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.94) 56%,rgba(255,255,255,.18) 100%),var(--sds-dashboard-road);
    background-position:center,right center;
    background-repeat:no-repeat;
    background-size:cover,auto 100%;
    border:1px solid var(--sds-dashboard-line);
    border-radius:15px;
    box-shadow:0 8px 24px rgba(18,21,26,.07);
    grid-template-columns:minmax(0,1.65fr) minmax(300px,.62fr);
    min-height:316px;
    overflow:hidden;
    padding:20px 26px 18px 30px;
}
.sds-tp-dashboard-premium .sds-tp-dashboard-hero:before{display:none}
.sds-tp-dashboard-premium .sds-tp-dashboard-hero .sds-tp-hero-copy{align-self:center;max-width:none;padding-right:8px;z-index:2}
.sds-tp-dashboard-premium .sds-tp-dashboard-hero .sds-tp-kicker{display:none}
.sds-tp-dashboard-premium .sds-tp-dashboard-hero h2{color:#090b0e!important;font-size:clamp(2.45rem,3.8vw,4.2rem);letter-spacing:-.035em;line-height:.9;margin:0;text-transform:uppercase}
.sds-tp-dashboard-premium .sds-tp-hero-tagline{color:#dda500;display:block;font-size:clamp(1.45rem,2.3vw,2.35rem);font-weight:900;line-height:1.05;margin-top:4px}
.sds-tp-dashboard-premium .sds-tp-dashboard-hero p{color:#4f5866!important;font-size:.98rem;margin:4px 0 8px;max-width:610px}
.sds-tp-dashboard-premium .sds-tp-hero-context{gap:7px;grid-template-columns:repeat(4,minmax(0,1fr));margin:8px 0 10px;max-width:870px}
.sds-tp-dashboard-premium .sds-tp-hero-context>div{background:rgba(255,255,255,.86);border:1px solid #e1e2df;border-radius:7px;box-shadow:0 4px 12px rgba(20,23,27,.04);min-height:62px;padding:9px 10px}
.sds-tp-dashboard-premium .sds-tp-hero-context dt{color:#69707a!important;font-size:.58rem;font-weight:850;letter-spacing:.035em}
.sds-tp-dashboard-premium .sds-tp-hero-context dd{color:#15181c!important;font-size:.72rem;font-weight:850;line-height:1.15;margin-top:4px}
.sds-tp-dashboard-premium .sds-tp-hero-action-row{align-items:center;display:flex;gap:28px;max-width:870px}
.sds-tp-dashboard-premium .sds-tp-primary-course-action{background:linear-gradient(135deg,#ffc400,#f5bd00);border:0;border-radius:7px;box-shadow:0 7px 16px rgba(197,142,0,.18);color:#111!important;font-size:1rem;margin:0;min-height:52px;padding:13px 30px;text-transform:uppercase;white-space:nowrap}
.sds-tp-dashboard-premium .sds-tp-hero-progress{align-items:center;background:transparent;border:0;display:flex;flex:1;gap:12px;margin:0;max-width:none;padding:0}
.sds-tp-dashboard-premium .sds-tp-hero-progress>strong{color:#13161a;font-size:2.65rem;letter-spacing:-.06em;line-height:1}
.sds-tp-dashboard-premium .sds-tp-hero-progress>div{align-items:flex-start;display:flex;flex:1;flex-direction:column;gap:5px}
.sds-tp-dashboard-premium .sds-tp-hero-progress>div>span:first-child{color:#24282e;font-size:.66rem;font-weight:900;letter-spacing:.03em;text-transform:uppercase}
.sds-tp-dashboard-premium .sds-tp-hero-progress-track{background:#dfe1e3;border:0;height:12px;margin:0;width:100%}
.sds-tp-dashboard-premium .sds-tp-hero-progress-track i{background:linear-gradient(90deg,#ffc400,#f5bd00);box-shadow:none}
.sds-tp-dashboard-premium .sds-tp-hero-instructor{align-self:end;height:100%;justify-content:flex-end;margin:0;min-height:0;position:relative;z-index:3}
.sds-tp-dashboard-premium .sds-tp-hero-instructor img{filter:drop-shadow(-8px 13px 13px rgba(28,31,36,.18));height:270px;max-height:270px;object-fit:contain;object-position:center bottom}
.sds-tp-dashboard-premium .sds-tp-instructor-identity{background:#111419;border-radius:0;margin:-58px auto 0;max-width:228px;padding:7px 8px 8px;text-align:center;z-index:4}
.sds-tp-dashboard-premium .sds-tp-instructor-identity>span{color:#fff;font-size:.64rem;letter-spacing:.08em;text-transform:uppercase}
.sds-tp-dashboard-premium .sds-tp-instructor-identity>strong{color:#fff;font-size:.7rem}
.sds-tp-dashboard-premium .sds-tp-hero-instructor .sds-tp-welcome-play{background:#111419;border:2px solid #f5bd00;border-radius:5px;color:#f5bd00;font-size:.66rem;margin-top:5px;min-height:31px;padding:5px 10px;text-transform:uppercase;width:100%}
.sds-tp-dashboard-premium .sds-tp-hero-results,.sds-tp-dashboard-premium .sds-tp-start-links{display:none}

.sds-tp-dashboard-premium .sds-tp-dashboard-row-primary{gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}
.sds-tp-dashboard-premium .sds-tp-dashboard-row-primary>.sds-tp-journey{grid-column:1/-1}
.sds-tp-dashboard-premium .sds-tp-dashboard-row-primary>.sds-tp-quick-practice{grid-column:auto}
.sds-tp-dashboard-premium .sds-tp-journey{background:#fff;border:1px solid var(--sds-dashboard-line);border-radius:15px;box-shadow:0 6px 20px rgba(18,21,26,.05);padding:12px 20px 8px}
.sds-tp-dashboard-premium .sds-tp-progress-heading{padding:0 0 5px 14px;position:relative}
.sds-tp-dashboard-premium .sds-tp-progress-heading:before{background:#f5bd00;content:"";height:32px;left:0;position:absolute;top:1px;width:7px}
.sds-tp-dashboard-premium .sds-tp-progress-heading .sds-tp-kicker,.sds-tp-dashboard-premium .sds-tp-progress-callout,.sds-tp-dashboard-premium .sds-tp-progress-footer{display:none}
.sds-tp-dashboard-premium .sds-tp-progress-heading h2{color:#15181c!important;font-size:1.72rem;line-height:1;margin:0;text-transform:uppercase}
.sds-tp-dashboard-premium .sds-tp-progress-heading p{color:#596170;font-size:.8rem;margin:3px 0}
.sds-tp-dashboard-premium .sds-tp-golden-road{background:#3b3f44;border-radius:999px;display:block;height:21px;margin:6px 0 -1px;position:relative}
.sds-tp-dashboard-premium .sds-tp-golden-road:before{border-top:2px dashed #f5bd00;content:"";left:16px;position:absolute;right:16px;top:9px}
.sds-tp-dashboard-premium .sds-tp-road-car{font-size:2.5rem;left:34%;position:absolute;top:-31px;transform:scaleX(-1);z-index:2}
.sds-tp-dashboard-premium .sds-tp-road-finish{font-size:2.1rem;position:absolute;right:2%;top:-34px;z-index:2}
.sds-tp-dashboard-premium .sds-tp-module-grid{background:transparent;border:0;box-shadow:none;gap:8px;grid-template-columns:repeat(6,minmax(0,1fr));overflow:visible;padding:0}
.sds-tp-dashboard-premium .sds-tp-module-grid article{background:#fafafa;border:1px solid #e4e5e2;border-radius:0 0 8px 8px;min-height:138px;padding:10px 10px 8px;text-align:left}
.sds-tp-dashboard-premium .sds-tp-module-grid article:before,.sds-tp-dashboard-premium .sds-tp-module-grid article:after{display:none}
.sds-tp-dashboard-premium .sds-tp-module-grid article.is-progress{background:linear-gradient(180deg,#fff8d8,#ffefb3);border-color:#efbf28;border-radius:0 0 8px 8px}
.sds-tp-dashboard-premium .sds-tp-module-grid article>span{background:none!important;border:0!important;color:#16191e!important;font-size:.72rem;inset:auto;line-height:1;padding:0;position:static;text-align:left;width:auto}
.sds-tp-dashboard-premium .sds-tp-module-grid article>span:after{display:none!important}
.sds-tp-dashboard-premium .sds-tp-module-grid h3{color:#303641!important;font-size:.68rem;font-weight:700;line-height:1.15;margin:3px 0 6px;min-height:32px;text-shadow:none}
.sds-tp-dashboard-premium .sds-tp-module-grid p{display:none}
.sds-tp-dashboard-premium .sds-tp-module-grid article>div{background:#d7dadd;border-radius:999px;height:8px;margin:7px 0 4px;overflow:hidden}
.sds-tp-dashboard-premium .sds-tp-module-grid article>div i{background:#f5bd00;display:block;height:100%}
.sds-tp-dashboard-premium .sds-tp-module-grid article.is-completed>div i{background:#17a34a}
.sds-tp-dashboard-premium .sds-tp-module-grid article>strong{color:#171a1f!important;font-size:.85rem}
.sds-tp-dashboard-premium .sds-tp-module-grid article>small{background:#eceeef;border-radius:999px;color:#4e5662;display:block;font-size:.58rem;margin-top:5px;padding:4px;text-align:center}
.sds-tp-dashboard-premium .sds-tp-module-grid article.is-completed>small{background:#ddf6e5;color:#08732f}
.sds-tp-dashboard-premium .sds-tp-module-grid article.is-progress>small{background:#ffe89a;color:#4d3a00}

.sds-tp-dashboard-premium .sds-tp-dashboard-utility{align-items:center;background:#fff;border:1px solid var(--sds-dashboard-line);border-radius:12px;box-shadow:0 5px 16px rgba(18,21,26,.05);display:grid;gap:14px;grid-template-columns:70px 1fr;min-height:124px;padding:14px 18px}
.sds-tp-dashboard-premium .sds-tp-dashboard-utility .sds-tp-utility-icon{color:#111419;font-size:3.4rem;line-height:1;text-align:center}
.sds-tp-dashboard-premium .sds-tp-dashboard-utility h2{color:#171a1f!important;font-size:1.18rem;line-height:1;margin:0;text-transform:uppercase}
.sds-tp-dashboard-premium .sds-tp-dashboard-utility p{color:#596170!important;font-size:.73rem;line-height:1.3;margin:4px 0 8px}
.sds-tp-dashboard-premium .sds-tp-dashboard-utility .sds-tp-button{border-radius:5px;font-size:.67rem;min-height:32px;padding:7px 16px;text-transform:none}
.sds-tp-dashboard-premium .sds-tp-readiness-summary{grid-template-columns:56px 1fr 74px}
.sds-tp-dashboard-premium .sds-tp-utility-ring{align-items:center;background:conic-gradient(#f5bd00 calc(var(--sds-utility-progress) * 1%),#e1e3e4 0);border-radius:50%;color:#171a1f;display:flex;font-size:.9rem;height:68px;justify-content:center;position:relative;width:68px}
.sds-tp-dashboard-premium .sds-tp-utility-ring:before{background:#fff;border-radius:50%;content:"";inset:8px;position:absolute}
.sds-tp-dashboard-premium .sds-tp-utility-ring{isolation:isolate}.sds-tp-dashboard-premium .sds-tp-utility-ring:before{z-index:-1}
.sds-tp-dashboard-premium .sds-tp-dashboard-row-secondary{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:0}
.sds-tp-dashboard-premium .sds-tp-dashboard-row-secondary>.sds-tp-readiness-card{display:none}
.sds-tp-dashboard-premium .sds-tp-dashboard-row-secondary .sds-tp-dashboard-panel{border-radius:12px}
.sds-tp-dashboard-premium .sds-tp-focus-card-priority{border-radius:12px}

.sds-tp-dashboard-premium .sds-tp-dashboard-row-bottom{grid-template-columns:1fr;gap:12px}
.sds-tp-dashboard-premium .sds-tp-achievements-card{border-radius:12px}
.sds-tp-dashboard-premium .sds-tp-passed-card{
    background-color:#fff;
    background-image:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.98) 31%,rgba(255,255,255,.74) 48%,rgba(255,255,255,.03) 74%),var(--sds-keys-image);
    background-position:center,right center;
    background-size:cover,cover;
    border:3px solid #f5bd00;
    border-radius:12px;
    box-shadow:0 8px 25px rgba(18,21,26,.1);
    min-height:205px;
}
.sds-tp-dashboard-premium .sds-tp-passed-card:before{background:linear-gradient(90deg,rgba(255,255,255,.4),transparent 62%)}
.sds-tp-dashboard-premium .sds-tp-passed-card>.sds-tp-passed-copy{max-width:51%;padding:16px 24px}
.sds-tp-dashboard-premium .sds-tp-passed-eyebrow{background:transparent;border:0;border-radius:0;color:#b17e00;font-size:.66rem;padding:0;text-transform:uppercase}
.sds-tp-dashboard-premium .sds-tp-passed-card h2{color:#0b0d10!important;font-size:clamp(2.1rem,3.5vw,3.7rem);line-height:.88;margin:.12em 0;text-shadow:none;text-transform:uppercase}
.sds-tp-dashboard-premium .sds-tp-passed-card p{color:#242931!important;font-size:.84rem;line-height:1.35;margin:4px 0 9px;max-width:520px;text-shadow:none}
.sds-tp-dashboard-premium .sds-tp-passed-card .sds-tp-button{background:linear-gradient(135deg,#ffc400,#f5bd00);border:0;border-radius:5px;box-shadow:0 7px 18px rgba(197,142,0,.2);font-size:.73rem;min-height:39px;padding:9px 18px}
.sds-tp-dashboard-premium .sds-tp-passed-share{font-size:.69rem}
.sds-tp-dashboard-premium .sds-tp-workshop-promo,.sds-tp-dashboard-premium .sds-tp-podcast-card,.sds-tp-dashboard-premium .sds-tp-social-follow{border-radius:12px}

@media(max-width:1180px){
    .sds-tp-dashboard-premium .sds-tp-dashboard-hero{grid-template-columns:minmax(0,1.45fr) minmax(240px,.55fr)}
    .sds-tp-dashboard-premium .sds-tp-hero-context{grid-template-columns:repeat(2,minmax(0,1fr))}
    .sds-tp-dashboard-premium .sds-tp-dashboard-row-primary{grid-template-columns:1fr 1fr}
    .sds-tp-dashboard-premium .sds-tp-dashboard-row-primary>.sds-tp-journey,.sds-tp-dashboard-premium .sds-tp-instructor-summary{grid-column:1/-1}
    .sds-tp-dashboard-premium .sds-tp-module-grid{grid-template-columns:repeat(3,minmax(150px,1fr));row-gap:8px}
}
@media(max-width:760px){
    .sds-tp-dashboard-premium .sds-tp-dashboard-main{padding:10px 10px 34px}
    .sds-tp-dashboard-premium .sds-tp-dashboard-hero{background-image:linear-gradient(180deg,rgba(255,255,255,.99) 0%,rgba(255,255,255,.95) 56%,rgba(255,255,255,.14) 100%),var(--sds-dashboard-road);background-position:center,bottom center;background-size:cover,auto 48%;display:grid;grid-template-columns:1fr;min-height:0;padding:22px 17px 16px}
    .sds-tp-dashboard-premium .sds-tp-dashboard-hero h2{font-size:clamp(2.15rem,12vw,3.4rem)}
    .sds-tp-dashboard-premium .sds-tp-hero-context{grid-template-columns:1fr 1fr}
    .sds-tp-dashboard-premium .sds-tp-hero-action-row{align-items:stretch;flex-direction:column;gap:12px}
    .sds-tp-dashboard-premium .sds-tp-primary-course-action{max-width:none;width:100%}
    .sds-tp-dashboard-premium .sds-tp-hero-instructor{margin-top:10px}
    .sds-tp-dashboard-premium .sds-tp-hero-instructor img{height:300px;max-height:300px}
    .sds-tp-dashboard-premium .sds-tp-dashboard-row-primary,.sds-tp-dashboard-premium .sds-tp-dashboard-row-secondary{grid-template-columns:1fr}
    .sds-tp-dashboard-premium .sds-tp-dashboard-row-primary>.sds-tp-journey,.sds-tp-dashboard-premium .sds-tp-instructor-summary{grid-column:auto}
    .sds-tp-dashboard-premium .sds-tp-module-grid{grid-template-columns:1fr 1fr;row-gap:8px}
    .sds-tp-dashboard-premium .sds-tp-module-grid article{min-height:128px}
    .sds-tp-dashboard-premium .sds-tp-road-car{left:24%}
    .sds-tp-dashboard-premium .sds-tp-readiness-summary{grid-template-columns:50px 1fr 68px}
    .sds-tp-dashboard-premium .sds-tp-passed-card{background-image:linear-gradient(180deg,#fff 0%,rgba(255,255,255,.96) 52%,rgba(255,255,255,.16) 73%),var(--sds-keys-image);background-position:center,bottom center;background-size:cover,auto 52%;min-height:520px}
    .sds-tp-dashboard-premium .sds-tp-passed-card>.sds-tp-passed-copy{max-width:none;padding:23px 20px}
    .sds-tp-dashboard-premium .sds-tp-passed-card h2{font-size:clamp(2rem,10vw,3rem)}
}
@media(max-width:430px){
    .sds-tp-dashboard-premium .sds-tp-hero-context{grid-template-columns:1fr}
    .sds-tp-dashboard-premium .sds-tp-module-grid{grid-template-columns:1fr}
    .sds-tp-dashboard-premium .sds-tp-dashboard-utility{grid-template-columns:52px 1fr;padding:14px}
    .sds-tp-dashboard-premium .sds-tp-readiness-summary{grid-template-columns:48px 1fr}.sds-tp-dashboard-premium .sds-tp-readiness-summary .sds-tp-utility-ring{grid-column:1/-1;justify-self:center}
}

/* v0.25.0 staging · visual course map, live journey animation and video orientation library */
.sds-tp-dashboard-premium .sds-tp-golden-road{
    overflow:visible;
}
.sds-tp-dashboard-premium .sds-tp-road-car{
    animation:sdsTpCarIdle 1.8s ease-in-out infinite;
    left:calc(1% + (var(--sds-course-progress,0) * .90%));
    transform:translateX(-8%) scaleX(-1);
    transition:left 1.25s cubic-bezier(.2,.8,.25,1);
    will-change:left,transform;
}
.sds-tp-dashboard-premium .sds-tp-road-finish i{
    animation:sdsTpFlagWave 1.2s ease-in-out infinite alternate;
    display:inline-block;
    transform-origin:18% 82%;
}
@keyframes sdsTpCarIdle{
    0%,100%{margin-top:0}
    50%{margin-top:-3px}
}
@keyframes sdsTpFlagWave{
    from{transform:rotate(-4deg) skewY(-2deg)}
    to{transform:rotate(5deg) skewY(3deg)}
}
.sds-tp-dashboard-premium .sds-tp-module-grid article{
    min-height:244px;
    overflow:hidden;
    padding:0 10px 8px;
}
.sds-tp-dashboard-premium .sds-tp-module-grid article>span{
    background:#111419!important;
    border-radius:0 0 9px 0!important;
    color:#fff!important;
    left:0;
    padding:7px 9px;
    position:absolute;
    top:0;
    z-index:2;
}
.sds-tp-dashboard-premium .sds-tp-module-grid article.is-progress>span{
    background:#f5bd00!important;
    color:#111419!important;
}
.sds-tp-dashboard-premium .sds-tp-module-grid article.is-completed>span{
    background:#16823b!important;
}
.sds-tp-dashboard-premium .sds-tp-module-visual{
    aspect-ratio:16/10;
    border-radius:7px 7px 0 0;
    display:block;
    margin:0 -10px 8px;
    overflow:hidden;
    width:calc(100% + 20px);
}
.sds-tp-dashboard-premium .sds-tp-module-visual img{
    display:block;
    height:100%;
    object-fit:cover;
    transition:transform .35s ease;
    width:100%;
}
.sds-tp-dashboard-premium .sds-tp-module-grid article:hover .sds-tp-module-visual img{
    transform:scale(1.035);
}
.sds-tp-dashboard-premium .sds-tp-module-grid h3{
    font-size:.72rem;
    margin:2px 0 5px;
    min-height:48px;
}

.sds-tp-orientation-page{
    background:linear-gradient(180deg,#fff,#faf9f4);
}
.sds-tp-orientation-library{
    display:grid;
    gap:18px;
    grid-template-columns:repeat(3,minmax(0,1fr));
    margin:24px 0;
}
.sds-tp-orientation-video-card{
    background:#fff;
    border:1px solid #dedfdc;
    border-radius:16px;
    box-shadow:0 10px 26px rgba(15,18,22,.07);
    overflow:hidden;
    padding-bottom:20px;
}
.sds-tp-orientation-video-frame{
    aspect-ratio:16/9;
    background:#111419;
    overflow:hidden;
}
.sds-tp-orientation-video-frame video{
    display:block;
    height:100%;
    object-fit:cover;
    width:100%;
}
.sds-tp-orientation-video-placeholder{
    align-items:center;
    background:linear-gradient(145deg,#171a1f,#292d33);
    color:#fff;
    display:flex;
    flex-direction:column;
    height:100%;
    justify-content:center;
    padding:20px;
    text-align:center;
}
.sds-tp-orientation-video-placeholder b{
    align-items:center;
    background:#f5bd00;
    border-radius:50%;
    color:#111419;
    display:flex;
    height:48px;
    justify-content:center;
    margin-bottom:10px;
    padding-left:3px;
    width:48px;
}
.sds-tp-orientation-video-placeholder small{
    color:#d7d9dd;
    margin-top:5px;
}
.sds-tp-orientation-video-card>span{
    color:#a97600;
    display:block;
    font-size:.67rem;
    font-weight:900;
    letter-spacing:.09em;
    padding:17px 20px 0;
    text-transform:uppercase;
}
.sds-tp-orientation-video-card h2{
    color:#15181c;
    font-size:1.08rem;
    line-height:1.15;
    margin:5px 20px 8px;
}
.sds-tp-orientation-video-card p{
    color:#596170;
    font-size:.83rem;
    line-height:1.55;
    margin:0 20px;
}
.sds-tp-orientation-summary{
    background:#fff;
    border-left:7px solid #f5bd00;
    border-radius:15px;
    box-shadow:0 8px 24px rgba(15,18,22,.07);
    padding:24px;
}
@media(max-width:1000px){
    .sds-tp-orientation-library{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
    .sds-tp-dashboard-premium .sds-tp-golden-road{display:block;margin-bottom:10px}
    .sds-tp-dashboard-premium .sds-tp-module-grid article{min-height:265px}
    .sds-tp-dashboard-premium .sds-tp-module-grid h3{font-size:.86rem;min-height:0}
    .sds-tp-orientation-library{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
    .sds-tp-dashboard-premium .sds-tp-road-car,
    .sds-tp-dashboard-premium .sds-tp-road-finish i,
    .sds-tp-dashboard-premium .sds-tp-module-visual img{animation:none;transition:none}
}

/* v0.24.5 staging · dashboard visual corrections */
.sds-tp-dashboard-v111.sds-tp-dashboard-premium .sds-tp-dashboard-hero .sds-tp-hero-copy h2{
    color:#090b0e!important;
    opacity:1!important;
    text-shadow:none!important;
    -webkit-text-fill-color:#090b0e!important;
    -webkit-text-stroke:0 transparent!important;
}
.sds-tp-dashboard-premium .sds-tp-dashboard-row-primary>.sds-tp-journey{grid-column:1/-1;order:1}
.sds-tp-dashboard-premium .sds-tp-dashboard-row-primary>.sds-tp-quick-practice{grid-column:auto;order:2}
.sds-tp-dashboard-premium .sds-tp-dashboard-row-primary>.sds-tp-instructor-summary{grid-column:auto;order:3}
.sds-tp-dashboard-premium .sds-tp-dashboard-row-primary>.sds-tp-readiness-summary{grid-column:auto;order:4}
.sds-tp-dashboard-premium .sds-tp-road-finish{align-items:flex-end;display:flex;gap:2px;right:1%;top:-40px}
.sds-tp-dashboard-premium .sds-tp-road-finish i,.sds-tp-dashboard-premium .sds-tp-road-finish b{font-style:normal;line-height:1}
.sds-tp-dashboard-premium .sds-tp-road-finish i{font-size:2.25rem}
.sds-tp-dashboard-premium .sds-tp-road-finish b{font-size:2rem}
.sds-tp-dashboard-premium .sds-tp-passed-card{
    background:#fff!important;
    isolation:isolate;
}
.sds-tp-dashboard-premium .sds-tp-passed-card>.sds-tp-passed-visual{
    inset:0;
    overflow:hidden;
    position:absolute;
    z-index:0;
}
.sds-tp-dashboard-premium .sds-tp-passed-card>.sds-tp-passed-visual img{
    display:block;
    height:100%;
    object-fit:cover;
    object-position:center 48%;
    width:100%;
}
.sds-tp-dashboard-premium .sds-tp-passed-card:before{
    background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.99) 30%,rgba(255,255,255,.78) 48%,rgba(255,255,255,.12) 73%,rgba(255,255,255,0) 100%)!important;
    display:block;
    inset:0;
    position:absolute;
    z-index:1;
}
.sds-tp-dashboard-premium .sds-tp-passed-card>.sds-tp-passed-copy{position:relative;z-index:2}
@media(max-width:1280px) and (min-width:761px){
    .sds-tp-dashboard-premium .sds-tp-dashboard-row-primary{grid-template-columns:repeat(2,minmax(0,1fr))}
    .sds-tp-dashboard-premium .sds-tp-dashboard-row-primary>.sds-tp-quick-practice{grid-column:1;order:2}
    .sds-tp-dashboard-premium .sds-tp-dashboard-row-primary>.sds-tp-instructor-summary{grid-column:2;order:3}
    .sds-tp-dashboard-premium .sds-tp-dashboard-row-primary>.sds-tp-readiness-summary{grid-column:1/-1;order:4}
}
@media(max-width:760px){
    .sds-tp-dashboard-premium .sds-tp-dashboard-row-primary>.sds-tp-journey,
    .sds-tp-dashboard-premium .sds-tp-dashboard-row-primary>.sds-tp-quick-practice,
    .sds-tp-dashboard-premium .sds-tp-dashboard-row-primary>.sds-tp-instructor-summary,
    .sds-tp-dashboard-premium .sds-tp-dashboard-row-primary>.sds-tp-readiness-summary{grid-column:1}
    .sds-tp-dashboard-premium .sds-tp-passed-card:before{background:linear-gradient(180deg,#fff 0%,rgba(255,255,255,.98) 44%,rgba(255,255,255,.40) 66%,rgba(255,255,255,.04) 82%)!important}
    .sds-tp-dashboard-premium .sds-tp-passed-card>.sds-tp-passed-visual img{object-position:center bottom}
}

/* v0.24.6 staging · approved milestone CTA fidelity */
.sds-tp-dashboard-v111.sds-tp-dashboard-premium .sds-tp-passed-card{
    background:#fff!important;
    min-height:290px!important;
    overflow:hidden!important;
}
.sds-tp-dashboard-v111.sds-tp-dashboard-premium .sds-tp-passed-card>.sds-tp-passed-visual{
    bottom:0!important;
    left:37%!important;
    right:0!important;
    top:0!important;
    z-index:0!important;
}
.sds-tp-dashboard-v111.sds-tp-dashboard-premium .sds-tp-passed-card>.sds-tp-passed-visual img{
    display:block!important;
    filter:none!important;
    height:100%!important;
    margin:0!important;
    max-height:none!important;
    max-width:none!important;
    object-fit:cover!important;
    object-position:center 48%!important;
    opacity:1!important;
    transform:scale(1.035);
    width:100%!important;
}
.sds-tp-dashboard-v111.sds-tp-dashboard-premium .sds-tp-passed-card:before{
    background:linear-gradient(90deg,#fff 0%,#fff 29%,rgba(255,255,255,.96) 37%,rgba(255,255,255,.58) 46%,rgba(255,255,255,.08) 59%,rgba(255,255,255,0) 70%)!important;
    z-index:1!important;
}
.sds-tp-dashboard-v111.sds-tp-dashboard-premium .sds-tp-passed-card>.sds-tp-passed-copy{
    max-width:46%!important;
    padding:25px 32px!important;
    z-index:2!important;
}
.sds-tp-dashboard-v111.sds-tp-dashboard-premium .sds-tp-passed-card h2{
    font-size:clamp(2.4rem,3.7vw,4.15rem)!important;
    letter-spacing:-.04em;
    line-height:.88!important;
}
.sds-tp-dashboard-premium .sds-tp-milestone-proofs{
    align-items:center;
    display:flex;
    flex-wrap:wrap;
    gap:8px 18px;
    list-style:none;
    margin:15px 0 0;
    padding:0;
}
.sds-tp-dashboard-premium .sds-tp-milestone-proofs li{
    align-items:center;
    color:#343a43;
    display:flex;
    font-size:.64rem;
    font-weight:800;
    gap:6px;
    line-height:1.15;
}
.sds-tp-dashboard-premium .sds-tp-milestone-proofs b{color:#e5aa00;font-size:1.15rem}
@media(max-width:960px) and (min-width:761px){
    .sds-tp-dashboard-v111.sds-tp-dashboard-premium .sds-tp-passed-card>.sds-tp-passed-visual{left:43%!important}
    .sds-tp-dashboard-v111.sds-tp-dashboard-premium .sds-tp-passed-card>.sds-tp-passed-copy{max-width:53%!important;padding:24px!important}
}
@media(max-width:760px){
    .sds-tp-dashboard-v111.sds-tp-dashboard-premium .sds-tp-passed-card{min-height:650px!important}
    .sds-tp-dashboard-v111.sds-tp-dashboard-premium .sds-tp-passed-card>.sds-tp-passed-visual{bottom:0!important;height:54%!important;left:0!important;right:0!important;top:auto!important}
    .sds-tp-dashboard-v111.sds-tp-dashboard-premium .sds-tp-passed-card>.sds-tp-passed-visual img{object-position:center center!important;transform:scale(1.02)}
    .sds-tp-dashboard-v111.sds-tp-dashboard-premium .sds-tp-passed-card:before{background:linear-gradient(180deg,#fff 0%,#fff 40%,rgba(255,255,255,.96) 48%,rgba(255,255,255,.40) 60%,rgba(255,255,255,.03) 78%)!important}
    .sds-tp-dashboard-v111.sds-tp-dashboard-premium .sds-tp-passed-card>.sds-tp-passed-copy{max-width:none!important;padding:25px 20px!important}
    .sds-tp-dashboard-premium .sds-tp-milestone-proofs{gap:7px 12px}
}

/* v0.24.7 staging · accessible language selector on the light native sidebar */
body.sds-tp-portal-page .sds-tp-sidebar-footer{
    border-top:1px solid #cfd3d8;
    padding-top:14px;
}
body.sds-tp-portal-page .sds-tp-sidebar-languages{
    background:#f5f6f4;
    border:1px solid #d9dcdf;
    border-radius:10px;
    display:grid;
    gap:7px;
    grid-template-columns:repeat(2,minmax(0,1fr));
    justify-content:stretch;
    margin:0 0 10px;
    padding:10px;
}
body.sds-tp-portal-page .sds-tp-sidebar-language-title{
    color:#171a1f!important;
    display:block;
    font-size:.69rem;
    font-weight:900;
    grid-column:1/-1;
    letter-spacing:.11em;
    line-height:1.2;
    margin:0 0 2px;
    opacity:1!important;
    text-align:left;
    text-transform:uppercase;
}
body.sds-tp-portal-page .sds-tp-sidebar-languages a,
body.sds-tp-portal-page .sds-tp-sidebar-languages a:visited{
    align-items:center;
    background:#fff;
    border:1px solid #b8bec5!important;
    border-radius:7px;
    color:#20242a!important;
    display:flex;
    font-size:.68rem;
    font-weight:800;
    justify-content:center;
    line-height:1.25;
    min-height:38px;
    opacity:1!important;
    padding:7px 6px!important;
    text-align:center;
    text-decoration:none;
}
body.sds-tp-portal-page .sds-tp-sidebar-languages a.is-active,
body.sds-tp-portal-page .sds-tp-sidebar-languages a.is-active:visited{
    background:#f5bd00;
    border-color:#c79300!important;
    box-shadow:0 3px 10px rgba(197,147,0,.18);
    color:#0b0d10!important;
}
body.sds-tp-portal-page .sds-tp-sidebar-languages a.is-review-pending,
body.sds-tp-portal-page .sds-tp-sidebar-languages a.is-review-pending:visited{
    background:#eef0f2;
    border:1px dashed #7c838c!important;
    color:#343a43!important;
    grid-column:1/-1;
    min-height:42px;
}
body.sds-tp-portal-page .sds-tp-sidebar-languages a:hover{
    border-color:#8a6700!important;
    box-shadow:0 0 0 2px rgba(245,189,0,.22);
}
body.sds-tp-portal-page .sds-tp-sidebar-languages a:focus-visible,
body.sds-tp-portal-page .sds-tp-sidebar-footer>a:focus-visible{
    outline:3px solid #111419;
    outline-offset:2px;
}
body.sds-tp-portal-page .sds-tp-sidebar-footer>a,
body.sds-tp-portal-page .sds-tp-sidebar-footer>a:visited{
    align-items:center;
    border:1px solid #c9cdd1;
    color:#171a1f!important;
    font-weight:800;
    margin-top:7px;
    opacity:1!important;
}
body.sds-tp-portal-page .sds-tp-sidebar-footer>a.sds-tp-nav-help{
    background:#fff8d8;
    border-color:#e3bd43;
}
body.sds-tp-portal-page .sds-tp-sidebar-footer>a.sds-tp-nav-logout,
body.sds-tp-portal-page .sds-tp-sidebar-footer>a.sds-tp-nav-logout:visited{
    background:#171a1f;
    border-color:#171a1f;
    color:#fff!important;
}
@media(max-width:430px){
    body.sds-tp-portal-page .sds-tp-sidebar-languages{grid-template-columns:1fr}
    body.sds-tp-portal-page .sds-tp-sidebar-language-title,
    body.sds-tp-portal-page .sds-tp-sidebar-languages a.is-review-pending{grid-column:1}
}

/* v0.24.8 staging · compact lesson resource bar */
body.sds-tp-portal-page .sds-tp-lesson-actions.sds-tp-lesson-resource-bar{
    align-items:center;
    background:#fff;
    border:1px solid #d9dcdf;
    border-top:4px solid #f5bd00;
    border-left:1px solid #d9dcdf;
    border-radius:12px;
    box-shadow:0 6px 18px rgba(18,21,26,.06);
    display:grid;
    gap:16px;
    grid-template-columns:minmax(220px,.72fr) minmax(0,1.28fr);
    margin:32px 0 8px;
    padding:16px 18px;
}
body.sds-tp-portal-page .sds-tp-lesson-resource-label{
    align-items:center;
    display:flex;
    gap:12px;
}
body.sds-tp-portal-page .sds-tp-lesson-resource-label>span{
    align-items:center;
    background:#fff2bd;
    border-radius:10px;
    color:#171a1f;
    display:flex;
    flex:0 0 44px;
    font-size:1.5rem;
    height:44px;
    justify-content:center;
}
body.sds-tp-portal-page .sds-tp-lesson-resource-label small{
    color:#7a5b00;
    display:block;
    font-size:.62rem;
    font-weight:900;
    letter-spacing:.09em;
    text-transform:uppercase;
}
body.sds-tp-portal-page .sds-tp-lesson-actions.sds-tp-lesson-resource-bar h2{
    font-size:1rem!important;
    line-height:1.15;
    margin:3px 0 0;
}
body.sds-tp-portal-page .sds-tp-lesson-actions.sds-tp-lesson-resource-bar nav{
    display:grid;
    gap:8px;
    grid-template-columns:repeat(3,minmax(0,1fr));
}
body.sds-tp-portal-page .sds-tp-lesson-actions.sds-tp-lesson-resource-bar .sds-tp-button{
    gap:7px;
    margin:0;
    min-height:42px;
    padding:9px 11px;
    text-align:center;
}
@media(max-width:920px){
    body.sds-tp-portal-page .sds-tp-lesson-actions.sds-tp-lesson-resource-bar{grid-template-columns:1fr}
}
@media(max-width:680px){
    body.sds-tp-portal-page .sds-tp-lesson-actions.sds-tp-lesson-resource-bar nav{grid-template-columns:1fr}
}

/* v0.24.9 staging · mobile course menu and protected portal containment */
body.sds-tp-no-theme-header header.site-header,
body.sds-tp-no-theme-header #masthead,
body.sds-tp-no-theme-header #site-header,
body.sds-tp-no-theme-header .sds-site-header,
body.sds-tp-no-theme-header .sds-native-header,
body.sds-tp-no-theme-header .elementor-location-header,
body.sds-tp-no-theme-header .wp-site-blocks > header{
    display:none!important;
}
.sds-tp-mobile-menu-toggle,
.sds-tp-mobile-menu-close,
.sds-tp-mobile-menu-backdrop{
    display:none;
}
@media(max-width:960px){
    body.sds-tp-portal-page{
        padding-left:0!important;
        padding-bottom:82px!important;
    }
    body.sds-tp-mobile-menu-open{
        overflow:hidden!important;
    }
    body.sds-tp-portal-page .sds-tp-mobile-menu-toggle{
        align-items:center;
        background:linear-gradient(135deg,#ffc900,#f5bd00);
        border:2px solid #111419;
        border-radius:13px;
        bottom:12px;
        box-shadow:0 9px 28px rgba(17,20,25,.28);
        color:#111419;
        cursor:pointer;
        display:flex;
        gap:10px;
        justify-content:flex-start;
        left:12px;
        min-height:58px;
        padding:8px 18px;
        position:fixed;
        text-align:left;
        width:min(252px,calc(100vw - 24px));
        z-index:100002;
    }
    body.sds-tp-portal-page .sds-tp-mobile-menu-toggle .sds-tp-mobile-menu-icon{
        font-size:1.45rem;
        line-height:1;
    }
    body.sds-tp-portal-page .sds-tp-mobile-menu-toggle strong,
    body.sds-tp-portal-page .sds-tp-mobile-menu-toggle small{
        display:block;
        line-height:1.05;
    }
    body.sds-tp-portal-page .sds-tp-mobile-menu-toggle strong{
        font-size:.9rem;
        font-weight:900;
        letter-spacing:.02em;
    }
    body.sds-tp-portal-page .sds-tp-mobile-menu-toggle small{
        font-size:.68rem;
        margin-top:3px;
    }
    body.sds-tp-portal-page .sds-tp-mobile-menu-backdrop{
        background:rgba(10,12,15,.58);
        bottom:0;
        display:block;
        left:0;
        opacity:0;
        pointer-events:none;
        position:fixed;
        right:0;
        top:0;
        transition:opacity .2s ease;
        z-index:100003;
    }
    body.sds-tp-mobile-menu-open .sds-tp-mobile-menu-backdrop{
        opacity:1;
        pointer-events:auto;
    }
    body.sds-tp-portal-page .sds-tp-learner-nav{
        background:#fff!important;
        border:0!important;
        border-radius:0 18px 18px 0!important;
        bottom:0!important;
        box-shadow:18px 0 48px rgba(10,12,15,.26)!important;
        display:block!important;
        height:auto!important;
        left:0!important;
        max-height:none!important;
        max-width:360px!important;
        min-height:100vh!important;
        overflow-x:hidden!important;
        overflow-y:auto!important;
        padding:18px 16px 30px!important;
        position:fixed!important;
        right:auto!important;
        top:0!important;
        transform:translateX(-110%);
        transition:transform .24s ease;
        width:88vw!important;
        z-index:100004!important;
    }
    body.admin-bar.sds-tp-portal-page .sds-tp-learner-nav{
        min-height:calc(100vh - 46px)!important;
        top:46px!important;
    }
    body.sds-tp-portal-page .sds-tp-learner-nav.is-mobile-open{
        transform:translateX(0);
    }
    body.sds-tp-portal-page .sds-tp-mobile-menu-close{
        align-items:center;
        background:#111419;
        border:2px solid #111419;
        border-radius:50%;
        color:#fff;
        cursor:pointer;
        display:flex;
        font-size:1.5rem;
        font-weight:700;
        height:42px;
        justify-content:center;
        line-height:1;
        padding:0 0 3px;
        position:absolute;
        right:12px;
        top:12px;
        width:42px;
        z-index:2;
    }
    body.sds-tp-portal-page .sds-tp-sidebar-brand{
        display:flex!important;
        justify-content:flex-start;
        padding-right:48px;
    }
    body.sds-tp-portal-page .sds-tp-sidebar-portal-label,
    body.sds-tp-portal-page .sds-tp-sidebar-group h2{
        display:block!important;
    }
    body.sds-tp-portal-page .sds-tp-sidebar-profile{
        display:flex!important;
    }
    body.sds-tp-portal-page .sds-tp-sidebar-booking{
        display:flex!important;
    }
    body.sds-tp-portal-page .sds-tp-sidebar-footer{
        display:block!important;
    }
    body.sds-tp-portal-page .sds-tp-nav-links{
        display:block!important;
        margin:0!important;
        overflow:visible!important;
        width:100%!important;
    }
    body.sds-tp-portal-page .sds-tp-nav-links .sds-tp-sidebar-group{
        display:block!important;
        margin-bottom:14px;
    }
    body.sds-tp-portal-page .sds-tp-nav-links .sds-tp-sidebar-group a,
    body.sds-tp-portal-page .sds-tp-nav-links .sds-tp-sidebar-group a:visited,
    body.sds-tp-portal-page .sds-tp-nav-links .sds-tp-sidebar-group a:nth-child(n+5){
        align-items:center;
        display:flex!important;
        flex-direction:row!important;
        font-size:.82rem!important;
        gap:10px!important;
        justify-content:flex-start!important;
        min-height:44px!important;
        padding:9px 11px!important;
        text-align:left!important;
        white-space:normal!important;
        width:100%!important;
    }
    body.sds-tp-portal-page .sds-tp-nav-links .sds-tp-sidebar-group a>span{
        flex:0 0 22px;
        font-size:1rem;
        text-align:center;
    }
    body.sds-tp-portal-page .sds-tp-sidebar-languages{
        display:grid!important;
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    body.sds-tp-portal-page .sds-tp-sidebar-language-title{
        color:#171a1f!important;
        display:block!important;
        opacity:1!important;
    }
}
@media(max-width:430px){
    body.sds-tp-portal-page .sds-tp-sidebar-languages{
        grid-template-columns:1fr;
    }
}

/* Guided Theory Prep session record and student assignments. */
.sds-tp-session-record label { display:block; margin:1rem 0; color:#17212d; font-weight:650; }
.sds-tp-session-record textarea,.sds-tp-session-record input,.sds-tp-session-record select { display:block; width:100%; max-width:100%; box-sizing:border-box; margin-top:.4rem; padding:.7rem; border:1px solid #8d9aa8; border-radius:8px; background:#fff; color:#17212d; }
.sds-tp-revision-panel { overflow-wrap:anywhere; }
.sds-tp-revision-panel .sds-tp-revision-item { padding:1rem 0; border-top:1px solid #d8dce1; }
.sds-tp-revision-panel dt { font-weight:700; margin-top:.7rem; }
.sds-tp-revision-panel dd { margin:.2rem 0 .5rem; white-space:normal; }
.sds-tp-session-context p { line-height:1.6; }
@media (max-width:700px) { .sds-tp-session-record,.sds-tp-session-context,.sds-tp-revision-panel { width:100%; min-width:0; box-sizing:border-box; } }

/* v0.26.5: keep the guided session title legible over its dark hero. */
.sds-tp-session-workspace .sds-tp-facilitator-hero h1 {
    color:#fff !important;
    -webkit-text-fill-color:#fff !important;
    opacity:1 !important;
    text-shadow:none !important;
    -webkit-text-stroke:0 transparent !important;
}

/* v0.26.6: scoped guided instructor review and learner return links. */
.sds-tp-guided-schedule .sds-tp-instructor-feed ol{list-style:none;margin:0;padding:0;max-height:34rem;overflow:auto}
.sds-tp-guided-schedule .sds-tp-instructor-feed li{padding:.8rem 0;border-top:1px solid #d8dce0;overflow-wrap:anywhere}
.sds-tp-revision-links{display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin:1rem 0}
.sds-tp-revision-links a{display:inline-flex;min-height:2.75rem;align-items:center;text-decoration:underline;overflow-wrap:anywhere}
.sds-tp-revision-panel .sds-tp-revision-links a,
.sds-tp-guided-schedule .sds-tp-revision-links a{color:#142338!important;background:#fff8d7;border:2px solid #725700;border-radius:.55rem;padding:.55rem .8rem;font-weight:800;line-height:1.4;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}
.sds-tp-revision-panel .sds-tp-revision-links a:hover,
.sds-tp-revision-panel .sds-tp-revision-links a:focus-visible,
.sds-tp-guided-schedule .sds-tp-revision-links a:hover,
.sds-tp-guided-schedule .sds-tp-revision-links a:focus-visible{color:#fff!important;background:#142338;outline:3px solid #e7b900;outline-offset:2px}
.sds-tp-guided-return{display:inline-block;margin-left:.7rem;color:#142338!important;background:#fff8d7;border:2px solid #725700;border-radius:.4rem;padding:.35rem .6rem;font-weight:800}
@media(max-width:600px){.sds-tp-revision-links{flex-direction:column}.sds-tp-revision-links a{width:100%;box-sizing:border-box}.sds-tp-guided-return{margin:.6rem 0 0}.sds-tp-guided-schedule .sds-tp-instructor-feed{max-width:100%;overflow:hidden}}
