.sds-tp-learning-lab {
    --sds-yellow: #ffc400;
    --sds-black: #111;
    --sds-grey: #666;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 18px;
    box-shadow: 0 16px 50px rgba(0, 0, 0, .08);
    color: var(--sds-black);
    margin: 34px auto;
    max-width: 1040px;
    overflow: hidden;
}

.sds-tp-lab-step { background:#fff; border:1px solid #dedede; border-radius:14px; margin:14px 0; overflow:hidden; }
.sds-tp-lab-step summary { align-items:center; cursor:pointer; display:flex; justify-content:space-between; padding:17px 19px; }
.sds-tp-lab-step summary span { color:#666; font-size:.78rem; }
.sds-tp-lab-step[open] summary { background:#111; color:#fff; }
.sds-tp-lab-step[open] summary span { color:#f5c400; }
.sds-tp-lab-step__body { padding:8px 18px 18px; }

.sds-tp-learning-lab__header {
    align-items: flex-start;
    background: var(--sds-black);
    color: #fff;
    display: flex;
    gap: 24px;
    justify-content: space-between;
    padding: 30px;
}

.sds-tp-learning-lab__header h2 {
    color: #fff;
    font-size: clamp(26px, 4vw, 40px);
    margin: 5px 0 10px;
}

.sds-tp-learning-lab__header p {
    color: #eee;
    margin: 0;
    max-width: 720px;
}

.sds-tp-learning-lab__status {
    background: var(--sds-yellow);
    border-radius: 12px;
    color: #000;
    flex: 0 0 155px;
    padding: 14px;
    text-align: center;
}

.sds-tp-learning-lab__status span,
.sds-tp-learning-lab__status strong {
    display: block;
}

.sds-tp-learning-lab__notice {
    background: #fff7d6;
    border-left: 7px solid var(--sds-yellow);
    font-weight: 700;
    margin: 22px 28px;
    padding: 14px 16px;
}

.sds-tp-learning-lab form {
    padding: 0 28px 30px;
}

.sds-tp-lab-instruction {
    background: #f4f4f4;
    border-radius: 10px;
    font-weight: 700;
    margin: 15px 0;
    padding: 15px;
}

.sds-tp-lab-activity {
    border: 0;
    border-top: 1px solid #ddd;
    margin: 0;
    padding: 24px 0;
}

.sds-tp-lab-activity legend {
    display: flex;
    font-size: 17px;
    font-weight: 800;
    gap: 10px;
    line-height: 1.4;
    padding: 0;
    width: 100%;
}

.sds-tp-lab-activity legend span {
    align-items: center;
    background: var(--sds-yellow);
    border-radius: 50%;
    display: inline-flex;
    flex: 0 0 30px;
    height: 30px;
    justify-content: center;
}

.sds-tp-lab-activity input[type="text"],
.sds-tp-lab-activity textarea {
    border: 1px solid #aaa;
    border-radius: 9px;
    font: inherit;
    margin-top: 13px;
    padding: 13px;
    width: 100%;
}

.sds-tp-lab-options {
    display: grid;
    gap: 9px;
    margin-top: 13px;
}

.sds-tp-lab-options label,
.sds-tp-lab-consents label {
    align-items: flex-start;
    background: #f6f6f6;
    border-radius: 8px;
    display: flex;
    gap: 9px;
    padding: 12px;
}

.sds-tp-lab-consents {
    display: grid;
    gap: 10px;
    margin: 20px 0;
}

.sds-tp-lab-actions {
    align-items: flex-start;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.sds-tp-lab-completion {
    display: inline-flex;
    flex-direction: column;
    gap: 5px;
}

.sds-tp-lab-completion small {
    color: #53606a;
    font-size: 12px;
    max-width: 230px;
}

.sds-tp-lab-completion.is-completed small {
    color: #17643a;
}

.sds-tp-lab-message {
    font-weight: 800;
    margin-top: 14px;
    min-height: 24px;
}

.sds-tp-lab-message.is-error {
    color: #a51d1d;
}

.sds-tp-learning-lab button:disabled {
    cursor: not-allowed;
    opacity: .55;
}

.sds-tp-lab-support-required {
    background: #fff4cf;
    border-left: 4px solid #f5bd00;
    font-weight: 700;
    margin: 0;
    padding: 10px 12px;
}

.sds-tp-learning-lab.is-saving {
    opacity: .74;
    pointer-events: none;
}

.sds-tp-lab-feedback {
    background: #fff7d6;
    border-left: 7px solid var(--sds-yellow);
    margin: 0 28px 28px;
    padding: 18px;
}

.sds-tp-learning-lab > footer {
    background: #f2f2f2;
    color: var(--sds-grey);
    font-size: 12px;
    padding: 13px 28px;
}

.sds-tp-lab-records {
    margin: 30px auto;
    max-width: 1040px;
}

.sds-tp-lab-records article {
    align-items: center;
    background: #fff;
    border: 1px solid #ddd;
    border-left: 7px solid var(--sds-yellow);
    border-radius: 10px;
    display: flex;
    gap: 20px;
    justify-content: space-between;
    margin: 12px 0;
    padding: 18px;
}

.sds-tp-lab-records h3 {
    margin: 3px 0;
}

@media (max-width: 720px) {
    .sds-tp-learning-lab__header,
    .sds-tp-lab-records article {
        display: block;
    }

    .sds-tp-learning-lab__status {
        margin-top: 18px;
    }

    .sds-tp-learning-lab form,
    .sds-tp-learning-lab__header {
        padding: 20px;
    }

    .sds-tp-learning-lab__notice,
    .sds-tp-lab-feedback {
        margin-left: 20px;
        margin-right: 20px;
    }
}

/* v0.20.0 guided, one-question-at-a-time Knowledge Check */
.sds-tp-lab-activity[hidden],.sds-tp-lab-review[hidden],.sds-tp-lab-answer-review[hidden]{display:none!important}.sds-tp-lab-guide{align-items:center;background:#f4f4f1;border-radius:12px;display:flex;justify-content:space-between;margin:18px 0;padding:14px}.sds-tp-lab-guide>div{display:flex;gap:8px}.sds-tp-lab-review{background:#fff8d8;border-left:5px solid #f5bd00;border-radius:10px;margin:18px 0;padding:20px}.sds-tp-lab-review ol{padding-left:22px}.sds-tp-lab-review li button{background:#fff;border:1px solid #ddd;border-radius:8px;cursor:pointer;display:block;margin:8px 0;padding:12px;text-align:left;width:100%}.sds-tp-lab-review li strong,.sds-tp-lab-review li span{display:block}.sds-tp-lab-review li span{color:#555;font-size:.78rem;margin-top:4px}.sds-tp-lab-answer-review{margin-top:22px}.sds-tp-lab-answer-review article{border-left:5px solid #2f984c;margin:12px 0;padding:12px 16px}.sds-tp-lab-answer-review article.is-incorrect{background:#fff7e6;border-left-color:#e09800}.sds-tp-lab-answer-review h4{margin:0 0 8px}.sds-tp-lab-answer-review p{margin:5px 0}.sds-tp-lab-activity legend{align-items:flex-start;display:flex;gap:12px}.sds-tp-lab-activity legend>span{flex:0 0 auto}
@media(max-width:620px){.sds-tp-lab-guide{align-items:stretch;flex-direction:column}.sds-tp-lab-guide>div{display:grid;grid-template-columns:1fr 1fr}.sds-tp-lab-guide .sds-tp-button{margin:0;text-align:center}}

/* SDS-LAB-UI-01: high-specificity protection from theme/Elementor form rules. */
.sds-tp-learning-lab[data-sds-learning-lab]{display:block!important;width:min(100%,1040px)!important;max-width:1040px!important}
.sds-tp-learning-lab[data-sds-learning-lab] form[data-sds-lab-form]{display:block!important;width:100%!important}
.sds-tp-learning-lab[data-sds-learning-lab] fieldset.sds-tp-lab-activity{background:#fff!important;border:0!important;border-top:1px solid #dedede!important;float:none!important;min-width:0!important;width:100%!important}
.sds-tp-learning-lab[data-sds-learning-lab] fieldset.sds-tp-lab-activity>legend{align-items:flex-start!important;background:transparent!important;color:#111!important;display:flex!important;float:none!important;font:800 17px/1.45 Arial,sans-serif!important;max-width:100%!important;padding:0!important;white-space:normal!important;width:100%!important}
.sds-tp-learning-lab[data-sds-learning-lab] .sds-tp-lab-options{display:flex!important;flex-direction:column!important;gap:10px!important;width:100%!important}
.sds-tp-learning-lab[data-sds-learning-lab] .sds-tp-lab-options>label{align-items:flex-start!important;background:#f6f6f6!important;border:1px solid #dedede!important;border-radius:10px!important;color:#111!important;cursor:pointer!important;display:flex!important;float:none!important;font:500 15px/1.45 Arial,sans-serif!important;gap:12px!important;margin:0!important;max-width:none!important;padding:14px 16px!important;text-align:left!important;white-space:normal!important;width:100%!important}
.sds-tp-learning-lab[data-sds-learning-lab] .sds-tp-lab-options input[type="radio"]{accent-color:#f5c400!important;appearance:auto!important;display:block!important;flex:0 0 18px!important;height:18px!important;margin:2px 0 0!important;min-height:18px!important;opacity:1!important;position:static!important;transform:none!important;width:18px!important}
.sds-tp-learning-lab[data-sds-learning-lab] .sds-tp-lab-actions{align-items:stretch!important;display:flex!important;flex-wrap:wrap!important;gap:12px!important;width:100%!important}
.sds-tp-learning-lab[data-sds-learning-lab] .sds-tp-lab-actions>.sds-tp-button{align-items:center!important;display:inline-flex!important;float:none!important;justify-content:center!important;margin:0!important;min-height:48px!important;white-space:normal!important}
.sds-tp-learning-lab[data-sds-learning-lab] .sds-tp-lab-completion{background:#edf8f1!important;border:1px solid #a7d8b8!important;border-radius:12px!important;display:flex!important;flex:1 1 100%!important;margin-top:4px!important;padding:12px 14px!important;width:100%!important}
.sds-tp-learning-lab[data-sds-learning-lab] .sds-tp-lab-completion small{display:block!important;max-width:none!important;padding:3px 2px!important;width:100%!important}
.sds-tp-learning-lab[data-sds-learning-lab].is-locked fieldset.sds-tp-lab-activity{display:none!important}
.sds-tp-learning-lab[data-sds-learning-lab].is-locked .sds-tp-learning-lab__notice{display:none!important}
.sds-tp-learning-lab[data-sds-learning-lab] .sds-tp-lab-answer-review{background:#fafafa!important;border:1px solid #dedede!important;border-radius:14px!important;padding:18px!important}
.sds-tp-learning-lab[data-sds-learning-lab] .sds-tp-lab-answer-review article{background:#fff!important;border-radius:10px!important;color:#111!important}
@media(max-width:620px){.sds-tp-learning-lab[data-sds-learning-lab]{border-radius:13px!important;margin:20px 0!important}.sds-tp-learning-lab[data-sds-learning-lab] .sds-tp-lab-actions>.sds-tp-button,.sds-tp-learning-lab[data-sds-learning-lab] .sds-tp-lab-actions>a.sds-tp-button{flex:1 1 100%!important;width:100%!important}.sds-tp-learning-lab[data-sds-learning-lab] .sds-tp-lab-guide>div{display:flex!important;flex-wrap:wrap!important}.sds-tp-learning-lab[data-sds-learning-lab] .sds-tp-lab-guide .sds-tp-button{flex:1 1 44%!important;min-height:48px!important}}

/* v0.24.8 staging · dedicated light-native Learning Lab workspace */
body.sds-tp-portal-page .sds-tp-focused-lab-page{
    background:#f5f5f2;
    margin:0 auto;
    max-width:1240px;
    min-height:70vh;
    padding:clamp(16px,3vw,38px)!important;
}
body.sds-tp-portal-page .sds-tp-focused-lab-tools{
    align-items:center;
    display:flex;
    gap:10px;
    justify-content:space-between;
    margin:0 auto 14px;
    max-width:1040px;
}
body.sds-tp-portal-page .sds-tp-focused-lab-tools a,
body.sds-tp-portal-page .sds-tp-focused-lab-tools a:visited{
    color:#20242a!important;
    font-size:.76rem;
    font-weight:850;
    text-decoration:none;
}
body.sds-tp-portal-page .sds-tp-focused-lab-tools a:hover{text-decoration:underline;text-underline-offset:4px}
body.sds-tp-portal-page .sds-tp-learning-lab[data-sds-learning-lab]{
    background:#fff!important;
    border:1px solid #d8dadd!important;
    border-radius:18px!important;
    box-shadow:0 14px 40px rgba(20,23,28,.08)!important;
    margin:0 auto!important;
    max-width:1040px!important;
    overflow:hidden!important;
}
body.sds-tp-portal-page .sds-tp-learning-lab__header{
    align-items:center!important;
    background:linear-gradient(120deg,#fff 0%,#fff9df 100%)!important;
    border-top:7px solid #f5bd00!important;
    color:#171a1f!important;
    display:grid!important;
    gap:22px!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    padding:clamp(22px,4vw,38px)!important;
}
body.sds-tp-portal-page .sds-tp-learning-lab__header .sds-tp-kicker{
    color:#8a6500!important;
    font-size:.68rem!important;
    font-weight:950!important;
    letter-spacing:.13em!important;
    text-transform:uppercase!important;
}
body.sds-tp-portal-page .sds-tp-learning-lab__header h2{
    color:#111419!important;
    font-size:clamp(1.75rem,4vw,3rem)!important;
    letter-spacing:-.035em!important;
    line-height:1!important;
    margin:7px 0 10px!important;
    text-shadow:none!important;
}
body.sds-tp-portal-page .sds-tp-learning-lab__header p{
    color:#4f5661!important;
    font-size:.92rem!important;
    line-height:1.55!important;
    margin:0!important;
    max-width:720px!important;
}
body.sds-tp-portal-page .sds-tp-learning-lab__status{
    background:#171a1f!important;
    border:2px solid #f5bd00!important;
    border-radius:12px!important;
    color:#fff!important;
    flex:none!important;
    min-width:145px!important;
    padding:13px 15px!important;
}
body.sds-tp-portal-page .sds-tp-learning-lab__status span{color:#f5bd00!important;font-size:.7rem!important;font-weight:900!important;letter-spacing:.06em!important}
body.sds-tp-portal-page .sds-tp-learning-lab__status strong{color:#fff!important;font-size:.8rem!important;margin-top:4px!important}
body.sds-tp-portal-page .sds-tp-learning-lab__notice{
    background:#fff8db!important;
    border:0!important;
    border-left:5px solid #f5bd00!important;
    border-radius:8px!important;
    color:#343a43!important;
    font-size:.82rem!important;
    font-weight:650!important;
    line-height:1.45!important;
    margin:18px clamp(18px,4vw,38px) 0!important;
    padding:12px 15px!important;
}
body.sds-tp-portal-page .sds-tp-learning-lab form[data-sds-lab-form]{
    padding:18px clamp(18px,4vw,38px) 30px!important;
}
body.sds-tp-portal-page .sds-tp-learning-lab[data-sds-learning-lab] fieldset.sds-tp-lab-activity{
    background:#fbfbfa!important;
    border:1px solid #dfe1e3!important;
    border-radius:13px!important;
    box-shadow:none!important;
    margin:0!important;
    padding:clamp(18px,3vw,28px)!important;
}
body.sds-tp-portal-page .sds-tp-learning-lab[data-sds-learning-lab] fieldset.sds-tp-lab-activity>legend{
    color:#171a1f!important;
    font-size:clamp(1rem,2vw,1.18rem)!important;
    line-height:1.42!important;
    margin:0 0 16px!important;
}
body.sds-tp-portal-page .sds-tp-lab-activity legend>span{
    background:#f5bd00!important;
    color:#111419!important;
    flex:0 0 32px!important;
    height:32px!important;
}
body.sds-tp-portal-page .sds-tp-learning-lab[data-sds-learning-lab] .sds-tp-lab-options>label{
    background:#fff!important;
    border:1px solid #cfd3d7!important;
    border-radius:9px!important;
    color:#242931!important;
    min-height:50px!important;
    padding:13px 15px!important;
    transition:border-color .15s ease,background .15s ease,box-shadow .15s ease!important;
}
body.sds-tp-portal-page .sds-tp-learning-lab[data-sds-learning-lab] .sds-tp-lab-options>label:hover{
    background:#fffaf0!important;
    border-color:#bd8b00!important;
}
body.sds-tp-portal-page .sds-tp-learning-lab[data-sds-learning-lab] .sds-tp-lab-options>label:has(input:checked){
    background:#fff2b8!important;
    border-color:#bd8b00!important;
    box-shadow:0 0 0 2px rgba(245,189,0,.18)!important;
}
body.sds-tp-portal-page .sds-tp-lab-guide{
    align-items:center!important;
    background:#f1f2f3!important;
    border:1px solid #d9dcdf!important;
    border-radius:10px!important;
    gap:12px!important;
    margin:14px 0 0!important;
    padding:10px 12px!important;
}
body.sds-tp-portal-page .sds-tp-lab-guide>strong{color:#303641!important;font-size:.75rem!important}
body.sds-tp-portal-page .sds-tp-lab-guide .sds-tp-button{border-radius:7px!important;margin:0!important;min-height:38px!important;padding:8px 13px!important}
body.sds-tp-portal-page .sds-tp-lab-consents{
    background:#f7f7f5!important;
    border:1px solid #dfe1e3!important;
    border-radius:10px!important;
    gap:7px!important;
    margin:16px 0 10px!important;
    padding:10px 12px!important;
}
body.sds-tp-portal-page .sds-tp-lab-consents label{background:transparent!important;color:#4b525d!important;font-size:.76rem!important;padding:6px!important}
body.sds-tp-portal-page .sds-tp-learning-lab[data-sds-learning-lab] .sds-tp-lab-actions{
    align-items:stretch!important;
    background:#171a1f!important;
    border-radius:11px!important;
    display:grid!important;
    gap:9px!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    margin-top:12px!important;
    padding:12px!important;
}
body.sds-tp-portal-page .sds-tp-learning-lab[data-sds-learning-lab] .sds-tp-lab-actions>.sds-tp-button,
body.sds-tp-portal-page .sds-tp-learning-lab[data-sds-learning-lab] .sds-tp-lab-actions>a.sds-tp-button{
    border-radius:7px!important;
    margin:0!important;
    min-height:44px!important;
    padding:9px 12px!important;
    width:100%!important;
}
body.sds-tp-portal-page .sds-tp-learning-lab[data-sds-learning-lab] .sds-tp-lab-completion{
    background:#edf8f1!important;
    border:1px solid #72bf8c!important;
    border-radius:8px!important;
    display:flex!important;
    flex:initial!important;
    grid-column:auto!important;
    margin:0!important;
    padding:8px!important;
    width:100%!important;
}
body.sds-tp-portal-page .sds-tp-learning-lab[data-sds-learning-lab] .sds-tp-lab-completion .sds-tp-button{width:100%!important}
body.sds-tp-portal-page .sds-tp-learning-lab[data-sds-learning-lab].is-locked .sds-tp-lab-completion{display:none!important}
body.sds-tp-portal-page .sds-tp-learning-lab>footer{
    background:#f3f4f2!important;
    border-top:1px solid #dfe1e3!important;
    color:#626a75!important;
    font-size:.68rem!important;
    padding:11px clamp(18px,4vw,38px)!important;
}
@media(max-width:720px){
    body.sds-tp-portal-page .sds-tp-learning-lab__header{grid-template-columns:1fr!important}
    body.sds-tp-portal-page .sds-tp-learning-lab__status{min-width:0!important;text-align:left!important;width:100%!important}
    body.sds-tp-portal-page .sds-tp-focused-lab-tools{align-items:flex-start;flex-direction:column}
    body.sds-tp-portal-page .sds-tp-learning-lab[data-sds-learning-lab] .sds-tp-lab-actions{grid-template-columns:1fr!important}
    body.sds-tp-portal-page .sds-tp-learning-lab[data-sds-learning-lab] .sds-tp-lab-completion{grid-column:1!important}
}
