/* Caregiver Training Academy LMS */
.cca-lms{--navy:#1f3a5f;--teal:#2a9d8f;--ink:#262b33;--grey:#555a63;--line:#e3e8ee;--mint:#eef5f2;
	max-width:1440px;margin:0 auto;color:var(--ink);font-size:16px;line-height:1.5}
/* Break the training out of a narrow theme content column so the video can use the space.
   Centered on the viewport, capped at 1440px, and kept within 94vw so no horizontal scroll. */
@media(min-width:1000px){
	.cca-lms{width:min(1440px,94vw);max-width:none;
		margin-left:calc(50% - min(720px,47vw));margin-right:0}
}
.cca-course-title{color:var(--navy);font-weight:800;margin:.2em 0}
.cca-sub{color:var(--grey);margin-top:0}
/* Support/help notice — same font family, color and weight as the course title. */
.cca-support-note{font-family:inherit;color:var(--navy);font-weight:800;font-size:1.15rem;line-height:1.35;margin:.35em 0 .6em}
.cca-support-note a{color:var(--navy);text-decoration:underline;white-space:nowrap}
.cca-support-note a:hover{color:var(--teal)}
.cca-notice,.cca-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px 18px;margin:12px 0}

/* dashboard grid */
.cca-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;margin:18px 0}
.cca-mcard{display:block;background:#fff;border:1px solid var(--line);border-left:5px solid var(--teal);
	border-radius:10px;padding:16px;text-decoration:none;color:inherit;transition:box-shadow .15s,transform .15s}
