@keyframes l14 {
  100%  {background-position:right,left,center,right}
}
@keyframes slideLeft {
    from {
        transform: translateX(110%);
    }
    to {
        transform: translateX(0);
    }
}

@keyframes loadingGradient {
  0% {
    background-position: 0% 50%;
  }
  100% {
    background-position: 100% 50%;
  }
}

@keyframes fadeOpacity {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
}

:root {
    --header-bg-color: #ffffff50;
    --bg-color: 255 255 255;
    --bg-color-light: #ebebeb;
    --bg-color-s-light: #d0d0d0;
    --text-color: #070707;
    --primary-color: #0073aa;
    --focus-color-g: 0, 150, 120;     /* #009678 */
    --focus-color-p: 255, 0, 93;      /* #ff005d */
    --focus-color-r: 244, 67, 54;     /* Kept as-is */
    --focus-color-o: 255, 167, 38;    /* #FFA726 */
    --focus-color-s-g: #0096782e;
    --focus-color-s-p: #ff005d2e;
    --focus-color-s-r: #f443362e;
    --focus-color-s-o: #FFA7262e;    
}

/* Dark mode overrides */
body.dark-mode {
    --header-bg-color: #07070750;
    --bg-color: 0 0 0;
    --bg-color-light: #222222;
    --bg-color-s-light: #292929;
    --text-color: #ffffff;
    --primary-color: #1e90ff;
}

.pmp-loader {
    display: none;
    align-items: center;
    justify-content: center;
    background-color: rgba(var(--bg-color));
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 999999;
}

.over-loading .pmp-loader {
    display:flex !important;
}

