.tmjr-role-training { --rt-line: #ced9e4; --rt-panel: #fff; --rt-ink: #16324a; --tmjr-text-colour: var(--rt-ink); --tmjr-panel-bg: var(--rt-panel); --tmjr-border-colour: var(--rt-line); --tmjr-dark-panel-gradient: var(--rt-panel); --tmjr-muted-colour: var(--rt-ink); }
.tmjr-role-training .tmjr-card { margin-top: 20px; border-top: 4px solid #218db1; border-radius: 16px; padding: 24px; background: var(--rt-panel); color: var(--rt-ink); }
.tmjr-role-training .rt-hero { padding: 28px; border-radius: 18px; }
.tmjr-role-training .rt-actions,.tmjr-role-training .rt-form,.tmjr-role-training .rt-filters { display: flex; flex-wrap: wrap; gap: 12px; align-items: end; margin: 18px 0; }
.tmjr-role-training label { display: grid; gap: 6px; font-weight: 600; max-width: 100%; }
.tmjr-role-training input,.tmjr-role-training select { min-height: 42px; max-width: 100%; border: 1px solid var(--rt-line); border-radius: 9px; padding: 9px 12px; background: var(--rt-panel); color: var(--rt-ink); }
.tmjr-role-training .rt-scroll { overflow: auto; max-height: 650px; border: 1px solid var(--rt-line); border-radius: 12px; margin-top: 14px; }
.tmjr-role-training .rt-matrix { min-width: 2600px; }
.tmjr-role-training table { width: 100%; border-collapse: collapse; }
.tmjr-role-training th,.tmjr-role-training td { padding: 12px; border-bottom: 1px solid var(--rt-line); text-align: left; vertical-align: top; color: var(--rt-ink); }
.tmjr-role-training thead th { position: sticky; top: 0; background: var(--rt-panel); z-index: 2; }
.tmjr-role-training .rt-matrix th:first-child { position: sticky; left: 0; min-width: 220px; background: var(--rt-panel); z-index: 1; }
.tmjr-role-training .rt-matrix thead th:first-child { z-index: 3; }
.tmjr-role-training small { display: block; margin: 6px 0; font-size: 12px; font-weight: 400; overflow-wrap: anywhere; }
.tmjr-role-training .rt-status { display: inline-block; border-radius: 7px; font-size: 12px; padding: 5px 9px; font-weight: 750; white-space: nowrap; }
.tmjr-role-training .rt-pass { background: #d5f4de; color: #12582c; border: 1px solid #78be8d; }
.tmjr-role-training .rt-assigned { background: #fff0b3; color: #694700; border: 1px solid #cfae38; }
.tmjr-role-training .rt-course-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,220px),1fr)); gap: 12px; margin: 16px 0; }
.tmjr-role-training .rt-course-grid article { border: 1px solid var(--rt-line); padding: 15px; border-radius: 10px; }
.tmjr-role-training .rt-guide { margin: 10px 0; border: 1px solid var(--rt-line); border-radius: 10px; padding: 14px; }
.tmjr-role-training summary { cursor: pointer; padding: 8px; font-weight: 700; border-radius: 8px; }
.tmjr-role-training :is(a,button,input,select,summary,.rt-scroll):focus-visible { outline: 3px solid #1688bc; outline-offset: 3px; }
.tmjr-role-training .rt-notice { border-left: 4px solid #218db1; background: var(--rt-panel); padding: 12px 16px; }
body.tmjr-appearance-dark .tmjr-role-training { --rt-line: #405269; --rt-panel: #172739; --rt-ink: #edf4fc; }
.tmjr-role-training :is(.tmjr-card,.rt-hero,.rt-notice) { background: var(--rt-panel) !important; color: var(--rt-ink) !important; }
.tmjr-role-training :is(h2,h3,h4,p,label,summary,article,small,th,td) { color: var(--rt-ink) !important; }
.tmjr-role-training :is(th,td,input,select) { background-color: var(--rt-panel) !important; color: var(--rt-ink) !important; }
#hatton-assist-root .tmjr-role-training :is(input,select),body .tmjr-role-training.tmjr-wrap :is(input,select) { background: var(--rt-panel) !important; color: var(--rt-ink) !important; border-color: var(--rt-line) !important; }
.tmjr-role-training input::placeholder { color: var(--rt-ink); opacity: .7; }
.tmjr-role-training .tmjr-button { background: #126588 !important; color: #fff !important; border: 1px solid #267f9f !important; text-decoration: none !important; }
.tmjr-role-training .tmjr-button-secondary { background: var(--rt-panel) !important; color: var(--rt-ink) !important; border-color: var(--rt-line) !important; }
@media(max-width:640px) { .tmjr-role-training .tmjr-card { padding: 16px; } .tmjr-role-training .rt-form label,.tmjr-role-training .rt-filters label { width: 100%; } .tmjr-role-training .rt-hero { padding: 18px; } }
.tmjr-role-training dialog.rt-modal { position: fixed; inset: 0; margin: auto !important; width: min(960px, calc(100vw - 32px)); max-width: calc(100vw - 32px); max-height: 85vh; max-height: 85dvh; overflow: auto; border: 1px solid var(--rt-line); box-shadow: 0 24px 90px #0007; }
.tmjr-role-training dialog.rt-modal:not([open]) { display: none !important; }
.tmjr-role-training dialog.rt-modal::backdrop { background: #071524bd; }
.tmjr-role-training .rt-modal-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.tmjr-role-training .rt-modal-heading h3 { margin: 0; }
.tmjr-role-training .rt-modal-heading { position: sticky; top: -24px; padding: 12px 0; background: var(--rt-panel); z-index: 6; }
@media(max-width:640px) { .tmjr-role-training .rt-modal-heading { top: -16px; } }
body.rt-guide-open { overflow: hidden; }
/* Override shared table rules: only the scroll panel owns the matrix viewport. */
body .tmjr-role-training.tmjr-wrap .rt-matrix { border-collapse: separate !important; border-spacing: 0; overflow: visible !important; table-layout: auto !important; min-width: 3900px; }
body .tmjr-role-training.tmjr-wrap .rt-matrix thead th { min-width: 135px; }
body .tmjr-role-training.tmjr-wrap .rt-matrix thead th:nth-child(2) { min-width: 190px; }
body .tmjr-role-training.tmjr-wrap .rt-matrix thead th:nth-child(3) { min-width: 220px; }
body .tmjr-role-training.tmjr-wrap .rt-matrix thead small { word-break: normal; overflow-wrap: normal; }
body .tmjr-role-training.tmjr-wrap .rt-matrix thead th { position: sticky !important; top: 0 !important; z-index: 4; }
body .tmjr-role-training.tmjr-wrap .rt-matrix tbody th:first-child { position: sticky !important; left: 0 !important; z-index: 3; min-width: 220px; max-width: 260px; background: var(--rt-panel) !important; box-shadow: 3px 0 0 var(--rt-line); }
body .tmjr-role-training.tmjr-wrap .rt-matrix thead th:first-child { left: 0 !important; z-index: 5; background: var(--rt-panel) !important; box-shadow: 3px 0 0 var(--rt-line); }
.tmjr-role-training .rt-scroll:has(>.rt-matrix) { position: relative; max-height: min(650px, 70vh); isolation: isolate; }
.tmjr-role-training { --rt-internal-bg: #f0e4ce; --rt-internal-ink: #594323; --rt-external-bg: #dcedff; --rt-external-ink: #174e82; }
body.tmjr-appearance-dark .tmjr-role-training { --rt-internal-bg: #514431; --rt-internal-ink: #fff0d6; --rt-external-bg: #173f66; --rt-external-ink: #e2f0ff; }
body .tmjr-role-training.tmjr-wrap .rt-internal { background: var(--rt-internal-bg) !important; color: var(--rt-internal-ink) !important; }
body .tmjr-role-training.tmjr-wrap .rt-external { background: var(--rt-external-bg) !important; color: var(--rt-external-ink) !important; }
body .tmjr-role-training.tmjr-wrap :is(.rt-internal,.rt-external) :is(strong,small) { color: inherit !important; }
.tmjr-role-training [aria-busy="true"] { opacity: .6; cursor: progress; }
/* Shared card sizing must not expand top-layer dialogs to the panel width. */
body .tmjr-role-training.tmjr-wrap dialog.rt-modal,#hatton-assist-root .tmjr-role-training dialog.rt-modal { box-sizing: border-box !important; min-width: 0 !important; width: min(960px, calc(100vw - 32px)) !important; max-width: min(960px, calc(100vw - 32px)) !important; margin: auto !important; }
body .tmjr-role-training.tmjr-wrap dialog#rt-person.rt-modal,#hatton-assist-root .tmjr-role-training dialog#rt-person.rt-modal { width: min(780px, calc(100vw - 32px)) !important; max-width: min(780px, calc(100vw - 32px)) !important; }
/* Centre independently of inherited card offsets and layout positioning. */
body .tmjr-role-training.tmjr-wrap dialog.rt-modal,#hatton-assist-root .tmjr-role-training dialog.rt-modal { position: fixed !important; inset: auto !important; left: 50% !important; top: 50% !important; right: auto !important; bottom: auto !important; margin: 0 !important; transform: translate(-50%, -50%) !important; }
.tmjr-role-training .rt-panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.tmjr-role-training .rt-panel-heading h3 { margin: 0; }
.tmjr-role-training .rt-add-modal .rt-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.tmjr-role-training .rt-add-modal .rt-form button { justify-self: start; }
dialog#rt-add-employee.rt-modal { box-sizing: border-box !important; width: 660px !important; max-width: calc(100vw - 32px) !important; min-width: 0 !important; }
@media(max-width:640px) { .tmjr-role-training .rt-add-modal .rt-form { grid-template-columns: minmax(0, 1fr); } }
.tmjr-role-training .rt-output-actions { justify-content: flex-end; margin-left: auto; }
.tmjr-role-training .rt-panel-heading .rt-output-actions { margin-top: 0; margin-bottom: 0; }
@media(max-width:640px) { .tmjr-role-training .rt-panel-heading .rt-output-actions { width: 100%; } }