.cca-mcard:hover{box-shadow:0 6px 20px rgba(31,58,95,.12);transform:translateY(-2px)}
.cca-mcard.is-complete{border-left-color:var(--navy);background:var(--mint)}
.cca-mcard.is-locked{border-left-color:#c9ced6;background:#f6f7f9;cursor:not-allowed;opacity:.72}
.cca-mcard.is-locked:hover{box-shadow:none;transform:none}
.cca-mcard.is-locked .cca-mtitle{color:#7a828d}
.cca-mnum{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--teal);font-weight:700}
.cca-mtitle{font-weight:700;color:var(--navy);margin:4px 0 8px;line-height:1.25}
.cca-meta{font-size:12.5px;color:var(--grey);margin-bottom:10px}
.cca-status{font-size:12.5px;color:var(--grey);margin-top:6px}

/* progress bar */
.cca-bar{background:var(--line);border-radius:6px;height:8px;overflow:hidden}
.cca-bar>span{display:block;height:100%;background:var(--teal);border-radius:6px;transition:width .4s}
.cca-bar-lg{height:12px;margin:10px 0 22px}

/* module player */
.cca-back a{color:var(--teal);text-decoration:none}
.cca-back a:hover{text-decoration:underline}
/* Persistent "All modules" link repeated at the bottom so trainees needn't scroll up. */
.cca-back-bottom{margin-top:20px;padding-top:16px;border-top:1px solid var(--line);font-weight:600}
.cca-part{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 18px;margin:16px 0}
.cca-part.is-done{border-color:#cfe6df}
.cca-part-title{color:var(--navy);margin:.1em 0 .6em;display:flex;align-items:center;gap:8px}
.cca-check{display:inline-flex;width:22px;height:22px;border-radius:50%;background:var(--line);color:#fff;
	align-items:center;justify-content:center;font-size:13px}
.cca-part.is-done .cca-check{background:var(--teal)}
.cca-part.cca-next{border-color:var(--teal);box-shadow:0 0 0 2px rgba(42,157,143,.18)}
.cca-resume-badge{display:inline-block;background:var(--teal);color:#fff;font-size:11px;font-weight:700;
	padding:2px 9px;border-radius:20px;margin-left:8px;vertical-align:middle}
.cca-done-badge{display:inline-block;background:#e7efe9;color:#1c7c5b;font-size:11px;font-weight:700;
	padding:2px 9px;border-radius:20px;margin-left:8px;vertical-align:middle}
.cca-video{width:100%;border-radius:8px;background:#000;aspect-ratio:16/9}
/* Captions live in their own bar UNDER the video (native overlay is disabled in JS),
   so slide content is never covered. Fixed min-height avoids layout jump between cues. */
.cca-caption{min-height:2.5em;margin:8px 0 0;padding:9px 18px;border-radius:8px;background:#141b24;color:#fff;
	font-size:17px;line-height:1.4;text-align:center;display:flex;align-items:center;justify-content:center}
@media(max-width:600px){.cca-caption{font-size:15px}}

/* quiz */
.cca-quiz{margin-top:14px;border-top:1px dashed var(--line);padding-top:12px}
.cca-quiz-head{display:flex;justify-content:space-between;align-items:center;color:var(--navy)}
.cca-quiz-status{color:var(--teal);font-weight:700}
.cca-q{padding:10px 12px;border:1px solid transparent;border-radius:8px;margin:8px 0}
.cca-q-text{font-weight:700;color:#0b1626;font-size:16.5px;line-height:1.45;margin:0 0 8px}
.cca-opt{display:flex;gap:8px;align-items:flex-start;padding:5px 6px;border-radius:6px;cursor:pointer}
.cca-opt span{color:#111820;font-weight:600;font-size:15.5px;line-height:1.4}
.cca-opt:hover{background:var(--mint)}
.cca-q.q-right{background:#eefaf4;border-color:#bfe6d7}
.cca-q.q-wrong{background:#fdeef0;border-color:#f2c9cf}
.cca-opt.opt-correct{background:#dff4ea;font-weight:600}
.cca-quiz.is-passed .cca-quiz-form{opacity:.92}
.cca-quiz-result{margin-top:10px;font-weight:600}
.cca-quiz-result.ok{color:#1c7c5b}
.cca-quiz-result.fail{color:#b23a48}

/* buttons */
.cca-btn{display:inline-block;background:var(--teal);color:#fff !important;border:none;border-radius:8px;
	padding:10px 18px;font-weight:700;text-decoration:none;cursor:pointer;font-size:15px}
.cca-btn:hover{background:#238577}
.cca-btn-ghost{background:transparent;color:var(--teal) !important;border:1.5px solid var(--teal)}
.cca-quiz-submit{margin-top:8px}
.cca-actions{margin:18px 0}
.cca-passnote{color:var(--grey);font-size:13px;margin-top:14px}
/* "What's left to finish this module" checklist */
.cca-todo{background:#fff7ec;border:1px solid #f0d9a8;border-left:4px solid #d9a441;border-radius:10px;
	padding:14px 18px;margin:16px 0}
.cca-todo-head{margin:0 0 6px;color:#7a5b18;font-size:15px}
.cca-todo ul{margin:6px 0 8px 2px;padding-left:18px}
.cca-todo li{margin:4px 0;color:#15233b}
.cca-todo li a{color:var(--navy);font-weight:600;text-decoration:none}
.cca-todo li a:hover{text-decoration:underline}
.cca-todo-note{margin:6px 0 0;font-size:12.5px;color:var(--grey)}

/* completion */
.cca-complete-box{background:var(--mint);border:1px solid #cfe6df;border-radius:12px;padding:18px;margin-top:18px;text-align:center}
.cca-complete-box p{margin:.2em 0 .8em}

/* transcript table + verify */
.cca-table{width:100%;border-collapse:collapse;margin:14px 0;background:#fff}
.cca-table th,.cca-table td{border:1px solid var(--line);padding:9px 11px;text-align:left;font-size:14.5px}
.cca-table th{background:var(--navy);color:#fff}
.cca-ok{color:#1c7c5b;font-weight:700}
.cca-verify-form{display:flex;gap:8px;margin:12px 0}
.cca-verify-form input{flex:1;padding:10px;border:1px solid var(--line);border-radius:8px}
.cca-valid{border-left:5px solid var(--teal)}
.cca-invalid{border-left:5px solid #b23a48}
@media(max-width:600px){.cca-verify-form{flex-direction:column}}

/* --- playback speed control --- */
.cca-vtools{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:6px 0 2px}
.cca-vtools-label{font-size:12.5px;color:var(--grey);margin-right:2px}
.cca-speed{border:1px solid var(--line);background:#fff;color:var(--grey);border-radius:14px;
	padding:3px 10px;font-size:12.5px;cursor:pointer;line-height:1.4}
.cca-speed:hover{border-color:var(--teal);color:var(--navy)}
.cca-speed.is-active{background:var(--navy);border-color:var(--navy);color:#fff;font-weight:600}
/* Below-video caption on/off toggle (independent of the browser's native CC menu) */
.cca-cc-toggle{border:1px solid var(--line);background:#fff;color:var(--grey);border-radius:14px;
	padding:3px 12px;font-size:12.5px;cursor:pointer;line-height:1.4;margin-left:8px}
.cca-cc-toggle:before{content:"CC ";font-weight:700}
.cca-cc-toggle:hover{border-color:var(--teal);color:var(--navy)}
.cca-cc-toggle.is-active{background:var(--teal);border-color:var(--teal);color:#fff;font-weight:600}

/* --- quiz remediation + rationale --- */
.cca-review-link{display:inline-block;margin-left:10px;color:var(--teal);font-weight:600;text-decoration:none}
.cca-review-link:hover{text-decoration:underline}
.cca-rationale{margin:6px 0 0;padding:8px 11px;background:#fff7ec;border-left:3px solid #d9a441;
	border-radius:6px;font-size:13.5px;color:#7a5b18}
.cca-q.q-right .cca-q-text{color:#1c7c5b}
.cca-q.q-wrong .cca-q-text{color:#b23a48}

/* --- attempt counter --- */
.cca-attempts{float:right;font-size:12.5px;color:#8a5b00;background:#fff4e0;border:1px solid #f0d9a8;
	border-radius:12px;padding:1px 10px;font-weight:600}

/* --- job aids / resources --- */
.cca-resources{background:var(--mint);border:1px solid #cfe6df;border-radius:10px;padding:12px 16px;margin:12px 0}
.cca-resources ul{margin:8px 0 0;padding-left:2px;list-style:none}
.cca-resources li{margin:4px 0}
.cca-resources a{color:var(--navy);text-decoration:none;font-weight:600}
.cca-resources a:hover{text-decoration:underline}

/* --- interactive transcript --- */
.cca-transcript-toggle{margin-left:auto;border:1px solid var(--line);background:#fff;color:var(--navy);
	border-radius:14px;padding:3px 12px;font-size:12.5px;cursor:pointer;font-weight:600}
.cca-transcript-toggle:hover{border-color:var(--teal)}
.cca-transcript{max-height:260px;overflow:auto;border:1px solid var(--line);border-radius:8px;
	background:#fff;padding:6px;margin:6px 0 2px}
.cca-cue{display:block;width:100%;text-align:left;border:0;background:none;cursor:pointer;
	padding:5px 8px;border-radius:6px;font-size:13.5px;line-height:1.45;color:var(--ink)}
.cca-cue:hover{background:var(--mint)}
.cca-cue.is-active{background:#eaf1ff;color:var(--navy);font-weight:600}
.cca-cue-time{display:inline-block;min-width:42px;color:var(--teal);font-variant-numeric:tabular-nums;font-weight:700}

/* --- policy acknowledgments --- */
.cca-attest{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 18px;margin:16px 0}
.cca-attest h3{margin:.1em 0;color:var(--navy)}
.cca-attest-item{border-top:1px solid var(--line);padding:12px 0}
.cca-attest-item:first-of-type{border-top:0}
.cca-attest-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.cca-attest-ver{font-size:12px;color:var(--grey);background:#f0f2f5;border-radius:10px;padding:1px 8px}
.cca-attest-ok{color:#1c7c5b;font-weight:700}
.cca-attest-need{color:#8a5b00;background:#fff4e0;border:1px solid #f0d9a8;border-radius:10px;padding:1px 8px;font-size:12.5px;font-weight:600}
.cca-attest-body{margin:8px 0}
.cca-attest-body summary{cursor:pointer;color:var(--teal);font-weight:600}
.cca-attest-form{margin-top:8px;display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.cca-attest-check{font-size:14.5px}
.cca-attest-sign-row{display:flex;gap:8px;flex-wrap:wrap}
.cca-attest-name{padding:8px 10px;border:1px solid var(--line);border-radius:8px;min-width:240px}
.cca-attest-result{font-size:13.5px}
.cca-attest-result.fail{color:#b23a48}
.cca-attest-item.is-signed{opacity:.85}

/* --- employee login form --- */
.cca-login{max-width:420px}
.cca-login .login-username,.cca-login .login-password,.cca-login .login-remember,.cca-login .login-submit{margin:10px 0}
.cca-login label{display:block;font-weight:600;margin-bottom:4px;color:var(--navy)}
.cca-login input[type=text],.cca-login input[type=password]{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:8px;font-size:15px}
.cca-login .login-remember label{font-weight:400;color:var(--ink)}
.cca-login .login-remember input{margin-right:6px}
.cca-login input[type=submit]{background:var(--teal);color:#fff;border:0;border-radius:8px;padding:11px 20px;font-size:15px;font-weight:700;cursor:pointer}
.cca-login input[type=submit]:hover{filter:brightness(.95)}

/* --- extra question types --- */
.cca-hint{font-size:12.5px;color:var(--grey);margin:4px 0 0;font-style:italic}
.cca-fill{width:100%;max-width:360px;padding:9px 11px;border:1px solid var(--line);border-radius:8px;font-size:15px}
.cca-match-row{display:flex;align-items:center;gap:10px;margin:6px 0;flex-wrap:wrap}
.cca-match-left{min-width:180px;font-weight:600}
.cca-match-sel,.cca-order-sel{padding:7px 9px;border:1px solid var(--line);border-radius:8px;font-size:14px;background:#fff}
.cca-order-row{display:flex;align-items:center;gap:10px;margin:6px 0}
.cca-order-sel{min-width:64px}
.cca-order-item{font-size:14.5px}
.cca-solution{margin:6px 0 0;padding:7px 10px;background:#eaf4ee;border-left:3px solid #1c7c5b;border-radius:6px;font-size:13.5px;color:#155c43}

/* --- in-video knowledge check (modal) --- */
.cca-cp{position:fixed;inset:0;background:rgba(15,25,40,.62);display:flex;align-items:center;justify-content:center;z-index:99999;padding:16px}
.cca-cp-card{background:#fff;border-radius:14px;padding:22px 24px;max-width:540px;width:100%;box-shadow:0 18px 50px rgba(0,0,0,.35)}
.cca-cp-q{font-size:17px;font-weight:700;color:var(--navy);margin:.1em 0 .8em}
.cca-cp-opts .cca-opt{display:flex;gap:9px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;margin:6px 0;cursor:pointer}
.cca-cp-opts .cca-opt:hover{border-color:var(--teal);background:var(--mint)}
.cca-cp-msg{margin:10px 0;font-size:14px}
.cca-cp-msg.fail{color:#b23a48}
.cca-cp-card .cca-btn{margin-top:8px}

/* --- manual "mark as watched" fallback --- */
.cca-markwatched{margin-left:auto;border:1px solid #1c7c5b;background:#eaf4ee;color:#12633f;
	border-radius:14px;padding:3px 12px;font-size:12.5px;font-weight:700;cursor:pointer}
.cca-markwatched:hover{background:#d9efe2}

/* --- branching practice scenarios --- */
.cca-scenarios{margin:16px 0}
.cca-scenarios h3{color:var(--navy);margin:.1em 0}
.cca-scenario{background:#fff;border:1px solid var(--line);border-left:5px solid var(--navy);border-radius:12px;padding:16px 18px;margin:12px 0}
.cca-sc-title{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--teal);font-weight:700;margin-bottom:8px}
.cca-sc-text{font-size:15.5px;color:#15233b;font-weight:600;margin:0 0 10px}
.cca-sc-choices{display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.cca-sc-choice{text-align:left;width:100%;border:1px solid var(--line);background:#fff;color:#1b2330;
	border-radius:8px;padding:10px 14px;font-size:14.5px;font-weight:600;cursor:pointer}
.cca-sc-choice:hover{border-color:var(--teal);background:var(--mint)}
.cca-sc-badge{display:inline-block;font-weight:800;font-size:13px;padding:3px 12px;border-radius:20px;margin-bottom:8px}
.cca-sc-badge.cca-sc-good{background:#e7f6ee;color:#0a7d3f}
.cca-sc-badge.cca-sc-bad{background:#fdeef0;color:#b23a48}
.cca-sc-badge.cca-sc-neutral{background:#eef2f7;color:#3a4a63}
.cca-sc-restart{margin-top:6px}

/* --- Sequential gating: locked sections, video-gated knowledge checks --- */
.cca-part-locked { opacity: .6; }
.cca-part-locked .cca-part-title { color: #6b7280; }
.cca-locked-msg { margin: .4rem 0 0; color: #6b7280; font-style: italic; }
.cca-lock { margin-right: .35rem; }
.cca-kc-gate.cca-kc-locked .cca-quiz { display: none; }
.cca-kc-lockmsg { margin: .5rem 0; padding: .6rem .85rem; background: #f1f4f7; border-radius: 8px;
                  color: #4b5563; font-style: italic; }
/* A passed quiz is read-only (belt-and-suspenders with the JS input disable). */
.cca-quiz.is-passed .cca-q input,
.cca-quiz.is-passed .cca-q select,
.cca-quiz.is-passed .cca-q textarea { pointer-events: none; }

/* --- Focused course view: collapsed completed sections + highlighted current --- */
details.cca-part-collapsed{padding:0;}
details.cca-part-collapsed>summary{list-style:none;cursor:pointer;display:flex;align-items:center;
  gap:10px;padding:13px 16px;flex-wrap:wrap;}
details.cca-part-collapsed>summary::-webkit-details-marker{display:none;}
.cca-part-summary .cca-check{color:#2A9D8F;font-weight:800;}
.cca-part-name{font-weight:600;color:#1F3A5F;flex:1 1 auto;}
.cca-part-grade{background:#E6F4F1;color:#1F7D72;font-weight:600;font-size:12.5px;
  padding:2px 11px;border-radius:999px;white-space:nowrap;}
.cca-part-review{font-size:12px;color:#6B7280;text-decoration:underline;white-space:nowrap;}
details.cca-part-collapsed[open]>summary .cca-part-review::after{content:" (close)";}
.cca-part-body{padding:2px 16px 16px;}
/* the current section stands out as "you are here" */
.cca-part.cca-current{border:2px solid #2A9D8F;box-shadow:0 3px 16px rgba(42,157,143,.13);}
.cca-part.cca-current .cca-resume-badge{background:#2A9D8F;color:#fff;}

/* --- Content protection for trainees (.cca-protect present only for non-admins) --- */
.cca-protect .cca-quiz, .cca-protect .cca-q-text, .cca-protect .cca-opt, .cca-protect .cca-q{
  -webkit-user-select:none; -moz-user-select:none; -ms-user-select:none; user-select:none;
}
.cca-protect .cca-video{ -webkit-user-drag:none; user-drag:none; }
@media print{
  .cca-protect .cca-quiz, .cca-protect .cca-video, .cca-protect .cca-exam-wrap{ display:none !important; }
}

/* --- Module-grade retake model (v1.19.0) --- */
.cca-retake-banner{border-left:5px solid #d98324;background:#fff7ee}
.cca-retake-banner p{margin:0 0 10px}
.cca-passed-banner{border-left:5px solid var(--teal);background:var(--mint)}
.cca-mcard.needs-retake{border-left-color:#d98324;background:#fff7ee}
.cca-warn{color:#b26a00;font-weight:600}
.cca-quiz.is-locked{opacity:.96}
.cca-quiz-recorded{margin:8px 0 0;color:var(--grey);font-size:13.5px;font-style:italic}
.cca-quiz-review{margin-top:10px}
.cca-q-review{background:#f7faf9;border:1px solid var(--line);border-radius:8px;padding:10px 12px;margin:8px 0}
.cca-q-review .cca-q-text{margin:0 0 6px;font-weight:600;color:var(--ink)}
.cca-opt-static{display:block;padding:6px 10px;border:1px solid var(--line);border-radius:6px;margin:4px 0;background:#fff}
.cca-opt-static.opt-correct{background:#dff4ea;border-color:#bfe6d7;font-weight:600}
.cca-q-review .cca-solution{margin:6px 0 0;font-weight:600;color:#1c7c5b}
.cca-q-review .cca-rationale{margin:4px 0 0;font-size:13px;color:var(--grey)}


/* --- account / logout bar (trainees have the WP admin bar hidden) --- */
.cca-acct{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin:0 0 12px;font-size:13px;color:#5b6b64}
.cca-acct-who{opacity:.9}
.cca-acct-out{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid #d8e0dc;color:#1f6f5c;border-radius:8px;padding:6px 12px;font-weight:700;text-decoration:none}
.cca-acct-out svg{width:16px;height:16px}
.cca-acct-out:hover{background:#1f6f5c;color:#fff;border-color:#1f6f5c}