.pmp-loader>span {
    display: block;
    height: 45px;
    aspect-ratio: 2;
    border: 6px solid rgba(var(--bg-color));
    box-sizing: border-box;
    background: radial-gradient(farthest-side,var(--text-color) 98%,#0000) left/20px 20px,
    radial-gradient(farthest-side,var(--text-color) 98%,#0000) left/20px 20px,
    radial-gradient(farthest-side,var(--text-color) 98%,#0000) center/20px 20px,
    radial-gradient(farthest-side,var(--text-color) 98%,#0000) right/20px 20px,
    rgba(var(--bg-color));
    background-repeat: no-repeat;
    filter: blur(4px) contrast(10);
    animation: l14 1s infinite;
}

#pmp-body.is-explorer .home-window {
    margin-top: 30px;
}

.extra-content{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    padding: 10px;
    display: flex;
    justify-content: flex-end;
    transition: all 0.3s ease-in-out;
}

.extra-content.active{
    background-color: #0000005c;
    z-index: 999999 ;
    backdrop-filter: blur(3px);
}

.extra-content-overlay {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

.extra-content-overlay.active, .extra-content.active {
    display:flex !important;
}

.extra-content .ec-inner-content{
    width: 400px;
    height: 100%;
    background-color: #ffffff;
    border-radius: 15px;
    padding: 10px;
    transition: all 0.3s ease-in-out;
    transform: translateX(110%);
    gap: 8px;
    display: flex;
    flex-direction: column;
    overflow-y: auto;
}

body.dark-mode .extra-content .ec-inner-content{
    background-color: #222222;
}

.extra-content.active .ec-inner-content{
    transform: translateX(0);
}

.extra-content .close-popup {
    display: flex;
    align-items: center;
    position: relative;
    cursor: pointer;
    justify-content: center;
    background-color: #e5e5e5;
    border-radius: 20px;
    width: 26px;
    height: 26px;
}

body.dark-mode .extra-content .close-popup {
    background-color: #313131;
}

.extra-content .close-popup svg path{
    fill:var(--text-color) !important;
    transition:all 0.3s ease-in-out;
}

.te-main-content {
    width: 100%;
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 20px;
    font-size: 15px;
    border: 1px dashed #7c7c7c4d;
    color: var(--text-color);    
}

.extra-content.loading .te-main-content {
    background: linear-gradient(75deg, rgb(166 166 166 / 29%) 50%, rgb(105 105 105 / 48%) 60%) 0% 0% / 400% 400%;
    animation: 3s ease 0s infinite normal none running loadingGradient, 1s ease-in-out 0s infinite normal none running fadeOpacity;
    min-height: 400px;
}

.pmp-header {
    display: flex;
    flex-direction: column;
    justify-content: center;
    z-index: 99999;
    background-color: var(--header-bg-color);
    color: var(--text-color);
    backdrop-filter: blur(20px);
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    align-items: center;
}

.top-header-notice {
    width: 100%;
    background-color: #0c61ea;
    text-align: center;
    font-size: 14px;
    padding: 4px;
    color: #fff;
}

.main-header-content {
    padding: 7px;
    display: flex;
    width: 100%;
    justify-content: space-between;
    align-items: center;
}

.pmph-coins {
    display: flex;
    align-items: center;
    background-color: #f9a83d3b;
    padding: 0 2px 0 10px;
    border-radius: 20px;
    font-size: 14px;
    font-weight: 700;
    border: 1px solid #ffd06c4a;
    border-top: unset;
    border-left: unset;
}

.pmp-header .quick-actions {
    display: flex;
    gap: 6px;
    align-items: flex-start;
}

.pmp-header .quick-actions .pmph-sa{
    display: flex;
    align-items: center;
    position: relative;
    cursor: pointer;
    justify-content: center;
    background-color: var(--bg-color-light);
    border-radius: 20px;
    width: 34px;
    height: 34px;
}

.pmp-header .quick-actions .pmph-sa.close{
    background-color: #FF2B2B;
}

.pmp-header .quick-actions .pmph-sa>svg {
    position: absolute;
    padding: 5px;
}

.pmp-header .quick-actions .pmph-sa:hover>svg{
    transform:scale(1.05);
    transform: rotate(-10deg);
}

.pmp-header .quick-actions .pmph-sa>svg{
    transition:all 0.3s ease-in-out;
}


.pmp-header .quick-actions svg.pa path{
    fill:var(--text-color);
    transition:all 0.3s ease-in-out;
}

.pmp-header .quick-actions svg.li,
.pmp-header .quick-actions svg.pl{
    stroke:var(--text-color) !important;
    transition:all 0.3s ease-in-out;
}

.pmp-header .quick-actions .close-icon path{
    fill:#ffffff;
}

.fs-enabled .pmp-header .quick-actions .pmph-sa .fs-icon path,
.fs-disabled .pmp-header .quick-actions .pmph-sa .ufs-icon path{
    fill: transparent;
}

body.dark-mode .pmp-header .quick-actions .n-icon, 
.pmp-header .quick-actions .d-icon{
    opacity: 0;
}
body.dark-mode .pmp-header .quick-actions .d-icon{
    opacity: 1;
}

.pmp-header .quick-actions .pmph-sa.lang.active {
    background-color: #2196F3;
}

.pmp-header .quick-actions .pmph-sa.lang.active svg.li, 
.pmp-header .quick-actions .pmph-sa.lang.active svg.pl {
    stroke: #ffffff !important;
}

.pmp-header .quick-actions .pmph-sa.my-account, 
.pmp-header .quick-actions .pmph-sa.subscribe {
    width: 100px;
    color: var(--text-color);
    font-size: 15px;
    font-weight: 500;
    text-decoration: none;
}

.pmp-header .quick-actions .pmph-sa.subscribe {
    background-color: #f44336;
    background: linear-gradient(45deg, #fb00ff, #0062ff);
    color: #fff;
}

div#pmp-body {
    padding: 60px 20px 20px 20px;
    background-color: rgba(var(--bg-color));
    margin: auto;
    min-height: 100vh;
}

.pmp-main-content {
    max-width:1100px;
    margin: auto;
}
.pmp-main-content .mc-greeting {
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.pmp-main-content .mc-heading h4 {
    color: var(--text-color);
    font-weight: 700;
    text-align: center;
    font-size: 16px;
    letter-spacing: 0.6px;
    margin-bottom: 10px;
}

.pmp-main-content .mc-greeting p {
    color: var(--text-color);
    margin: unset;
    background-color: var(--bg-color-light);
    padding: 7px 20px;
    border-radius: 30px;
    text-align: center;
}

.main-quick-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    flex-wrap: wrap;
    margin-top: 20px;
}

.main-quick-actions .single-mqa {
    position: relative;
    display: flex;
    gap: 20px;
    min-width: 250px;
    background-color: var(--bg-color-light);
    min-height: 200px;
    flex-grow: 1;
    border-radius: 15px;
    align-items: center;
    justify-content: center;
    padding: 20px;
    flex-direction: column;
    cursor:pointer;
    overflow:hidden;
}

.main-quick-actions .single-mqa .mpa-p-container {
    padding: 15px;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    background-color: #ffffff00;
    opacity: 0;
    transition: all 0.3s ease-in-out;
}

.main-quick-actions .single-mqa:hover .mpa-p-container {
    opacity: 1;
    background: linear-gradient(0deg, rgba(var(--focus-color-o)) 0%, transparent 40%);
}

.main-quick-actions .single-mqa.mqa-continue:hover svg path, .main-quick-actions .single-mqa.mqa-continue.active svg path{
    fill: rgba(var(--focus-color-p));
}
.main-quick-actions .single-mqa.mqa-continue:hover svg circle, .main-quick-actions .single-mqa.mqa-continue.active svg circle{
    stroke: rgba(var(--focus-color-p));
}

.main-quick-actions .single-mqa.mqa-startnew:hover svg path, .main-quick-actions .single-mqa.mqa-startnew.active svg path{
    fill: rgba(var(--focus-color-g));
}
.main-quick-actions .single-mqa.mqa-startnew:hover svg circle, .main-quick-actions .single-mqa.mqa-startnew.active svg circle{
    stroke: rgba(var(--focus-color-g));
}

.main-quick-actions .single-mqa.mqa-mockexam:hover svg path, .main-quick-actions .single-mqa.mqa-mockexam.active svg path{
    fill: rgba(var(--focus-color-r));
}
.main-quick-actions .single-mqa.mqa-mockexam:hover svg circle, .main-quick-actions .single-mqa.mqa-mockexam.active svg circle{
    stroke: rgba(var(--focus-color-r));
}

.main-quick-actions .single-mqa.mqa-mistakes:hover svg path, .main-quick-actions .single-mqa.mqa-mistakes.active svg path{
    fill: #FFB300;
}
.main-quick-actions .single-mqa.mqa-mistakes:hover svg circle, .main-quick-actions .single-mqa.mqa-mistakes.active svg circle{
    stroke: #FFB300;
}

.main-quick-actions .single-mqa.mqa-continue .mpa-p-container {
    background: linear-gradient(0deg, rgba(var(--focus-color-p)) 0%, transparent 40%);
}

.main-quick-actions .single-mqa.mqa-startnew .mpa-p-container {
    background: linear-gradient(0deg, rgba(var(--focus-color-g)) 0%, transparent 40%);
}

.main-quick-actions .single-mqa.mqa-mockexam .mpa-p-container {
    background: linear-gradient(0deg, rgba(var(--focus-color-r)) 0%, transparent 40%);
}

.main-quick-actions .single-mqa.mqa-mistakes:hover .mpa-p-container {
    background: linear-gradient(0deg, rgba(var(--focus-color-o)) 0%, transparent 40%);
}

.main-quick-actions .single-mqa h3, 
.main-perforamce .single-per .per-top h3, 
.main-perforamce.perf-domains-perf .per-bottom h3,
.main-perforamce.perf-domains-farea .per-bottom h3 {
    color: var(--text-color);
    font-size: 16px;
    font-weight: 700;
    margin: unset;
    opacity:1;
    transition:all 0.3s ease-in-out;
    text-align: center;
}

.main-quick-actions .single-mqa:hover h3{
    opacity:0;
}

.main-quick-actions .single-mqa svg path{
    transition:all 0.3s ease-in-out;
    fill: var(--text-color);
}

.main-quick-actions .single-mqa svg circle{
    transition:all 0.3s ease-in-out;
    stroke: var(--text-color);
}

.main-quick-actions .single-mqa .mpa-p-container .mpa-p-bottom {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #fff;
    font-size: 16px;
    font-weight: 500;
    transform: translateY(10px);
    transition: all 0.3s ease-in-out;
}

.main-quick-actions .single-mqa .mpa-p-container svg {
    background-color: var(--text-color);
    padding: 10px;
    width: 40px;
    height: 40px;
    border-radius: 30px;
}

.main-quick-actions .single-mqa .mpa-p-container svg path{
    fill: rgba(var(--bg-color));
}

.main-quick-actions .single-mqa:hover .mpa-p-container .mpa-p-bottom {
    transform: translateY(0px);
}

.main-quick-actions .single-mqa:hover .mpa-p-bottom>svg path{
    fill: rgba(var(--bg-color));
}

.main-perforamce {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    flex-wrap: wrap;
    margin-bottom: 20px;
}

.main-perforamce .single-per {
    position: relative;
    display: flex;
    gap: 20px;
    min-width: 250px;
    flex-grow: 1;
    background-color: var(--bg-color-light);
    min-height: 160px;
    border-radius: 15px;
    align-items: center;
    justify-content: space-between;
    padding: 20px;
    flex-direction: column;
    overflow: hidden;
    flex: 1;
}

.main-perforamce.perf-domains-perf .single-per .per-center,
.main-perforamce.perf-domains-farea .single-per .per-center{
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 112px;
    height: 112px;
    margin: 0 auto;
}

.main-perforamce .single-per .per-center .absolute{
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.main-perforamce .single-per .per-center .text-xl{
    color: var(--text-color);
    font-size: 20px;
    font-weight: 700;
    line-height: 1.1;
}

.main-perforamce .single-per .per-center .text-xs {
    color: #94a3b8;
    font-size: 11px;
    margin-top: 2px;
}

.main-perforamce .single-per .per-unseen-q {
    color: var(--text-color);
    font-size: 15px;
    font-weight: 600;
    text-align: center;
    background-color: #9a9a9a50;
    padding: 5px 10px;
    width: 100%;
    border-radius: 10px;
}

.main-perforamce .single-per circle.total-qs {
    stroke: #9a9a9a50;
}

.main-perforamce .single-per .per-bottom{
    min-height: 70px;
    display: flex;
    justify-content: flex-end;
}

.main-perforamce.perf-domains-perf .single-per,
.main-perforamce.perf-domains-farea .single-per{
    min-width: 130px;
    min-height: 200px;
    padding: 5px;
    display: flex;
    justify-content: space-between;
}

.main-perforamce .single-per .mperf-result {
    color: var(--text-color);
    font-size: 11px;
    opacity: 0.7;
    line-height: 14px;
    text-align: center;
}

span.mperf-correct-chart{
    display: flex;
    width: 100%;
    position: absolute;
    bottom: 0;
    border-radius: 10px;
    z-index: 0;
}

span.mperf-correct-chart.chart-incorrect {
    border-top: 1px solid #f44336;
}
span.mperf-correct-chart.chart-correct {
    background-color: #4CAF50;
    background: linear-gradient(180deg, #27b25a69, #22c55e26);
}

.main-perforamce .single-per.loading {
    animation: 2s ease-in-out 0s infinite normal none running fadeOpacity;
}

.main-perforamce .single-per .per-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    flex-direction: column;
    gap: 20px;
}

.main-perforamce .single-per .per-top svg {
    border-radius: 30px;
    padding: 10px;
    width: 60px;
}

.main-perforamce .single-per.per-streak .per-top svg {
    padding: 0px;
}

.main-perforamce .single-per.per-random .per-top svg {
    background-color: rgba(var(--focus-color-r));
    box-shadow: 0 0 80px 10px #f4433690;
}

.main-perforamce .single-per.per-people .per-top svg {
    background-color: rgba(var(--focus-color-p));
    box-shadow: 0 0 80px 10px #ff005d90;
}

.main-perforamce .single-per.per-process .per-top svg {
    background-color: rgba(var(--focus-color-g));
    box-shadow: 0 0 80px 10px #26A69A90;
}

.main-perforamce .single-per.per-environment .per-top svg {
    background-color: rgba(var(--focus-color-o));
    box-shadow: 0 0 80px 10px #ffa72690;
}

.main-perforamce .single-per .per-center h2 {
    color: var(--text-color);
    font-size: 45px;
    font-weight: 700;
    margin: 0;
}

.main-perforamce .single-per .per-center h2 span {
    font-size: 25px;
    margin-left: 5px;
    font-weight: 400;
}

.main-perforamce .single-per .per-bottom {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    z-index:1;
}

.main-perforamce .single-per .per-bottom p {
    color: var(--text-color);
    text-align: center;
    margin: 0;
}

.main-perforamce .single-per .per-bottom .progress {
    width: 150px;
    height: 16px;
    border-radius: 10px;
    background-color: #9a9a9a50;
    overflow: hidden;
    position:relative;
}

.main-perforamce .single-per .per-bottom .t-count {
    font-size: 10px;
    letter-spacing: 0.4px;
    color: #fff;
    text-align: center;
    width: 100%;
    display: inline-block;
    position: absolute;
    top: 1px;
    opacity: 0.5;
}

.main-perforamce .single-per .per-bottom .progress span.prog-moving {
    position: absolute;
    height: 100%;
    display: block;
    background-color: #e91e63;
    background: linear-gradient(45deg, #e91e6380, rgba(var(--focus-color-p)) );
    border-radius: 10px;
}

.main-perforamce .single-per.per-random .per-bottom .progress span.prog-moving {
    background: linear-gradient(45deg, #f4433660, rgba( var(--focus-color-r)));
}

.main-perforamce .single-per.per-process .per-bottom .progress span.prog-moving {
    background: linear-gradient(45deg, #26A69A60, rgba(var(--focus-color-g)) );
}

.main-perforamce .single-per.per-environment .per-bottom .progress span.prog-moving {
    background: linear-gradient(45deg, #ffa72660, rgba(var(--focus-color-o)) );
}

.main-perforamce .single-per .per-bottom .days {
    display: flex;
    gap: 6px;
    color: var(--text-color);
    font-size: 15px;
    font-weight: 500;
}

.main-perforamce .single-per .per-bottom .days span {
    width: 20px;
    height: 20px;
    background-color: #8a8a8a6e;
    display: block;
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;    
    
}

.main-perforamce .single-per .per-bottom .days .s-day.done span {
    background-color: rgba(var(--focus-color-r));
}

.main-perforamce .single-per .per-bottom .days .s-day {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.main-perforamce .single-per .per-bottom .days .s-day.done span::after {
    content: '✔';
    text-align: center;
    color: #fff;
}

.main-quizzes-filter .single-domain .label{
    position:relative;
    color: var(--text-color);
    padding: 7px 10px;
    background-color: var(--bg-color-light);
    border-radius: 7px;
    border: 1px solid transparent;
    cursor:pointer;
    backdrop-filter:blur(10px);
    transition: all 0.3s ease-in-out;
}

.main-quizzes-filter .single-domain.random.active .label, 
.main-quizzes-filter .single-domain.random:hover .label{
    background-color: var(--focus-color-s-r);
}
.main-quizzes-filter .single-domain.process.active .label, 
.main-quizzes-filter .single-domain.process:hover .label{
    background-color: var(--focus-color-s-g);
}
.main-quizzes-filter .single-domain.people.active .label, 
.main-quizzes-filter .single-domain.people:hover .label{
    background-color: var(--focus-color-s-p);
}
.main-quizzes-filter .single-domain.environment.active .label, 
.main-quizzes-filter .single-domain.environment:hover .label{
    background-color: var(--focus-color-s-o);
}

.main-quizzes-filter .single-domain.random::after{
    background-color: rgba(var(--focus-color-r));
}
.main-quizzes-filter .single-domain.process::after{
    background-color: rgba(var(--focus-color-g));
} 
.main-quizzes-filter .single-domain.people::after{
    background-color: rgba(var(--focus-color-p));
}
.main-quizzes-filter .single-domain.environment::after{
    background-color: rgba(var(--focus-color-o));
}

.main-quizzes-filter .single-domain.active::after{
    content:'';
    width: 30px;
    height: 10px;
    display: block;
    margin: -7px auto -3px auto;
    border-radius: 10px;
    transition: all 0.3s ease-in-out;
}

.main-quizzes-filter {
    display: flex;
    align-items: center;
    gap: 5px;
    flex-wrap: wrap;
}

.main-quizzes-filter h5 {
    margin: 0;
    color: var(--text-color);
    font-size: 16px;
    margin-right: 10px;
}

.main-quizzes-filter .single-domain .label{
    user-select: none;
}

.n-quizzes-notice {
    text-align: center;
    flex: 1;
    color: var(--text-color);
    margin: 20px;
    font-size: 15px;
    letter-spacing: 1px;
    font-weight: 100;
}

.main-quizzes {
    margin-top: 20px;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
}

.main-quizzes .quiz-top h3 {
    color: var(--text-color);
    font-size: 15px;
    font-weight: 600;
    margin: 0;
}

.main-quizzes .quiz-top h3 span {
    font-weight: 400;
    opacity: 0.5;
    font-size: 14px;
}

.main-quizzes .single-quiz {
    position: relative;
    display: flex;
    gap: 15px;
    width: 250px;
    min-width: 250px;
    flex-grow: 1;
    background-color: var(--bg-color-light);
    border-radius: 20px;
    padding: 20px;
    flex-direction: column;
    cursor: pointer;
    overflow: hidden;
}

.main-quizzes .single-quiz .time {
    display: flex;
    gap: 4px;
    align-items: center;
    font-weight: 400;
    font-size: 14px;
    color: var(--text-color);
}

.main-quizzes .single-quiz .time svg path{
    stroke:var(--text-color);
}

.main-quizzes .single-quiz .quiz-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.main-quizzes .single-quiz .perc {
    display: flex;
    align-items: center;
    gap: 5px;
}

.main-quizzes .single-quiz .perc span {
    font-size: 14px;
    color: var(--text-color);
    font-weight: 600;
}

.main-quizzes .single-quiz .perc-bar {
    position: relative;
    width: 80px;
    height: 10px;
    background-color: #9a9a9a50;
    border-radius: 10px;
    overflow: hidden;
}

.main-quizzes .single-quiz .perc-bar  span.line {
    position: absolute;
    width: 70%;
    height: 100%;
    display: block;
    background-color: #ffa726;
    background: linear-gradient(45deg, #ffa7264f, rgba(var(--focus-color-o)));
    border-radius: 10px;
}

.learn-quizzes-list {
    display: none;
    gap: 10px;
    margin: 20px 0;
    position:relative;
}

.learn-quizzes-list.loading::after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    cursor: wait;
}
.learn-quizzes-list.active {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.learn-quizzes-list .single-lquiz {
    width: 180px;
    height: 100px;
    background-color: var(--bg-color-light);
    border-radius: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    flex-direction: column;
    position: relative;
    cursor:pointer;
    flex-grow: 1;
}

.learn-quizzes-list.loading .single-lquiz {
    animation: 2s ease-in-out 0s infinite normal none running fadeOpacity;
}

.learn-quizzes-list .single-lquiz.locked {
    background-color: unset;
    border: 1px dashed var(--bg-color-light);
    cursor: not-allowed;
}

.single-lquiz.mqa-lquiz.locked.pmp-pro-locked {
    cursor:pointer;
}

.learn-quizzes-list .single-lquiz.unlocked::after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background: linear-gradient(0deg, #0283d7, var(--bg-color-light) 70%);
    transform: translateY(100%);
    transition: all 0.3s ease-in-out;
}

.learn-quizzes-list.random .single-lquiz.unlocked::after,
.learn-quizzes-list.random .single-rquiz.unlocked::after{
    background: linear-gradient(0deg, rgba(var(--focus-color-r)), var(--bg-color-light) 70%);
}
.learn-quizzes-list.process .single-lquiz.unlocked::after,
.learn-quizzes-list.process .single-rquiz.unlocked::after{
    background: linear-gradient(0deg, rgba(var(--focus-color-g)), var(--bg-color-light) 70%);
} 
.learn-quizzes-list.people .single-lquiz.unlocked::after,
.learn-quizzes-list.process .single-rquiz.unlocked::after{
    background: linear-gradient(0deg, rgba(var(--focus-color-p)), var(--bg-color-light) 70%);
}
.learn-quizzes-list.environment .single-lquiz.unlocked::after,
.learn-quizzes-list.process .single-rquiz.unlocked::after{
    background: linear-gradient(0deg, rgba(var(--focus-color-o)), var(--bg-color-light) 70%);
}

.learn-quizzes-list .single-lquiz.unlocked:hover::after {
    transform: translateY(0);
}

.learn-quizzes-list .single-lquiz .lq-actions {
    display: flex;
    gap: 7px;
    position: absolute;
    height: 30px;
    transform: translateY(-30px);
    opacity: 0;
    transition: all 0.3s ease-in-out;
    z-index: 1;
    align-items: center;
}

.learn-quizzes-list .single-lquiz:hover .lq-actions {
    transform: translateY(0);
    opacity: 1;
}

.learn-quizzes-list .single-lquiz .lq-play {
    height: 30px;
}

.learn-quizzes-list .single-lquiz .lq-play svg {
    background-color: var(--text-color);
    padding: 7px;
    width: 30px;
    height: 30px;
    border-radius: 20px;
}

.learn-quizzes-list .single-lquiz .lq-play svg path {
    fill: rgba(var(--bg-color));
}

.learn-quizzes-list .single-lquiz .lq-flashcards {
    font-size: 14px;
    background-color: #fff;
    height: 30px;
    line-height: 30px;
    border-radius: 20px;
    min-width: 90px;
    text-align: center;
    font-weight: 600;
    padding: 0 10px;
}
.learn-quizzes-list .single-lquiz .lq-count {
    position: absolute;
    font-weight: 700;
    font-size: 26px;
    color: var(--text-color);
    -webkit-text-stroke: 1px var(--text-color);
    transition: all 0.3s ease-in-out;
    z-index:1;
}

.learn-quizzes-list .single-lquiz.unlocked:hover .lq-count {
    transform: translateY(30px);
    opacity: 0;
}

.learn-quizzes-list .single-lquiz.locked .lq-count {
    opacity: 0.1;
}

.learn-quizzes-list .single-lquiz .lq-r-per {
    color: #fff;
    font-size: 12px;
    position: absolute;
    top: 0px;
    background-color: #4CAF50;
    border-radius: 0 0 7px 7px;
    padding: 2px 10px;
    line-height: 13px;
    text-align: center;
    z-index: 1;
    transition: 0.3s all ease-in-out;
}

.learn-quizzes-list .single-lquiz:hover .lq-r-per {
    transform: translateY(-20px);
    opacity: 0;
}

.learn-quizzes-list .single-lquiz .lq-result {
    color: var(--text-color);
    font-size: 11px;
    position: absolute;
    bottom: 5px;
    opacity: 0.7;
    line-height: 14px;
    text-align: center;
}

.learn-quizzes-list .single-lquiz .lq-pro-badge {
    font-size: 8px;
    font-weight: 600;
    position: absolute;
    top: 5px;
    right: 5px;
    color: rgba(var(--focus-color-o), 1);
    background-color: rgba(var(--focus-color-o), 0.1);
    padding: 3px 7px;
    border-radius: 10px;
}
.pmp-guide-container {
    max-width: 900px;
    margin: 24px auto;
    color: #1e293b;
}

.pmp-guide-header {
    text-align: center;
    margin-bottom: 30px;
}

.pmp-guide-title {
    font-size: 22px;
    font-weight: 800;
    color: var(--text-color);
    margin: 0 0 6px 0;
}

.pmp-guide-subtitle {
    font-size: 15px;
    color: var(--text-color);
    margin: 0;
    opacity: 0.6;
    font-weight: 500;
}

.pmp-guide-list {
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.pmp-card-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
}

.pmp-card-badge {
    background: #f1f5f9;
    color: #475569;
    font-size: 0.8rem;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 6px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.pmp-card-title {
    font-size: 18px;
    font-weight: 600;
    color: var(--text-color);
    margin: 0;
}

.pmp-card-def {
    color: var(--text-color);
    border-left: 1px dashed var(--bg-color-light);
    margin: 20px 0;
}

.pmp-card-section {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.pmp-card-row {
    display: flex;
    align-items: flex-start;
}

.pmp-row-content {
    color: #1e293b;
    width: 100%;
}

.pmp-card-row.concept .pmp-row-label {
    font-weight: 600;
    color: #2196f3;
    background-color: #2196f314;
    padding: 5px 10px;
    display: inline-block;
    border-radius: 5px;
    font-size: 15px;
    margin-left: 15px;
    backdrop-filter: blur(10px);
}
.pmp-card-row.concept p {
    color: var(--text-color);
    border: 1px solid #2196f314;
    padding: 30px 15px 15px 15px;
    margin-top: -15px;
    border-radius: 10px;
    background-color: var(--bg-color-light);
}

.pmp-card-row.rule .pmp-row-label {
    font-weight: 600;
    color: rgb(0 209 85);
    background-color: rgb(0 209 85 / 10%);
    padding: 5px 10px;
    display: inline-block;
    border-radius: 5px;
    font-size: 15px;
    margin-left: 15px;
    backdrop-filter: blur(10px);
}
.pmp-card-row.rule p {
    color: var(--text-color);
    border: 1px solid rgb(0 209 85 / 10%);
    padding: 25px 15px 15px 15px;
    margin-top: -15px;
    border-radius: 10px;
    background-color: var(--bg-color-light);
}

.study-guide-items {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
}

.study-guide-items .mc-heading {
    width: 100%;
    margin-top: 20px;
}

.learn-quizzes-list .single-rquiz {
    width: 150px;
    height: 100px;
    max-width: 250px;
    background-color: var(--bg-color-light);
    border-radius: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    flex-direction: column;
    position: relative;
    cursor: pointer;
    flex-grow: 1;
}

.learn-quizzes-list .single-rquiz .rq-play {
    height: 30px;
}

.learn-quizzes-list .single-rquiz .rq-play svg {
    background-color: var(--text-color);
    padding: 7px;
    width: 30px;
    height: 30px;
    border-radius: 20px;
}

.learn-quizzes-list .single-rquiz .rq-play svg path {
    fill: rgba(var(--bg-color));
}

.learn-quizzes-list .single-rquiz.unlocked:hover::after {
    transform: translateY(0);
}

.learn-quizzes-list.environment .single-rquiz.unlocked::after {
    background: linear-gradient(0deg, rgba(var(--focus-color-o)), var(--bg-color-light) 70%);
}

.learn-quizzes-list .single-rquiz.unlocked::after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background: linear-gradient(0deg, #0283d7, var(--bg-color-light) 70%);
    transform: translateY(100%);
    transition: all 0.3s ease-in-out;
}

.learn-quizzes-list .single-rquiz .rq-actions {
    display: flex;
    gap: 7px;
    position: absolute;
    height: 30px;
    transform: translateY(-30px);
    opacity: 0;
    transition: all 0.3s ease-in-out;
    z-index: 1;
    align-items: center;
}

.learn-quizzes-list .single-rquiz:hover .rq-actions {
    transform: translateY(0);
    opacity: 1;
}

.study-guide-items .single-rquiz .rq-count {
    position: absolute;
    font-weight: 800;
    font-size: 16px;
    color: var(--text-color);
    transition: all 0.3s ease-in-out;
    z-index: 1;
}

.learn-quizzes-list .single-rquiz.unlocked:hover .rq-count {
    transform: translateY(30px);
    opacity: 0;
}

.learn-quizzes-list .single-rquiz>svg {
    position: absolute;
    top: 5px;
    left: 5px;
    width: 30px;
}

/* =========================================================
   PMP DASHBOARD — PERFORMANCE REDESIGN
   ========================================================= */

.pmp-main-content {
    max-width: 1180px;
    margin-left: 0;
    margin-right: auto;
    text-align: left;
}

.pmp-main-content .mc-greeting {
    justify-content: flex-start;
    text-align: left;
}

.pmp-main-content .mc-greeting p {
    text-align: left;
}

.pmp-main-content .mc-heading {
    width: 100%;
    text-align: left;
}

.pmp-main-content .mc-heading h4 {
    text-align: left;
    font-size: 18px;
    letter-spacing: 0;
    margin: 0 0 12px;
}

.main-quick-actions,
.main-perforamce {
    justify-content: flex-start;
}

/* Remove the old performance-card visual language. */
.main-perforamce.domains-perf {
    display: block;
    margin: 0 0 28px;
}

.main-perforamce.domains-perf > .pmp-performance-overview-grid {
    width: 100%;
}

.pmp-performance-overview-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.pmp-performance-card {
    --performance-accent: #2563eb;
    --performance-accent-soft: rgba(37, 99, 235, .10);
    min-width: 0;
    padding: 18px;
    border: 1px solid #e5e7eb;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 2px 10px rgba(15, 23, 42, .04);
    color: var(--text-color);
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

body.dark-mode .pmp-performance-card {
    background: #151515;
    border-color: #2c2c2c;
}

.pmp-performance-card:hover,
.pmp-analytics-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(15, 23, 42, .08);
}

.pmp-performance-card.is-strong { --performance-accent: #16a34a; --performance-accent-soft: rgba(22, 163, 74, .10); }
.pmp-performance-card.is-building { --performance-accent: #2563eb; --performance-accent-soft: rgba(37, 99, 235, .10); }
.pmp-performance-card.is-needs-work { --performance-accent: #f59e0b; --performance-accent-soft: rgba(245, 158, 11, .12); }
.pmp-performance-card.is-new { --performance-accent: #64748b; --performance-accent-soft: rgba(100, 116, 139, .10); }

.pmp-performance-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 18px;
}

.pmp-performance-card-title {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 9px;
}

.pmp-performance-dot {
    width: 9px;
    height: 9px;
    flex: 0 0 9px;
    border-radius: 50%;
    background: var(--performance-accent);
    box-shadow: 0 0 0 4px var(--performance-accent-soft);
}

.pmp-performance-card-title h3 {
    margin: 0;
    font-size: 14px;
    font-weight: 700;
    color: var(--text-color);
    line-height: 1.25;
}

.pmp-performance-status {
    flex: 0 0 auto;
    padding: 4px 8px;
    border-radius: 20px;
    background: var(--performance-accent-soft);
    color: var(--performance-accent);
    font-size: 10px;
    font-weight: 700;
    white-space: nowrap;
}

.pmp-performance-score-row {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
}

.pmp-performance-score-row > div:first-child {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.pmp-performance-kicker {
    color: #94a3b8;
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.pmp-performance-score-row strong {
    color: var(--text-color);
    font-size: 30px;
    line-height: 1;
    font-weight: 800;
}

.pmp-performance-score-row strong small {
    font-size: 14px;
    font-weight: 700;
    margin-left: 2px;
}

.pmp-performance-answered {
    text-align: right;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.pmp-performance-answered strong {
    font-size: 14px;
    line-height: 1;
}

.pmp-performance-answered span {
    color: #94a3b8;
    font-size: 10px;
}

.pmp-performance-progress,
.pmp-analytics-bar {
    width: 100%;
    height: 7px;
    border-radius: 20px;
    overflow: hidden;
    background: #eef2f7;
}

body.dark-mode .pmp-performance-progress,
body.dark-mode .pmp-analytics-bar {
    background: #2a2a2a;
}

.pmp-performance-progress span,
.pmp-analytics-bar span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: var(--performance-accent, #2563eb);
    transition: width .35s ease;
}

.pmp-performance-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-top: 9px;
    color: #94a3b8;
    font-size: 10px;
}

/* Second and third performance sections */
.pmp-analytics-grid {
    display: grid;
    gap: 12px;
    width: 100%;
    margin-bottom: 28px;
}

.pmp-performance-domain-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.pmp-focus-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.pmp-analytics-card {
    --performance-accent: #2563eb;
    --performance-accent-soft: rgba(37, 99, 235, .10);
    min-width: 0;
    padding: 18px;
    border: 1px solid #e5e7eb;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 2px 10px rgba(15, 23, 42, .04);
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

body.dark-mode .pmp-analytics-card {
    background: #151515;
    border-color: #2c2c2c;
}

.pmp-analytics-card.is-strong { --performance-accent: #16a34a; --performance-accent-soft: rgba(22, 163, 74, .10); }
.pmp-analytics-card.is-building { --performance-accent: #2563eb; --performance-accent-soft: rgba(37, 99, 235, .10); }
.pmp-analytics-card.is-needs-work { --performance-accent: #f59e0b; --performance-accent-soft: rgba(245, 158, 11, .12); }
.pmp-analytics-card.is-new { --performance-accent: #64748b; --performance-accent-soft: rgba(100, 116, 139, .10); }

.pmp-analytics-card-top,
.pmp-focus-card-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 18px;
}

.pmp-analytics-eyebrow {
    display: block;
    margin-bottom: 5px;
    color: #94a3b8;
    font-size: 9px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.pmp-analytics-card h3 {
    margin: 0;
    color: var(--text-color);
    font-size: 14px;
    line-height: 1.25;
    font-weight: 700;
}

.pmp-analytics-score {
    flex: 0 0 auto;
    display: flex;
    align-items: baseline;
    color: var(--performance-accent);
}

.pmp-analytics-score strong {
    font-size: 29px;
    line-height: 1;
    font-weight: 800;
}

.pmp-analytics-score span {
    font-size: 12px;
    font-weight: 700;
    margin-left: 1px;
}

.pmp-analytics-bar {
    height: 8px;
    margin-bottom: 16px;
}

.pmp-analytics-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 7px;
}

.pmp-analytics-stats > div {
    padding: 9px 6px;
    border-radius: 9px;
    background: #f8fafc;
    text-align: left;
}

body.dark-mode .pmp-analytics-stats > div {
    background: #202020;
}

.pmp-analytics-stats strong {
    display: block;
    color: var(--text-color);
    font-size: 14px;
    line-height: 1.1;
}

.pmp-analytics-stats span {
    display: block;
    margin-top: 3px;
    color: #94a3b8;
    font-size: 9px;
}

.pmp-analytics-footer {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    margin-top: 12px;
    padding-top: 10px;
    border-top: 1px solid #edf0f4;
    color: #94a3b8;
    font-size: 10px;
}

body.dark-mode .pmp-analytics-footer {
    border-color: #2a2a2a;
}

.pmp-focus-card-top {
    justify-content: flex-start;
    align-items: center;
    margin-bottom: 17px;
}

.pmp-focus-index {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
    border-radius: 9px;
    background: var(--performance-accent-soft);
    color: var(--performance-accent);
    font-size: 10px;
    font-weight: 800;
}

.pmp-focus-score {
    display: flex;
    align-items: baseline;
    gap: 5px;
    margin-bottom: 12px;
}

.pmp-focus-score strong {
    color: var(--text-color);
    font-size: 28px;
    line-height: 1;
    font-weight: 800;
}

.pmp-focus-score span {
    color: #94a3b8;
    font-size: 10px;
    font-weight: 600;
}

.pmp-focus-meta {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    color: #94a3b8;
    font-size: 10px;
}

.pmp-focus-meta strong {
    color: var(--text-color);
}

/* Keep dashboard sections flush-left on smaller screens too. */
@media (max-width: 1100px) {
    .pmp-performance-overview-grid,
    .pmp-performance-domain-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pmp-focus-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    div#pmp-body {
        padding-left: 14px;
        padding-right: 14px;
    }

    .pmp-main-content {
        max-width: none;
    }

    .pmp-performance-overview-grid,
    .pmp-performance-domain-grid,
    .pmp-focus-grid {
        grid-template-columns: 1fr;
    }
    
    .main-quizzes-filter{
        justify-content: center;
    }

    .pmp-main-content .mc-heading h4 {
        font-size: 16px;
        text-align:center !important;
    }
}

/* =========================================================
   PMP DASHBOARD — STUDY GUIDE LIBRARY
   ========================================================= */
.pmp-study-library {
    margin: 0 0 26px;
    padding: 20px;
    background: var(--bg-color-light);
    border: 1px solid rgba(37, 99, 235, .12);
    border-radius: 18px;
    box-shadow: 0 7px 24px rgba(15, 23, 42, .045);
}
.pmp-study-library-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 18px;
    padding-bottom: 16px;
    border-bottom: 1px solid rgba(37, 99, 235, .10);
}
.pmp-study-library-head h4 {
    margin: 3px 0 5px;
    color: var(--text-color);
    font-size: 18px;
    font-weight: 800;
    letter-spacing: -.2px;
}
.pmp-study-library-head p {
    margin: 0;
    color: var(--text-color);
    opacity: .58;
    font-size: 13px;
    line-height: 1.5;
    max-width: 720px;
}
.pmp-study-eyebrow {
    color: #2563eb;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1.1px;
}
.pmp-study-count {
    flex: 0 0 auto;
    padding: 7px 10px;
    border-radius: 999px;
    background: rgba(37,99,235,.08);
    border: 1px solid rgba(37,99,235,.12);
    color: #2563eb;
    font-size: 11px;
    font-weight: 800;
}
.pmp-study-library .study-guide-items {
    justify-content: flex-start;
    gap: 12px;
}
.pmp-study-library .study-guide-items .mc-heading { display: none; }
.pmp-study-library .single-rquiz {
    flex: 0 1 180px;
    width: 180px;
    height: 116px;
    border: 1px solid rgba(37,99,235,.10);
    background: var(--bg-color);
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.pmp-study-library .single-rquiz:hover {
    transform: translateY(-2px);
    border-color: rgba(37,99,235,.28);
    box-shadow: 0 9px 20px rgba(37,99,235,.09);
}
.pmp-study-library .single-rquiz > svg { width: 34px; height: 34px; }
@media (max-width: 650px) {
    .pmp-study-library { padding: 16px; }
    .pmp-study-library-head { flex-direction: column; }
    .pmp-study-library .single-rquiz { flex: 1 1 145px; width: auto; }
}

/* Study guide reader / popup */
.pmp-guide-container {
    max-width: none;
    margin: 0;
    padding: 22px;
    color: var(--text-color);
}
.pmp-guide-header {
    text-align: left;
    padding: 18px 20px;
    margin-bottom: 18px;
    border: 1px solid rgba(37,99,235,.12);
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(37,99,235,.08), transparent 70%);
}
.pmp-guide-title { font-size: 21px; }
.pmp-guide-subtitle { font-size: 13px; }
.pmp-guide-list { gap: 14px; }
.pmp-guide-card {
    padding: 18px;
    border: 1px solid rgba(37,99,235,.11);
    border-radius: 16px;
    background: var(--bg-color-light);
    box-shadow: 0 5px 18px rgba(15,23,42,.04);
}
.pmp-guide-card .pmp-card-header { margin-bottom: 14px; }
.pmp-guide-card .pmp-card-badge {
    background: rgba(37,99,235,.08);
    color: #2563eb;
    border: 1px solid rgba(37,99,235,.12);
}
.pmp-guide-card .pmp-card-title { font-size: 16px; }
.pmp-guide-card .pmp-card-def {
    margin: 0 0 14px;
    padding: 12px 14px;
    border: 0;
    border-left: 3px solid #2563eb;
    border-radius: 0 10px 10px 0;
    background: rgba(37,99,235,.045);
    font-size: 13px;
    line-height: 1.6;
}
.pmp-guide-card .pmp-card-section { gap: 10px; }
.pmp-guide-card .pmp-card-row.concept p,
.pmp-guide-card .pmp-card-row.rule p {
    padding: 24px 14px 14px;
    margin-top: -12px;
    font-size: 13px;
    line-height: 1.6;
}

.pmp-study-library .single-rquiz > svg path {
    fill: #2563eb !important;
}
.pmp-study-library .single-rquiz .rq-count {
    color: var(--text-color);
    font-size: 11px;
    font-weight: 700;
    opacity: .68;
}

/* =========================================================
   Dashboard shell + collapsible navigation
   ========================================================= */
.pmp-dashboard-shell {
    min-height: 100vh;
    margin-left: 248px;
    transition: margin-left .22s ease;
}

.pmp-dashboard-shell .pmp-main-container {
    width: 100%;
}

.pmp-sidebar {
    position: fixed;
    inset: 0 auto 0 0;
    z-index: 100000;
    width: 248px;
    padding: 18px 12px 14px;
    display: flex;
    flex-direction: column;
    background: rgba(var(--bg-color), .98);
    border-right: 1px solid rgba(0,0,0,.07);
    color: var(--text-color);
    transition: width .22s ease, background-color .2s ease;
}

body.dark-mode .pmp-sidebar { border-right-color: rgba(255,255,255,.08); }

.pmp-sidebar-top {
    min-height: 42px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 0 4px 16px 8px;
}

.pmp-sidebar-brand {
    font-size: 16px;
    font-weight: 800;
    letter-spacing: -.3px;
    white-space: nowrap;
    color: var(--text-color);
}
.pmp-sidebar-brand-short { display:none; }

.pmp-sidebar-toggle {
    width: 32px;
    height: 32px;
    flex: 0 0 32px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:0;
    border:0;
    border-radius:9px;
    background: var(--bg-color-light);
    color: var(--text-color);
    cursor:pointer;
}
.pmp-sidebar-toggle svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; transition:transform .22s ease; }

.pmp-sidebar-nav { display:flex; flex-direction:column; gap:3px; overflow-y:auto; }
.pmp-sidebar-link,
.pmp-sidebar-group-toggle {
    width:100%;
    min-height:42px;
    display:flex;
    align-items:center;
    gap:11px;
    padding:0 11px;
    border:0;
    border-radius:10px;
    background:transparent;
    color:var(--text-color);
    text-decoration:none;
    font:inherit;
    font-size:14px;
    font-weight:500;
    text-align:left;
    cursor:pointer;
    box-sizing:border-box;
}
.pmp-sidebar-link:hover,
.pmp-sidebar-group-toggle:hover { background:var(--bg-color-light); }
.pmp-sidebar-link.active { background:rgba(37,99,235,.09); color:#2563eb; font-weight:650; }
.pmp-sidebar-link > svg:first-child,
.pmp-sidebar-group-toggle > svg:first-child { width:19px; height:19px; flex:0 0 19px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }

.pmp-sidebar-group-toggle .pmp-sidebar-chevron { width:15px; height:15px; margin-left:auto; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; transition:transform .2s ease; }
.pmp-sidebar-group.is-open .pmp-sidebar-chevron { transform:rotate(180deg); }
.pmp-sidebar-subnav { display:none; flex-direction:column; padding:2px 0 6px 42px; }
.pmp-sidebar-group.is-open .pmp-sidebar-subnav { display:flex; }
.pmp-sidebar-sublink { min-height:34px; display:flex; align-items:center; gap:9px; color:var(--text-color); opacity:.68; text-decoration:none; font-size:13px; border-radius:8px; padding:0 8px; transition:background .16s ease, color .16s ease, opacity .16s ease; }
.pmp-sidebar-sublink:hover { opacity:1; background:var(--bg-color-light); }
.pmp-sidebar-sublink.active { opacity:1; color:#2563eb; background:rgba(37,99,235,.09); font-weight:600; }
.pmp-sidebar-subdot { width:5px; height:5px; border-radius:50%; background:currentColor; flex:0 0 5px; }

.pmp-sidebar-bottom { margin-top:auto; padding-top:12px; border-top:1px solid rgba(0,0,0,.07); display:flex; align-items:center; gap:6px; flex-wrap:wrap; justify-content: center;}
body.dark-mode .pmp-sidebar-bottom { border-top-color:rgba(255,255,255,.08); }
.pmp-sidebar-account,
.pmp-sidebar-dark-mode {
    height:34px;
    display:flex;
    align-items:center;
    justify-content:center;
    box-sizing:border-box;
    border:0;
    text-decoration:none;
    cursor:pointer;
    background:var(--bg-color-light);
    color:var(--text-color);
    border-radius:20px;
}
.pmp-sidebar-account { flex:1 1 auto; min-width:0; gap:7px; padding:0 13px; font-size:14px; font-weight:500; }
.pmp-sidebar-account svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; flex:0 0 17px; }
.pmp-sidebar-dark-mode { width:34px; flex:0 0 34px; position:relative; }
.pmp-sidebar-dark-mode svg { position:absolute; width:16px; height:16px; fill:currentColor; stroke:currentColor; }
.pmp-sidebar-dark-mode .n-icon { fill:var(--text-color); stroke:none; }
.pmp-sidebar-dark-mode .d-icon { opacity:0; fill:none; stroke:var(--text-color); stroke-width:1.2; }
body.dark-mode .pmp-sidebar-dark-mode .n-icon { opacity:0; }
body.dark-mode .pmp-sidebar-dark-mode .d-icon { opacity:1; }

/* No dashboard header: the sidebar owns the navigation controls. */
.home-window > .pmp-header { display:none !important; }
#pmp-body { padding:0 24px 30px 24px; }
#pmp-body.is-explorer .home-window { margin-top:0; }
.pmp-main-content { max-width:1180px; margin:0;}
.pmp-main-content .mc-greeting { justify-content:flex-start; }
.pmp-main-content .mc-greeting p { text-align:left; }
.pmp-main-content .mc-heading h4 { text-align:left; }
.pmp-dashboard-section { scroll-margin-top:24px; }
.pmp-study-guides-anchor { display:block; height:0; scroll-margin-top:24px; }

body.pmp-sidebar-collapsed .pmp-sidebar { width:72px; }
body.pmp-sidebar-collapsed .pmp-dashboard-shell { margin-left:72px; }
body.pmp-sidebar-collapsed .pmp-sidebar-brand,
body.pmp-sidebar-collapsed .pmp-sidebar-link > span,
body.pmp-sidebar-collapsed .pmp-sidebar-group-toggle > span,
body.pmp-sidebar-collapsed .pmp-sidebar-chevron,
body.pmp-sidebar-collapsed .pmp-sidebar-subnav,
body.pmp-sidebar-collapsed .pmp-sidebar-account > span { display:none; }
body.pmp-sidebar-collapsed .pmp-sidebar-brand-short { display:none; }
body.pmp-sidebar-collapsed .pmp-sidebar-top { justify-content:center; padding-left:0; padding-right:0; }
body.pmp-sidebar-collapsed .pmp-sidebar-toggle svg { transform:rotate(180deg); }
body.pmp-sidebar-collapsed .pmp-sidebar-link,
body.pmp-sidebar-collapsed .pmp-sidebar-group-toggle { justify-content:center; padding:0; }
body.pmp-sidebar-collapsed .pmp-sidebar-bottom {
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:8px;
}
body.pmp-sidebar-collapsed .pmp-sidebar-account { flex:0 0 34px; width:34px; padding:0; }
body.pmp-sidebar-collapsed .pmp-sidebar-dark-mode { flex:0 0 34px; width:34px; }

@media (max-width: 900px) {
    /* The sidebar remains fully collapsible on tablet/smaller screens.
       Do not force the compact state here; the JS toggle controls it. */
    .pmp-sidebar { width:248px; }
    .pmp-dashboard-shell { margin-left:248px; }

    body.pmp-sidebar-collapsed .pmp-sidebar { width:72px; }
    body.pmp-sidebar-collapsed .pmp-dashboard-shell { margin-left:72px; }
    body.pmp-sidebar-collapsed .pmp-sidebar-brand,
    body.pmp-sidebar-collapsed .pmp-sidebar-link > span,
    body.pmp-sidebar-collapsed .pmp-sidebar-group-toggle > span,
    body.pmp-sidebar-collapsed .pmp-sidebar-chevron,
    body.pmp-sidebar-collapsed .pmp-sidebar-subnav,
    body.pmp-sidebar-collapsed .pmp-sidebar-account > span { display:none; }
    body.pmp-sidebar-collapsed .pmp-sidebar-top { justify-content:center; padding-left:0; padding-right:0; }
    body.pmp-sidebar-collapsed .pmp-sidebar-link,
    body.pmp-sidebar-collapsed .pmp-sidebar-group-toggle { justify-content:center; padding:0; }
    body.pmp-sidebar-collapsed .pmp-sidebar-bottom { flex-direction:column; align-items:center; justify-content:flex-end; gap:8px; }
    body.pmp-sidebar-collapsed .pmp-sidebar-account { flex:0 0 34px; width:34px; padding:0; }
    body.pmp-sidebar-collapsed .pmp-sidebar-dark-mode { flex:0 0 34px; width:34px; }
    body.pmp-sidebar-collapsed .pmp-sidebar-toggle svg { transform:rotate(180deg); }
}

@media (max-width: 600px) {
    #pmp-body { padding:0 14px 24px 14px; }
    .pmp-sidebar { width:232px; padding-left:8px; padding-right:8px; }
    .pmp-dashboard-shell { margin-left:232px; }
    body.pmp-sidebar-collapsed .pmp-sidebar { width:64px; }
    body.pmp-sidebar-collapsed .pmp-dashboard-shell { margin-left:64px; }
}

/* =========================================================
   Dashboard section views
   Sidebar navigation switches the visible app view.
   ========================================================= */
body.pmp-view-training .pmp-main-content > .pmp-training-section,
body.pmp-view-study .pmp-main-content > .pmp-study-guides-section,
body.pmp-view-simulations .pmp-main-content > .pmp-simulations-section,
body.pmp-view-performance .pmp-main-content > .pmp-performance-section {
    display:block;
}

body.pmp-view-training .pmp-main-content > .pmp-study-guides-section,
body.pmp-view-training .pmp-main-content > .pmp-simulations-section,
body.pmp-view-training .pmp-main-content > .pmp-performance-section,
body.pmp-view-study .pmp-main-content > .pmp-training-section,
body.pmp-view-study .pmp-main-content > .pmp-simulations-section,
body.pmp-view-study .pmp-main-content > .pmp-performance-section,
body.pmp-view-simulations .pmp-main-content > .pmp-training-section,
body.pmp-view-simulations .pmp-main-content > .pmp-study-guides-section,
body.pmp-view-simulations .pmp-main-content > .pmp-performance-section,
body.pmp-view-performance .pmp-main-content > .pmp-training-section,
body.pmp-view-performance .pmp-main-content > .pmp-study-guides-section,
body.pmp-view-performance .pmp-main-content > .pmp-simulations-section {
    display:none !important;
}

/* The overview is the only view where the dashboard home is visible. */
body.pmp-view-dashboard .pmp-main-content > .pmp-dashboard-overview {
    display:block !important;
}
body.pmp-view-dashboard .pmp-main-content > .pmp-dashboard-section {
    display:none !important;
}
body:not(.pmp-view-dashboard) .pmp-main-content > .pmp-dashboard-overview {
    display:none !important;
}

/* =========================================================
   EXPLORER CONVERSION PATH
   ========================================================= */
.pmp-explorer-upgrade-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    margin: 0 0 26px;
    padding: 22px 24px;
    border: 1px solid rgba(37, 99, 235, .18);
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(37, 99, 235, .08), rgba(37, 99, 235, .025));
}
.pmp-explorer-upgrade-copy { min-width: 0; }
.pmp-explorer-badge {
    display: inline-flex;
    align-items: center;
    padding: 5px 9px;
    border-radius: 999px;
    background: rgba(37, 99, 235, .10);
    color: #2563eb;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1px;
}
.pmp-explorer-upgrade-card h2 {
    margin: 9px 0 5px;
    color: var(--text-color);
    font-size: 21px;
    line-height: 1.2;
    letter-spacing: -.3px;
}
.pmp-explorer-upgrade-card p {
    margin: 0;
    max-width: 760px;
    color: var(--text-color);
    opacity: .68;
    font-size: 13px;
    line-height: 1.55;
}
.pmp-explorer-upgrade-actions {
    display: flex;
    align-items: center;
    gap: 9px;
    flex: 0 0 auto;
}
.pmp-explorer-primary-action,
.pmp-explorer-secondary-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 38px;
    padding: 0 14px;
    border-radius: 9px;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
    transition: .18s ease;
}
.pmp-explorer-primary-action {
    background: #2563eb;
    color: #fff;
    border: 1px solid #2563eb;
    box-shadow: 0 6px 16px rgba(37, 99, 235, .18);
}
.pmp-explorer-primary-action:hover { background: #1d4ed8; color: #fff; transform: translateY(-1px); }
.pmp-explorer-secondary-action {
    background: transparent;
    color: var(--text-color);
    border: 1px solid rgba(15, 23, 42, .12);
}
body.dark-mode .pmp-explorer-secondary-action { border-color: rgba(255,255,255,.12); }
.pmp-explorer-secondary-action:hover { background: rgba(15, 23, 42, .05); }
body.dark-mode .pmp-explorer-secondary-action:hover { background: rgba(255,255,255,.06); }

/* Locked Explorer practice is intentionally actionable: clicking it opens plans. */
.mqa-lquiz.pmp-pro-locked {
    cursor: pointer;
}
.mqa-lquiz.pmp-pro-locked:focus-visible {
    outline: 2px solid #2563eb;
    outline-offset: 2px;
}

/* Explorer upgrade action in the sidebar. */
.pmp-sidebar-upgrade {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 42px;
    padding: 0 13px;
    border-radius: 10px;
    background: #2563eb;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    box-shadow: 0 6px 16px rgba(37,99,235,.16);
    transition: .18s ease;
    width:100%;
    justify-content:center;
}
.pmp-sidebar-upgrade:hover { color: #fff; background: #1d4ed8; transform: translateY(-1px); }
.pmp-sidebar-upgrade-icon { font-size: 15px; line-height: 1; }
body.pmp-sidebar-collapsed .pmp-sidebar-upgrade {
    width: 34px;
    min-height: 34px;
    margin-left: auto;
    margin-right: auto;
    padding: 0;
    justify-content: center;
    border-radius: 50%;
}
body.pmp-sidebar-collapsed .pmp-sidebar-upgrade > span:last-child { display:none; }

/* =========================================================
   PMP DASHBOARD OVERVIEW
   ========================================================= */
.pmp-dashboard-overview {
    width: 100%;
    max-width: 1120px;
    margin: 0 auto;
    padding: 28px 10px 56px;
    color: var(--text-color);
}

.pmp-overview-greeting {
    margin-bottom: 28px;
}
.pmp-overview-eyebrow {
    display: block;
    margin-bottom: 7px;
    color: var(--text-color);
    font-size: 16px;
    line-height: 1.35;
    opacity: .78;
}
.pmp-overview-greeting h1 {
    margin: 0;
    color: var(--text-color);
    font-size: clamp(38px, 4.5vw, 58px);
    line-height: 1.05;
    letter-spacing: -1.8px;
    font-weight: 750;
}
.pmp-overview-greeting p {
    margin: 14px 0 0;
    color: var(--text-color);
    font-size: 17px;
    line-height: 1.5;
    opacity: .72;
}

.pmp-overview-primary-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr);
    gap: 18px;
    margin-bottom: 38px;
}
.pmp-overview-continue,
.pmp-overview-exam-date {
    min-width: 0;
    border: 1px solid rgba(15, 23, 42, .09);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 8px 30px rgba(15, 23, 42, .055);
    padding: 24px;
}
body.dark-mode .pmp-overview-continue,
body.dark-mode .pmp-overview-exam-date {
    background: var(--bg-color-light);
    border-color: rgba(255,255,255,.09);
    box-shadow: none;
}
.pmp-overview-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 16px;
}
.pmp-overview-card-label {
    color: #2563eb;
    font-size: 12px;
    line-height: 1.2;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em;
}
.pmp-overview-icon,
.pmp-overview-calendar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    border-radius: 10px;
    background: #eef4ff;
    color: #2563eb;
    font-size: 18px;
    font-weight: 700;
}
.pmp-overview-continue h2,
.pmp-overview-explore-head h2,
.pmp-overview-progress-head h2 {
    margin: 0;
    color: var(--text-color);
    font-weight: 750;
    letter-spacing: -.65px;
}
.pmp-overview-continue h2 { font-size: 27px; }
.pmp-overview-continue p,
.pmp-overview-exam-date p {
    margin: 7px 0 18px;
    color: var(--text-color);
    font-size: 14px;
    line-height: 1.55;
    opacity: .7;
}
.pmp-overview-progress {
    width: 100%;
    height: 7px;
    margin: 18px 0 8px;
    overflow: hidden;
    border-radius: 999px;
    background: #e8edf5;
}
.pmp-overview-progress span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: #2563eb;
}
.pmp-overview-progress-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 18px;
    color: var(--text-color);
    font-size: 11px;
    opacity: .62;
}
.pmp-overview-primary-action,
.pmp-overview-secondary-action,
.pmp-overview-link {
    font-family: inherit;
}
.pmp-overview-primary-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 42px;
    padding: 0 17px;
    border: 0;
    border-radius: 10px;
    background: #2563eb;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.pmp-overview-primary-action:hover {
    background: #1d4ed8;
    color: #fff;
    transform: translateY(-1px);
    box-shadow: 0 8px 18px rgba(37,99,235,.2);
}

.pmp-overview-exam-date .pmp-countdown-number {
    color: var(--text-color);
    font-size: 34px;
    line-height: 1;
    font-weight: 750;
    letter-spacing: -1px;
}
.pmp-countdown-number small {
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0;
    opacity: .65;
}
.pmp-countdown-number.is-today { color: #2563eb; font-size: 30px; }
.pmp-countdown-number.is-past { opacity: .6; }
.pmp-countdown-empty {
    color: var(--text-color);
    font-size: 20px;
    font-weight: 700;
}
.pmp-overview-exam-date-label {
    display: block;
    margin: 0 0 15px;
    color: var(--text-color);
    font-size: 14px;
}
.pmp-overview-secondary-action {
    display: inline-flex;
    align-items: center;
    color: #2563eb;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
}
.pmp-overview-secondary-action:hover { color: #1d4ed8; text-decoration: underline; }

.pmp-overview-explore-head,
.pmp-overview-progress-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    margin: 0 0 15px;
}
.pmp-overview-explore-head h2,
.pmp-overview-progress-head h2 { font-size: 25px; }
.pmp-overview-explore-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 38px;
}
.pmp-overview-explore-card {
    position: relative;
    display: flex;
    align-items: center;
    gap: 11px;
    min-width: 0;
    min-height: 86px;
    padding: 15px;
    border: 1px solid rgba(15,23,42,.09);
    border-radius: 14px;
    background: #fff;
    color: var(--text-color);
    text-align: left;
    cursor: pointer;
    box-shadow: 0 5px 20px rgba(15,23,42,.035);
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
body.dark-mode .pmp-overview-explore-card {
    background: var(--bg-color-light);
    border-color: rgba(255,255,255,.09);
    box-shadow: none;
}
.pmp-overview-explore-card:hover {
    transform: translateY(-2px);
    border-color: rgba(37,99,235,.35);
    box-shadow: 0 10px 25px rgba(15,23,42,.08);
}
.pmp-overview-explore-dot {
    width: 9px;
    height: 9px;
    flex: 0 0 9px;
    border-radius: 50%;
    background: #2563eb;
}
.pmp-overview-explore-card > span:nth-child(2) {
    display: flex;
    flex-direction: column;
    min-width: 0;
    gap: 4px;
}
.pmp-overview-explore-card strong {
    color: var(--text-color);
    font-size: 13px;
    line-height: 1.25;
}
.pmp-overview-explore-card small {
    color: var(--text-color);
    font-size: 11px;
    line-height: 1.35;
    opacity: .58;
}
.pmp-overview-explore-card b {
    margin-left: auto;
    color: #2563eb;
    font-size: 16px;
}
.pmp-overview-link {
    padding: 0;
    border: 0;
    background: transparent;
    color: #2563eb;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
}
.pmp-overview-link:hover { color: #1d4ed8; text-decoration: underline; }
.pmp-overview-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    overflow: hidden;
    border: 1px solid rgba(15,23,42,.09);
    border-radius: 15px;
    background: #fff;
}
body.dark-mode .pmp-overview-stats {
    background: var(--bg-color-light);
    border-color: rgba(255,255,255,.09);
}
.pmp-overview-stats > div {
    padding: 20px 22px;
    border-right: 1px solid rgba(15,23,42,.08);
}
.pmp-overview-stats > div:last-child { border-right: 0; }
body.dark-mode .pmp-overview-stats > div { border-right-color: rgba(255,255,255,.08); }
.pmp-overview-stats span {
    display: block;
    margin-bottom: 6px;
    color: var(--text-color);
    font-size: 11px;
    opacity: .58;
}
.pmp-overview-stats strong {
    color: var(--text-color);
    font-size: 25px;
    line-height: 1;
    font-weight: 750;
}

@media (max-width: 900px) {
    .pmp-overview-primary-grid { grid-template-columns: 1fr; }
    .pmp-overview-explore-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
    .pmp-dashboard-overview { padding: 20px 0 40px; }
    .pmp-overview-greeting h1 { font-size: 38px; letter-spacing: -1px; }
    .pmp-overview-greeting p { font-size: 15px; }
    .pmp-overview-continue, .pmp-overview-exam-date { padding: 18px; }
    .pmp-overview-explore-grid { grid-template-columns: 1fr; }
    .pmp-overview-stats { grid-template-columns: 1fr; }
    .pmp-overview-stats > div { border-right: 0; border-bottom: 1px solid rgba(15,23,42,.08); }
    .pmp-overview-stats > div:last-child { border-bottom: 0; }
    .pmp-overview-explore-head, .pmp-overview-progress-head { align-items: flex-start; flex-direction: column; gap: 8px; }
}

/* =========================================================
   PMP CONCEPT STUDY GUIDES — FULL SCREEN READER
   ========================================================= */
.pmp-full-guide-shell {
    width: min(1080px, calc(100% - 48px));
    margin: 0 auto;
    padding: 34px 0 80px;
    color: var(--text-color);
}
.pmp-full-guide-hero {
    max-width: 900px;
    margin: 0 auto 30px;
    padding: 28px 30px;
    border: 1px solid rgba(37,99,235,.12);
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(37,99,235,.08), transparent 72%);
}
.pmp-full-guide-hero h1 { margin: 6px 0 9px; font-size: 32px; line-height: 1.15; letter-spacing:-.7px; }
.pmp-full-guide-hero p { margin:0; max-width:760px; color:var(--text-color); opacity:.62; line-height:1.65; font-size:14px; }
.pmp-full-guide-meta { display:inline-flex; margin-top:18px; padding:7px 10px; border-radius:999px; background:rgba(37,99,235,.08); color:#2563eb; font-size:11px; font-weight:800; }
.pmp-full-guide-content { max-width:900px; margin:0 auto; }
.pmp-full-guide-section { margin:0 0 22px; padding:24px 26px; border:1px solid rgba(15,23,42,.08); border-radius:16px; background:var(--bg-color-light); box-shadow:0 5px 18px rgba(15,23,42,.035); }
.pmp-full-guide-section > h2 { margin:0 0 16px; font-size:20px; letter-spacing:-.25px; }
.pmp-full-guide-richtext { font-size:14px; line-height:1.75; opacity:.82; }
.pmp-full-guide-richtext p { margin:0 0 12px; }
.pmp-full-guide-items { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.pmp-full-guide-items article { padding:16px; border:1px solid rgba(37,99,235,.09); border-radius:12px; background:var(--bg-color); }
.pmp-full-guide-items h3,.pmp-full-guide-steps h3 { margin:0 0 7px; font-size:14px; }
.pmp-full-guide-items article div,.pmp-full-guide-steps article div { font-size:13px; line-height:1.65; opacity:.72; }
.pmp-full-guide-items article p,.pmp-full-guide-steps article p { margin:0 0 8px; }
.pmp-full-guide-steps { list-style:none; padding:0; margin:0; counter-reset:guide-step; display:grid; gap:12px; }
.pmp-full-guide-steps li { display:grid; grid-template-columns:34px 1fr; gap:13px; align-items:start; }
.pmp-full-guide-steps li > span { width:34px; height:34px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:rgba(37,99,235,.09); color:#2563eb; font-size:12px; font-weight:800; }
.pmp-full-guide-takeaways { margin:0; padding:0; list-style:none; display:grid; gap:9px; }
.pmp-full-guide-takeaways li { position:relative; padding:12px 14px 12px 34px; border-radius:10px; background:rgba(37,99,235,.055); font-size:13px; line-height:1.55; }
.pmp-full-guide-takeaways li:before { content:'✓'; position:absolute; left:13px; top:12px; color:#2563eb; font-weight:800; }
.pmp-full-guide-shell .sqc-tran { display:none; }
.over-window.translated .pmp-full-guide-shell .sqc-org { display:none; }
.over-window.translated .pmp-full-guide-shell .sqc-tran { display:inline; }
.over-window.translated .pmp-full-guide-content .pmp-full-guide-section.sqc-org { display:none; }
.over-window.translated .pmp-full-guide-content .pmp-full-guide-section.sqc-tran { display:block; }
body.dark-mode .pmp-full-guide-section { border-color:rgba(255,255,255,.08); box-shadow:none; }
body.dark-mode .pmp-full-guide-items article { border-color:rgba(255,255,255,.08); }
@media (max-width:700px) {
    .pmp-full-guide-shell { width:calc(100% - 28px); padding-top:22px; }
    .pmp-full-guide-hero { padding:22px; }
    .pmp-full-guide-hero h1 { font-size:26px; }
    .pmp-full-guide-section { padding:19px; }
    .pmp-full-guide-items { grid-template-columns:1fr; }
}

/* =========================================================
   PMP CONCEPT STUDY GUIDES — LIBRARY
   ========================================================= */
.pmp-study-home { max-width:1180px; margin:0 auto; padding:10px 0 60px; }
.pmp-study-home-header { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; padding:8px 0 28px; }
.pmp-study-home-eyebrow,.pmp-study-eyebrow { display:block; text-transform:uppercase; letter-spacing:.12em; font-size:10px; font-weight:800; color:#2563eb; }
.pmp-study-home-header h1 { margin:6px 0 8px; font-size:32px; line-height:1.1; letter-spacing:-.7px; }
.pmp-study-home-header p { max-width:680px; margin:0; color:var(--text-color); opacity:.58; font-size:14px; line-height:1.65; }
.pmp-study-home-total { min-width:130px; padding:15px 18px; border:1px solid rgba(37,99,235,.12); border-radius:14px; background:rgba(37,99,235,.045); text-align:right; }
.pmp-study-home-total strong { display:block; font-size:25px; line-height:1; color:#2563eb; }
.pmp-study-home-total span { display:block; margin-top:5px; font-size:10px; font-weight:700; opacity:.55; }
.pmp-study-domain-tabs { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-bottom:24px; }
.pmp-study-domain-tab { display:flex; align-items:center; gap:12px; min-height:70px; padding:12px 15px; border:1px solid rgba(15,23,42,.08); border-radius:14px; background:var(--bg-color-light); color:var(--text-color); text-align:left; cursor:pointer; transition:.18s ease; }
.pmp-study-domain-tab:hover { border-color:rgba(37,99,235,.24); transform:translateY(-1px); }
.pmp-study-domain-tab.active { border-color:rgba(37,99,235,.28); background:rgba(37,99,235,.065); box-shadow:0 8px 24px rgba(37,99,235,.07); }
.pmp-study-domain-icon { width:34px; height:34px; border-radius:10px; display:flex; align-items:center; justify-content:center; flex:0 0 34px; background:rgba(37,99,235,.09); color:#2563eb; }
.pmp-study-domain-icon svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.pmp-study-domain-tab strong { display:block; font-size:13px; }
.pmp-study-domain-tab small { display:block; margin-top:3px; font-size:10px; opacity:.52; }
.pmp-study-domain-panel { display:none; }
.pmp-study-domain-panel.active { display:block; animation:pmpStudyFade .18s ease; }
@keyframes pmpStudyFade { from{opacity:.4;transform:translateY(3px)} to{opacity:1;transform:none} }
.pmp-study-domain-heading { display:flex; justify-content:space-between; margin-bottom:14px; }
.pmp-study-domain-heading span { text-transform:uppercase; letter-spacing:.1em; font-size:9px; font-weight:800; color:#2563eb; }
.pmp-study-domain-heading h2 { margin:4px 0 4px; font-size:21px; letter-spacing:-.3px; }
.pmp-study-domain-heading p { margin:0; font-size:12px; opacity:.52; }
.pmp-study-concept-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.pmp-study-concept-card { min-height:205px; display:flex; flex-direction:column; padding:18px; border:1px solid rgba(15,23,42,.08); border-radius:15px; background:var(--bg-color-light); box-shadow:0 5px 18px rgba(15,23,42,.025); transition:.18s ease; }
.pmp-study-concept-card:hover { transform:translateY(-2px); border-color:rgba(37,99,235,.18); box-shadow:0 12px 28px rgba(15,23,42,.07); }
.pmp-study-concept-top { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.pmp-study-concept-number { font-size:10px; font-weight:800; color:#2563eb; }
.pmp-study-concept-tag { padding:5px 8px; border-radius:999px; background:rgba(15,23,42,.045); font-size:9px; font-weight:700; opacity:.65; }
.pmp-study-concept-card h3 { margin:18px 0 7px; font-size:16px; line-height:1.25; letter-spacing:-.2px; }
.pmp-study-concept-card p { margin:0; font-size:12px; line-height:1.65; opacity:.58; }
.pmp-study-concept-open { display:flex; align-items:center; justify-content:space-between; width:100%; margin-top:auto; padding:11px 0 0; border:0; border-top:1px solid rgba(15,23,42,.07); background:none; color:#2563eb; font-size:11px; font-weight:800; cursor:pointer; text-align:left; }
.pmp-study-concept-open b { font-size:17px; font-weight:500; transition:transform .18s ease; }
.pmp-study-concept-open:hover b { transform:translateX(3px); }
.pmp-study-empty { grid-column:1/-1; padding:30px; border:1px dashed rgba(15,23,42,.12); border-radius:14px; text-align:center; }
.pmp-study-empty strong,.pmp-study-empty span { display:block; }
.pmp-study-empty span { margin-top:5px; font-size:12px; opacity:.55; }
body.dark-mode .pmp-study-domain-tab,body.dark-mode .pmp-study-concept-card { border-color:rgba(255,255,255,.08); box-shadow:none; }
body.dark-mode .pmp-study-concept-open { border-color:rgba(255,255,255,.08); }
@media(max-width:900px){ .pmp-study-concept-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.pmp-study-domain-tabs{grid-template-columns:1fr;} }
@media(max-width:600px){ .pmp-study-home{padding-top:0;}.pmp-study-home-header{align-items:flex-start;flex-direction:column;}.pmp-study-home-total{text-align:left;width:100%;box-sizing:border-box;}.pmp-study-concept-grid{grid-template-columns:1fr;}.pmp-study-home-header h1{font-size:27px;} }


/* Sidebar language switch — match the dark-mode control. */
.pmp-sidebar-language {
    width:34px;
    flex:0 0 34px;
    height:34px;
    padding:0;
    font:inherit;
    font-size:11px;
    font-weight:650;
    line-height:1;
    text-transform:uppercase;
    letter-spacing:.02em;
    border:0;
    background:var(--bg-color-light);
    color:var(--text-color);
    border-radius:20px;
    box-sizing:border-box;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    transition:background .16s ease, color .16s ease, transform .12s ease;
}
.pmp-sidebar-language:hover {
    background:rgba(37,99,235,.09);
    color:#2563eb;
}
.pmp-sidebar-language:active { transform:scale(.94); }
.pmp-sidebar-language.is-changing { opacity:.55; pointer-events:none; }
body.dark-mode .pmp-sidebar-language { background:var(--bg-color-light); color:var(--text-color); }
body.dark-mode .pmp-sidebar-language:hover { background:rgba(96,165,250,.08); color:#60a5fa; }

@media (max-width:900px) {
    .pmp-sidebar-language { width:34px; flex-basis:34px; }
}

body.pmp-sidebar-collapsed .pmp-sidebar-language {
    width:34px;
    flex-basis:34px;
    padding:0;
}

body.pmp-sidebar-collapsed .pmp-sidebar-language .dashboard-lang-current { font-size:10px; }

/* =========================================================
   Mobile navigation
   Desktop keeps the existing fixed sidebar. On phones the
   sidebar becomes an off-canvas drawer with a compact top bar.
   ========================================================= */
.pmp-mobile-topbar,
.pmp-mobile-sidebar-overlay {
    display:none;
}

@media (max-width: 767px) {
    body.pmp-mobile-sidebar-open { overflow:hidden; }

    .pmp-dashboard-shell {
        margin-left:0 !important;
        min-height:100vh;
    }
    
    .pmp-mobile-topbar {
        position: fixed;
        width: 100%;
        left: 0;
        top: 0;
        z-index:99990;
        height:58px;
        display:flex;
        align-items:center;
        gap:12px;
        padding:0 14px;
        background:rgba(var(--bg-color), .97);
        border-bottom:1px solid rgba(0,0,0,.07);
        box-sizing:border-box;
        backdrop-filter:blur(12px);
        -webkit-backdrop-filter:blur(12px);
    }

    body.dark-mode .pmp-mobile-topbar {
        border-bottom-color:rgba(255,255,255,.08);
    }

    .pmp-mobile-menu-toggle {
        width:36px;
        height:36px;
        flex:0 0 36px;
        display:flex;
        align-items:center;
        justify-content:center;
        padding:0;
        border:0;
        border-radius:10px;
        background:var(--bg-color-light);
        color:var(--text-color);
        cursor:pointer;
    }

    .pmp-mobile-menu-toggle svg {
        width:19px;
        height:19px;
        fill:none;
        stroke:currentColor;
        stroke-width:1.8;
        stroke-linecap:round;
    }

    .pmp-mobile-close-icon { display:none; }
    body.pmp-mobile-sidebar-open .pmp-mobile-menu-icon { display:none; }
    body.pmp-mobile-sidebar-open .pmp-mobile-close-icon { display:block; }

    .pmp-mobile-brand {
        font-size:15px;
        font-weight:800;
        letter-spacing:-.3px;
        color:var(--text-color);
    }

    .pmp-sidebar {
        background-color: var(--bg-color-light);
        width:280px !important;
        max-width:calc(100vw - 42px);
        padding:12px;
        transform:translateX(-105%);
        transition:transform .24s ease;
        box-shadow:8px 0 32px rgba(15,23,42,.10);
    }

    body.pmp-mobile-sidebar-open .pmp-sidebar {
        transform:translateX(0);
    }

    .pmp-mobile-sidebar-overlay {
        position:fixed;
        inset:0;
        z-index:99998;
        display:block;
        background:rgba(15,23,42,.34);
        opacity:0;
        visibility:hidden;
        pointer-events:none;
        transition:opacity .24s ease, visibility .24s ease;
    }

    body.pmp-mobile-sidebar-open .pmp-mobile-sidebar-overlay {
        opacity:1;
        visibility:visible;
        pointer-events:auto;
    }

    /* The desktop collapse state is not used on mobile. */
    body.pmp-sidebar-collapsed .pmp-sidebar {
        width:280px !important;
        transform:translateX(-105%);
    }

    body.pmp-mobile-sidebar-open.pmp-sidebar-collapsed .pmp-sidebar {
        transform:translateX(0);
    }

    body.pmp-sidebar-collapsed .pmp-sidebar-brand,
    body.pmp-sidebar-collapsed .pmp-sidebar-link > span,
    body.pmp-sidebar-collapsed .pmp-sidebar-group-toggle > span,
    body.pmp-sidebar-collapsed .pmp-sidebar-chevron,
    body.pmp-sidebar-collapsed .pmp-sidebar-subnav,
    body.pmp-sidebar-collapsed .pmp-sidebar-account > span {
        display:initial;
    }

    body.pmp-sidebar-collapsed .pmp-sidebar-brand-short {
        display:none;
    }

    body.pmp-sidebar-collapsed .pmp-sidebar-top {
        justify-content:space-between;
        padding-left:8px;
        padding-right:4px;
    }

    body.pmp-sidebar-collapsed .pmp-sidebar-link,
    body.pmp-sidebar-collapsed .pmp-sidebar-group-toggle {
        justify-content:flex-start;
        padding:0 11px;
    }

    body.pmp-sidebar-collapsed .pmp-sidebar-bottom {
        flex-direction:row;
        align-items:center;
        justify-content:stretch;
        gap:6px;
    }

    body.pmp-sidebar-collapsed .pmp-sidebar-account {
        flex:1 1 auto;
        width:auto;
        padding:0 13px;
    }

    body.pmp-sidebar-collapsed .pmp-sidebar-dark-mode,
    body.pmp-sidebar-collapsed .pmp-sidebar-language {
        flex:0 0 34px;
        width:34px;
    }

    .pmp-sidebar-toggle {
        width:34px;
        height:34px;
        flex-basis:34px;
    }

    body.pmp-mobile-sidebar-open .pmp-sidebar-toggle svg {
        transform:none !important;
    }

    #pmp-body {
        padding:0 14px 24px;
    }
}

@media (max-width: 900px) {
    .pmp-explorer-upgrade-card { align-items: flex-start; flex-direction: column; gap: 16px; }
    .pmp-explorer-upgrade-actions { width: 100%; }
    .pmp-explorer-primary-action, .pmp-explorer-secondary-action { flex: 1; }
}
@media (max-width: 600px) {
    .pmp-explorer-upgrade-card { padding: 18px; }
    .pmp-explorer-upgrade-actions { flex-direction: column; }
    .pmp-explorer-primary-action, .pmp-explorer-secondary-action { width: 100%; }
}
