.tui-formRow{margin-bottom:1.5rem}.tui-formField{padding-top:1.5rem}.tui-themeSettings__content{margin-top:var(--gap-8)}.tui-themeSettings__forms>*+*{margin-top:var(--gap-8)}.tui-themeTenants__content{margin-top:var(--gap-8)}.tui-themeTenants__section+.tui-themeTenants__section{margin-top:var(--gap-12)}.tui-themeTenants__section>*+*{margin-top:var(--gap-4)}:root{--nav-bg-color: #ffffff;--nav-text-color: #231f20;--color-primary: #00A499;--color-state: #00a9ce;--color-text: #231f20;--footer-bg-color: #ffffff;--footer-text-color: #231f20;--color-state-hover: #009fc4;--color-state-focus: #009fc4;--color-state-active: #008eb3;--footer-text-color-hover: #191516;}
/* -- Masum -- CLS report table -- */
#inst179, #inst180, #inst181{
    display:none;
}
#inst1716 .header {
    max-width: 20px;
}
/* -- Masum -- end -- */


/* --Absar -- Start Compliance Percentage Styling -- */
#inst263, #inst264, #inst265, #inst4774{
    display:none;
}

#cls_report_table_263_r0_c1_title h3,
#cls_report_table_264_r0_c1_title h3,
#cls_report_table_265_r0_c1_title h3
{
    font-size: 20px!important;
    text-align: left!important;
    padding: 8px;
    
}

.title-box-container {
    display: flex;
    align-items: center;
}

.percentage-box {
    color: white;
    font-weight: 500;
    width: 60px!important; /* Adjust width */
    height: 30px; /* Adjust height */
    border-style: solid;
    border-radius: 0.5rem; /* Adjust border radius */
    border-color: #026dc4;
    background: #0072CE;
    padding: 5px; /* Adjust padding */
    text-align: center;
    margin-left: auto;
}
/* --Absar -- END Compliance Percentage Styling -- */

/*--ED--START--CURVE ALL RAG BLOCKS--*/
.block-content .cls-cert-compl-box-block {
   border-radius: 20px!important; 
}
/*--ED--END--CURVE ALL RAG BLOCKS--*/

/*--ED-START--LOGIN PAGE CHANGES--*/
#page-login-index .tui-core_auth-loginNav .tui-core_auth-loginNav__image{
    height: 7rem;
}
.tui-core_auth-loginLayout__contentWrap img {
    margin-bottom: 30px;
}
#page-login-index .tui-core_auth-loginLayout__contentWrap > h2 {
    margin-bottom: 40px;
}
/*--ED-END--LOGIN PAGE CHANGES--*/

/*START************MM***************START*/
#page-totara-dashboard-4 table {
  border-collapse: collapse;
  width: 100%;
}
#page-totara-dashboard-4 td,
#page-totara-dashboard-4 th {
  border: 1px solid #dddddd;
  text-align: center;
  padding: 8px;
}

#page-totara-dashboard-4 .border-less {
   border-left:unset;
   border-top:unset;
}
#page-totara-dashboard-4 .table-header-mand-ess {
   background-color: #005eb8;
   color: white;
}
#inst747 {
  display: none;
}
/*END**************MM*****************END*/
.searchInput {
    color: black;
    border-radius: 20px;
    border: none;
    padding-left: 4px;
    margin-top: 2px;
}
.coursesearchbox {
    background-color: #425563;
    border-radius: 20px;        
}
#cls-container-nav #searchbtnform {
    background: none;
    padding-right: 4px;
}
.searchButton {
    margin-bottom: 4px;
}
#cls-course-search {
    margin-right: 7px;
}
.tfont-var-search {
    margin-bottom: 3px;
}
#page-totara-dashboard-4 .block_cls_report_table_222 .tfont-var-plus-square {
    font-size: 24px!important;
    color: #005eb8!important;
}
#page-totara-dashboard-4 .block_cls_report_table_222 .tfont-var-dash-square {
    font-size: 24px!important;
    color: #005eb8!important;
}
#page-totara-dashboard-4 .block_cls_report_table_205 .tfont-var-plus-square {
    font-size: 24px!important;
    color: #005eb8!important;
}
#page-totara-dashboard-4 .block_cls_report_table_205 .tfont-var-dash-square {
    font-size: 24px!important;
    color: #005eb8!important;
}
#page-totara-dashboard-4 #report_cls_certification_completion1 td.prog_proglinkicon{
  text-align: left!important; 
}
#page-totara-evidence-create .form-autocomplete-downarrow {
color: #00a9ce;
}
#page-totara-dashboard-42 .block_cls_report_table_3521 .tfont-var-plus-square {
    font-size: 24px!important;
    color: #005eb8!important;
}
#page-totara-dashboard-42 .block_cls_report_table_3521 .tfont-var-dash-square {
    font-size: 24px!important;
    color: #005eb8!important;
}
#page-totara-dashboard-42 .block_cls_report_table_3594 .tfont-var-plus-square {
    font-size: 24px!important;
    color: #005eb8!important;
}
#page-totara-dashboard-42 .block_cls_report_table_3594 .tfont-var-dash-square {
    font-size: 24px!important;
    color: #005eb8!important;
}
#page-login-index #toggle-login-form {
    font-weight: bold;
    font-size: var(--font-body-line-height);
    line-height: var(--font-body-line-height);
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem;
    color: unset;
    background: var(--color-neutral-10);
    border: var(--border-width-thin) solid var(--card-border-color);
    user-select: none;
    width: 400px;
    border-radius: 6px;
}
.tui-core_auth-stackChooser__option {
    background: #00A9CE;
    color: white;
    border-color: white;    
}
.tui-svgIcon--state-success {
    color: white;
}
.tui-core_auth-stackChooser__option:hover {
    color: white;
    border-color: white;    
}

/* --MR -- Start Compliance Percentage Styling on Dashboard 48-- */
#inst4094, #inst4095, #inst4096{
    display:none;
}

#cls_report_table_4094_r0_c1_title h3,
#cls_report_table_4095_r0_c1_title h3,
#cls_report_table_4096_r0_c1_title h3
{
    font-size: 20px!important;
    text-align: left!important;
    padding: 8px;
    
}

.title-box-container {
    display: flex;
    align-items: center;
}

.percentage-box {
    color: white;
    font-weight: 500;
    width: 60px!important; /* Adjust width */
    height: 30px; /* Adjust height */
    border-style: solid;
    border-radius: 0.5rem; /* Adjust border radius */
    border-color: #026dc4;
    background: #0072CE;
    padding: 5px; /* Adjust padding */
    text-align: center;
    margin-left: auto;
}
/* --MR -- END Compliance Percentage Styling on Dashboard 48 -- */


/* --MNAA -- Start Perfrom index-- */
#page-mod-perform-activity-index .tui-performUserActivityListTableItem__overview-created {
    display: none;
}
#page-mod-perform-activity-index .tui-performUserActivityList__priority {
    display: none;
}

/* --MNAA -- END Perform index -- */

/* --  --*/

#page-mod-perform-manage-participation-participant_instances  button[aria-label="Close all instances"] {
    display: none;
}
#page-mod-perform-manage-participation-subject_instances button[aria-label="Close all instances"] {
    display: none;
}
#page-mod-perform-manage-participation-participant_sections button[aria-label="Close all instances"] {
    display: none;
}



.mod_facetoface__sessionlist__actions{width:100%}
}

/* 50810 - Standardising column header width */

table[data-source="rb_source_user_certifications"] th {
max-width:150px !important;
}

table[data-source="rb_source_user_certifications"] th, 
table[data-source="rb_source_user_certifications"] td {
max-width:150px !important;
}

/* END - 50810 - Standardising column header width */


/* =========================================================
   RAG and pill status classes
   For SQL report HTML output and dashboard status labels
   Placement: keep once, in the user-created CSS block.
   ========================================================= */
.rag,
.pill {
    min-width: 6.5rem;
    border: 1px solid transparent;
    font-weight: 600;
    text-align: center;
    line-height: 1.25;
    white-space: nowrap;
}

.rag {
    display: inline-block;
    padding: 0.18rem 0.45rem;
    border-radius: 0.35rem;
}

.pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
}

.rag-green,
.pill-green,
.pill-success {
    background: #d7f2df;
    color: #005a30;
    border-color: #7bcf94;
}

.rag-amber,
.pill-amber,
.pill-warning {
    background: #fff3cd;
    color: #594300;
    border-color: #e0b84b;
}

.rag-red,
.pill-red,
.pill-danger {
    background: #f8d7da;
    color: #7a0011;
    border-color: #dc3545;
}

.pill-blue,
.pill-info {
    background: #e5f1fb;
    color: #003087;
    border-color: #7fb4dd;
}

.pill-grey,
.pill-neutral {
    background: #f0f4f5;
    color: #212b32;
    border-color: #d8dde0;
}

/* =========================================================
   Fire Safety course styling
   Scope: course 1086 and navigation block #inst5868.mse-fire-course-nav
   Placement: consolidated user-created CSS block.
   ========================================================= */
#inst5868.mse-fire-course-nav {
    background: #ffffff;
    border: 1px solid #d9e0ea;
    border-radius: 12px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
    overflow: hidden;
    font-size: 0.9rem;
    line-height: 1.35;
}

#inst5868.mse-fire-course-nav .card,
#inst5868.mse-fire-course-nav .block,
#inst5868.mse-fire-course-nav .block-cards {
    border: 0;
    box-shadow: none;
}

#inst5868.mse-fire-course-nav .card-body,
#inst5868.mse-fire-course-nav .content,
#inst5868.mse-fire-course-nav .block-content {
    padding: 0.65rem 0.75rem;
}

body.course-1086 #page-header .page-header-headings h1,
body.course-1086 .page-header-headings h1 {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

body.course-1086 #page-header,
body.course-1086 .page-context-header,
body.course-1086 .page-header-headings {
    margin-bottom: 0.5rem !important;
    padding-bottom: 0 !important;
}

body.course-1086 .course-content {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

body.course-1086 .completionprogress,
body.course-1086 .course-progress,
body.course-1086 .progress,
body.course-1086 [aria-label="Your progress"] {
    display: none !important;
}

body.course-1086 .activity.modtype_label,
body.course-1086 .modtype_label,
body.course-1086 .modtype_label .activity-item,
body.course-1086 .modtype_label .contentwithoutlink,
body.course-1086 .modtype_label .no-overflow,
body.course-1086 .modtype_label .description,
body.course-1086 .modtype_label .activity-description,
body.course-1086 .fire-course-panel,
body.course-1086 .fire-course-panel > div,
body.course-1086 .fire-course-content,
body.course-1086 #module-3311 .fire-course-panel > div {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
}

body.course-1086 .activity.modtype_label,
body.course-1086 .modtype_label,
body.course-1086 .modtype_label .activity-item,
body.course-1086 .modtype_label .contentwithoutlink,
body.course-1086 .modtype_label .no-overflow,
body.course-1086 .modtype_label .description,
body.course-1086 .modtype_label .activity-description,
body.course-1086 .fire-course-panel {
    text-align: left !important;
}

body.course-1086 .sectionname,
body.course-1086 .format-tiles .sectionname,
body.course-1086 .format-topics .sectionname {
    display: none !important;
}

body.course-1086 #module-3311 .no-overflow {
    overflow: visible !important;
}

body.course-1086 #module-3311 .fire-course-panel > div > section {
    min-width: 0 !important;
}

body.course-1086 #module-3311 .fire-course-panel > div > aside {
    min-width: 200px !important;
}

@media (max-width: 900px) {
    body.course-1086 #module-3311 .fire-course-panel > div {
        display: block !important;
    }

    body.course-1086 #module-3311 .fire-course-panel > div > section,
    body.course-1086 #module-3311 .fire-course-panel > div > aside {
        width: 100% !important;
        margin-bottom: 1rem !important;
    }
}

/* =========================================================
   Compact branded Search Elevate block
   Scope: only blocks using custom class .elevate-search-compact
   ========================================================= */
.elevate-search-compact {
    max-width: 430px !important;
    margin: 0 0 1.25rem 0 !important;
}

.elevate-search-compact .card,
.elevate-search-compact .block,
.elevate-search-compact .block-content,
.elevate-search-compact .card-body {
    border-radius: 1rem !important;
    border: 1px solid #d8dde6 !important;
    background: #ffffff !important;
    box-shadow: 0 0.1rem 0.35rem rgba(0, 0, 0, 0.08);
}

.elevate-search-compact .card-body,
.elevate-search-compact .block-content {
    padding: 0.9rem 1rem !important;
}

.elevate-search-compact h2,
.elevate-search-compact .card-title,
.elevate-search-compact .block-title {
    font-size: 1rem !important;
    font-weight: 700 !important;
    color: #003087 !important;
    margin-bottom: 0.5rem !important;
}

.elevate-search-compact form {
    display: flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    margin: 0 !important;
}

.elevate-search-compact input[type="search"],
.elevate-search-compact input[type="text"] {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    height: 2.4rem !important;
    border: 2px solid #4b5563 !important;
    border-radius: 0.65rem !important;
    padding: 0.35rem 0.6rem !important;
    font-size: 0.95rem !important;
}

.elevate-search-compact button,
.elevate-search-compact input[type="submit"] {
    height: 2.4rem !important;
    border-radius: 0.65rem !important;
    background: #005eb8 !important;
    color: #ffffff !important;
    border: 2px solid #005eb8 !important;
    font-weight: 700 !important;
    padding: 0.35rem 0.85rem !important;
}

.elevate-search-compact button:hover,
.elevate-search-compact input[type="submit"]:hover {
    background: #003087 !important;
    border-color: #003087 !important;
}

.elevate-search-compact input:focus,
.elevate-search-compact button:focus {
    outline: 3px solid #ffdd00 !important;
    outline-offset: 2px !important;
}

.elevate-search-compact a {
    font-size: 0.85rem !important;
}

/* =========================================================
   NHS branded Course Completion Status block
   Scope: only blocks with custom class .nhs-completion-status
   ========================================================= */
.nhs-completion-status {
    --nhs-blue: #005EB8;
    --nhs-dark-blue: #003087;
    --nhs-grey-5: #F0F4F5;
    --nhs-grey-4: #D8DDE0;
    --nhs-text: #212B32;
    --nhs-yellow: #FFEB3B;

    max-width: 410px !important;
    border: 1px solid #D8DDE0 !important;
    border-radius: 10px !important;
    background: #ffffff !important;
    color: #212B32 !important;
    box-shadow: none !important;
    overflow: hidden !important;
    margin: 0 0 1rem 0 !important;
    padding: 0 !important;
}

.nhs-completion-status .header,
.nhs-completion-status .card-header,
.nhs-completion-status .block-header,
.nhs-completion-status h2,
.nhs-completion-status h3,
.nhs-completion-status .title,
.nhs-completion-status .card-title,
.nhs-completion-status .block-title {
    background: #00A499 !important;
    color: #ffffff !important;
    padding: 0.38rem 0.75rem !important;
    margin: 0 !important;
    min-height: auto !important;
    line-height: 1.2 !important;
    font-size: 0.9rem !important;
    font-weight: 700 !important;
    border: none !important;
}

.nhs-completion-status .header *,
.nhs-completion-status .card-header *,
.nhs-completion-status .block-header *,
.nhs-completion-status h2 *,
.nhs-completion-status h3 * {
    color: #ffffff !important;
    background: transparent !important;
}

.nhs-completion-status .content,
.nhs-completion-status .card-body,
.nhs-completion-status .contentwithoutlink {
    padding: 0.55rem 0.75rem 0.6rem 0.75rem !important;
    font-size: 0.9rem !important;
    line-height: 1.35 !important;
    background: #ffffff !important;
    color: #212B32 !important;
}

.nhs-completion-status p {
    margin: 0 0 0.35rem 0 !important;
    font-size: 0.9rem !important;
    line-height: 1.35 !important;
    color: #212B32 !important;
}

.nhs-completion-status .content p:first-of-type,
.nhs-completion-status .card-body p:first-of-type {
    background: #F0F4F5 !important;
    border-left: 4px solid #00A499 !important;
    border-radius: 6px !important;
    padding: 0.45rem 0.6rem !important;
    margin-bottom: 0.55rem !important;
}

.nhs-completion-status .content p:nth-of-type(2),
.nhs-completion-status .card-body p:nth-of-type(2),
.nhs-completion-status .content div:nth-of-type(2),
.nhs-completion-status .card-body div:nth-of-type(2) {
    display: none !important;
}

.nhs-completion-status table {
    display: block !important;
    width: 100% !important;
    margin: 0.25rem 0 0 0 !important;
    border: none !important;
    border-collapse: collapse !important;
}

.nhs-completion-status thead,
.nhs-completion-status tbody,
.nhs-completion-status tr,
.nhs-completion-status th,
.nhs-completion-status td {
    display: none !important;
}

.nhs-completion-status table::before,
.nhs-completion-status table::after {
    display: block !important;
    color: #212B32 !important;
    background: #ffffff !important;
    border: 1px solid #E8EDEE !important;
    border-radius: 6px !important;
    padding: 0.32rem 0.5rem !important;
    margin-bottom: 0.3rem !important;
    font-size: 0.88rem !important;
    line-height: 1.25 !important;
    font-weight: 600 !important;
}

.nhs-completion-status table::before {
    content: "❌  Fire Safety e-learning";
}

.nhs-completion-status table::after {
    content: "❌  Fire Alarm Training";
}

.nhs-completion-status a {
    color: #005EB8 !important;
    text-decoration: underline !important;
    font-weight: 600 !important;
    font-size: 0.9rem !important;
}

.nhs-completion-status a:hover {
    color: #003087 !important;
    text-decoration-thickness: 2px !important;
}

.nhs-completion-status a:visited {
    color: #330072 !important;
}

.nhs-completion-status a:focus,
.nhs-completion-status button:focus,
.nhs-completion-status [tabindex]:focus {
    outline: 3px solid #FFEB3B !important;
    outline-offset: 2px !important;
    box-shadow: 0 0 0 2px #212B32 !important;
}

.nhs-completion-status hr,
.nhs-completion-status br,
.nhs-completion-status .content > a,
.nhs-completion-status .card-body > a,
.nhs-completion-status .contentwithoutlink > a,
.nhs-completion-status a[href*="completion"],
.nhs-completion-status a[href*="report"] {
    display: none !important;
}

/* =========================================================
   MSE Appraisal 2026 page styling
   Scope: only content wrapped in .mse-appraisal-community-page
   ========================================================= */
.mse-appraisal-community-page {
    --mse-nhs-blue: #005EB8;
    --mse-nhs-dark-blue: #003087;
    --mse-nhs-text: #212B32;
    --mse-nhs-muted: #425563;
    --mse-nhs-border: #D8DDE0;
    --mse-nhs-bg: #F0F4F5;
    --mse-nhs-focus: #FFEB3B;

    max-width: 52rem;
    margin: 0 auto;
    padding: 0 1rem 2rem 1rem;
    color: var(--mse-nhs-text);
    font-size: 18px;
    line-height: 1.6;
}

.mse-appraisal-hero {
    width: 100%;
    max-width: 52rem;
    margin: 0 0 1.25rem 0;
    overflow: hidden;
    border-radius: 0.65rem;
}

.mse-appraisal-hero__image {
    display: block;
    width: 100%;
    height: 11rem;
    object-fit: cover;
    object-position: center;
    border-radius: 0.65rem;
}

.mse-appraisal-content {
    max-width: 52rem;
    margin: 0;
}

.mse-appraisal-content h2 {
    margin: 0 0 1rem 0;
    color: var(--mse-nhs-text);
    font-size: 1.55rem;
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: -0.01em;
}

.mse-appraisal-content p {
    margin: 0 0 1.15rem 0;
    max-width: 72ch;
    font-size: 18px;
    line-height: 1.6;
    color: var(--mse-nhs-text);
}

.mse-appraisal-content li,
.mse-appraisal-content a {
    font-size: 18px;
    line-height: 1.6;
}

.mse-appraisal-links {
    max-width: 48rem;
    margin: 0.75rem 0 1.5rem 0;
    padding: 1rem 1.25rem;
    background: var(--mse-nhs-bg);
    border-left: 0.35rem solid var(--mse-nhs-blue);
    border-radius: 0.45rem;
}

.mse-appraisal-links ul {
    margin: 0;
    padding-left: 1.25rem;
}

.mse-appraisal-links li {
    margin: 0.4rem 0;
    padding-left: 0.15rem;
}

.mse-appraisal-community-page a {
    color: var(--mse-nhs-blue);
    text-decoration: underline;
    text-underline-offset: 0.15em;
    font-weight: 600;
}

.mse-appraisal-community-page a:hover {
    color: var(--mse-nhs-dark-blue);
    text-decoration-thickness: 0.15em;
}

.mse-appraisal-community-page a:focus {
    outline: 0.2rem solid var(--mse-nhs-focus);
    outline-offset: 0.15rem;
}

.mse-appraisal-next {
    margin-top: 1.5rem !important;
    padding-top: 1rem;
    border-top: 1px solid var(--mse-nhs-border);
    color: var(--mse-nhs-muted) !important;
}

.mse-appraisal-next strong {
    color: var(--mse-nhs-text);
}

.mse-appraisal-community-page img {
    max-width: 100%;
}

.mse-appraisal-community-page p:last-child {
    margin-bottom: 0;
}

@media (max-width: 768px) {
    .mse-appraisal-community-page {
        max-width: 100%;
        padding: 0 0.75rem 1.5rem 0.75rem;
        font-size: 18px;
    }

    .mse-appraisal-hero__image {
        height: 8.5rem;
        border-radius: 0.5rem;
    }

    .mse-appraisal-content h2 {
        font-size: 1.35rem;
    }

    .mse-appraisal-content p,
    .mse-appraisal-content li,
    .mse-appraisal-content a {
        font-size: 18px;
    }

    .mse-appraisal-links {
        padding: 0.9rem 1rem;
    }
}

/* =========================================================
   MSE New Starter Dashboard
   Scope: current HTML using .mse-ns-dashboard and .mse-ns-* selectors
   Placement: final user-created CSS block, after retained supplier/admin CSS.
   ========================================================= */
.mse-ns-dashboard {
    --mse-nhs-blue: #005eb8;
    --mse-nhs-dark-blue: #003087;
    --mse-card-green: rgba(0, 94, 73, 0.94);
    --mse-white: #ffffff;
    --mse-text: #212b32;
    --mse-muted: #4c6272;
    --mse-border: #d8dde2;
    --mse-focus: #ffdd00;
    --mse-radius-large: 1.5rem;
    --mse-radius-card: 1.25rem;
    --mse-shadow-soft: 0 8px 22px rgba(0, 0, 0, 0.14);
    --mse-shadow-hover: 0 12px 28px rgba(0, 0, 0, 0.2);
    --mse-gap: clamp(1rem, 2vw, 1.5rem);

    width: 100%;
    color: var(--mse-text);
    font-family: inherit;
    overflow: visible !important;
}

.mse-ns-dashboard *,
.mse-ns-dashboard *::before,
.mse-ns-dashboard *::after {
    box-sizing: border-box;
}

.mse-ns-dashboard__inner {
    max-width: 1040px;
    margin: 0 auto;
    padding: 1rem;
    overflow: visible !important;
}

.mse-ns-mobile-logo {
    display: none !important;
}

.mse-ns-dashboard .mse-ns-hero {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    height: clamp(9rem, 20vw, 13.5rem) !important;
    min-height: 0 !important;
    max-height: 13.5rem !important;
    margin: 0 0 clamp(1.25rem, 2.5vw, 2rem) !important;
    overflow: hidden !important;
    border: none !important;
    border-radius: var(--mse-radius-large) !important;
    background: var(--mse-nhs-blue) !important;
    box-shadow: none !important;
    color: var(--mse-white) !important;
    text-decoration: none !important;
    isolation: isolate;
}

.mse-ns-dashboard .mse-ns-hero > img {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: contain !important;
    object-position: center center !important;
    transform: translateY(0.6rem) !important;
}

.mse-ns-hero::after {
    content: none !important;
    display: none !important;
}

.mse-ns-dashboard .mse-ns-hero__logo-badge {
    position: absolute !important;
    top: 0.25rem !important;
    right: 0 !important;
    left: auto !important;
    bottom: auto !important;
    z-index: 40 !important;
    width: 250px !important;
    height: 82px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: transparent !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    transform: none !important;
    pointer-events: none !important;
}

.mse-ns-dashboard .mse-ns-hero__logo-img {
    position: static !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    display: block !important;
    object-fit: contain !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.mse-ns-dashboard .mse-ns-hero__content {
    position: absolute !important;
    z-index: 20 !important;
    top: 50% !important;
    left: 47% !important;
    transform: translate(-50%, -50%) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    max-width: 52% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    color: #ffffff !important;
    text-align: center !important;
    pointer-events: none !important;
}

.mse-ns-hero__eyebrow,
.mse-ns-hero__action {
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
    background: transparent !important;
    color: #ffffff !important;
    text-align: center !important;
    text-shadow: 0 2px 5px rgba(0, 0, 0, 0.45);
}

.mse-ns-hero__eyebrow {
    font-size: clamp(0.85rem, 1.5vw, 1rem);
    line-height: 1.2;
    font-weight: 500;
}

.mse-ns-hero__action {
    margin-top: clamp(0.85rem, 2vw, 1.1rem);
    font-size: clamp(1.05rem, 2.2vw, 1.45rem);
    line-height: 1.2;
    font-weight: 700;
}

.mse-ns-card-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: var(--mse-gap);
    overflow: visible !important;
}

.mse-ns-card {
    position: relative;
    display: block;
    min-height: 12rem;
    overflow: hidden;
    padding: 0 !important;
    border: 1px solid rgba(0, 94, 184, 0.12);
    border-radius: var(--mse-radius-card);
    background: #eef4f8;
    box-shadow: 0 5px 16px rgba(0, 0, 0, 0.12);
    text-decoration: none;
    color: var(--mse-white);
    --mse-img-hover-scale: 1;
}

.mse-ns-card:hover,
.mse-ns-card:focus-visible,
.mse-ns-hero:hover,
.mse-ns-hero:focus-visible {
    box-shadow: var(--mse-shadow-hover);
    transform: translateY(-1px);
    text-decoration: none !important;
}

.mse-ns-card--large {
    grid-column: span 3;
}

.mse-ns-card--small {
    grid-column: span 2;
}

@media (min-width: 641px) {
    .mse-ns-card-grid .mse-ns-card--large {
        aspect-ratio: 1 / 1 !important;
        min-height: 0 !important;
        width: 60% !important;
        justify-self: center !important;
    }

    .mse-ns-card-grid .mse-ns-card--small {
        aspect-ratio: 16 / 8 !important;
        min-height: 0 !important;
        width: 90% !important;
        justify-self: center !important;
    }
}

.mse-ns-card > img,
.mse-ns-card picture,
.mse-ns-card picture img {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    min-height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: cover !important;
    object-position: center center !important;
    transform: none !important;
    transition: transform 180ms ease;
}

.mse-ns-card-grid .mse-ns-card--small > img {
    object-position: center top !important;
}

.mse-ns-card__title {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 5;
    min-height: 2.35rem !important;
    height: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0.4rem 0.75rem !important;
    background: var(--mse-card-green);
    color: var(--mse-white);
    font-weight: 700;
    line-height: 1.1 !important;
    text-align: center !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
}

.mse-ns-card--large .mse-ns-card__title {
    font-size: clamp(1rem, 1.3vw, 1.12rem) !important;
}

.mse-ns-card--small .mse-ns-card__title {
    font-size: clamp(0.9rem, 1.15vw, 1rem) !important;
}

@media (min-width: 641px) {
    .mse-ns-card--intranet .mse-ns-card__body {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        z-index: 4 !important;
        display: block !important;
        padding: 0.9rem 1rem 4rem !important;
        color: #003087 !important;
        font-size: 0.95rem !important;
        line-height: 1.25 !important;
        font-weight: 700 !important;
        text-align: left !important;
        background: transparent !important;
        text-shadow: none !important;
    }
}

.mse-ns-hero:focus,
.mse-ns-hero:focus-visible,
.mse-ns-card:focus,
.mse-ns-card:focus-visible {
    outline: 4px solid #ffdd00 !important;
    outline-offset: 4px !important;
    box-shadow: 0 0 0 2px #212b32, 0 8px 20px rgba(33, 43, 50, 0.22) !important;
    text-decoration: none !important;
}

.mse-ns-hero:focus img,
.mse-ns-card:focus img,
.mse-ns-hero:focus-visible img,
.mse-ns-card:focus-visible img,
.mse-ns-card:focus .mse-ns-card__title,
.mse-ns-card:focus-visible .mse-ns-card__title {
    outline: none !important;
    box-shadow: none !important;
}

@media (max-width: 900px) {
    .mse-ns-dashboard__inner {
        max-width: 760px;
    }

    .mse-ns-card-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .mse-ns-card--large,
    .mse-ns-card--small {
        grid-column: span 1;
    }
}

@media (max-width: 640px) {
    .mse-ns-dashboard__inner {
        padding: 0.75rem;
    }

    .mse-ns-mobile-logo {
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        width: 100% !important;
        margin: 0 0 0.65rem 0 !important;
        padding: 0 !important;
    }

    .mse-ns-mobile-logo img {
        display: block !important;
        width: 145px !important;
        max-width: 42% !important;
        height: auto !important;
        margin: 0 auto !important;
        padding: 0 !important;
        object-fit: contain !important;
    }

    .mse-ns-dashboard .mse-ns-hero {
        height: 5rem !important;
        min-height: 5rem !important;
        max-height: 5rem !important;
        margin-bottom: 1rem !important;
        border-radius: 1rem !important;
    }

    .mse-ns-dashboard .mse-ns-hero > img {
        width: 100% !important;
        height: 100% !important;
        object-fit: contain !important;
        object-position: center center !important;
        transform: none !important;
    }

    .mse-ns-dashboard .mse-ns-hero__logo-badge {
        display: none !important;
    }

    .mse-ns-dashboard .mse-ns-hero__content {
        left: 47% !important;
        top: 50% !important;
        max-width: 52% !important;
        transform: translate(-50%, -50%) !important;
        text-align: center !important;
    }

    .mse-ns-dashboard .mse-ns-hero__eyebrow {
        display: none !important;
    }

    .mse-ns-dashboard .mse-ns-hero__action {
        display: block !important;
        margin: 0 auto !important;
        font-size: 0.82rem !important;
        line-height: 1.1 !important;
        font-weight: 700 !important;
        text-align: center !important;
        color: #ffffff !important;
        text-shadow: 0 2px 5px rgba(0, 0, 0, 0.45);
    }

    .mse-ns-card-grid {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .mse-ns-card-grid .mse-ns-card--large {
        aspect-ratio: 1 / 1 !important;
        min-height: 0 !important;
        width: 80% !important;
        justify-self: center !important;
    }

    .mse-ns-card-grid .mse-ns-card--small {
        aspect-ratio: 14 / 7 !important;
        min-height: 0 !important;
        width: 80% !important;
        justify-self: center !important;
    }

    .mse-ns-card--intranet .mse-ns-card__body {
        display: none !important;
    }

    .mse-ns-card__title {
        min-height: 2.25rem !important;
        padding: 0.35rem 0.75rem !important;
        font-size: 0.95rem !important;
        line-height: 1.1 !important;
    }

    .mse-ns-card--large .mse-ns-card__title {
        font-size: 1rem !important;
    }

    .mse-ns-card--small .mse-ns-card__title {
        font-size: 0.92rem !important;
    }
}

@media (max-width: 390px) {
    .mse-ns-dashboard__inner {
        padding: 0.5rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .mse-ns-hero,
    .mse-ns-card,
    .mse-ns-card img {
        transition: none !important;
        transform: none !important;
    }

    .mse-ns-card:hover img,
    .mse-ns-card:focus-visible img {
        transform: none !important;
    }
}
/* =========================================================
  VALUES IMAGE ROW — New Starter Dashboard
  Controls size and centring of the Excellent / Compassionate / Respectful image
  ========================================================= */

.values-row {
 width: 100% !important;
 max-width: 760px !important;
 display: flex !important;
 justify-content: center !important;
 align-items: center !important;
 margin: 1.5rem auto 0 auto !important;
 padding: 0 !important;
 text-align: center !important;
}

.values-row__image {
 display: block !important;
 width: 100% !important;
 max-width: 620px !important;
 height: auto !important;
 margin: 0 auto !important;
}
/* =========================================================
  MSE DESIGN SYSTEM — STAGE 2 GENERIC CLASS LAYER
  Added underneath existing custom CSS.
  This layer should not affect existing pages until the new
  .mse-* classes are applied in Totara HTML.
  ========================================================= */


/* =========================================================
  00. DESIGN TOKENS
  Shared MSE / NHS values used by the reusable classes.
  ========================================================= */

:root {
   --mse-blue: #005EB8;
   --mse-dark-blue: #003087;
   --mse-teal: #00A499;
   --mse-green: #007F3B;
   --mse-text: #212B32;
   --mse-muted: #425563;
   --mse-grey-5: #F0F4F5;
   --mse-grey-4: #D8DDE0;
   --mse-grey-3: #AEB7BD;
   --mse-white: #FFFFFF;
   --mse-focus: #FFDD00;

   --mse-radius-small: 0.45rem;
   --mse-radius-medium: 0.75rem;
   --mse-radius-large: 1.25rem;
   --mse-radius-pill: 999px;

   --mse-border-subtle: 1px solid var(--mse-grey-4);
   --mse-shadow-soft: 0 0.1rem 0.35rem rgba(0, 0, 0, 0.08);
   --mse-shadow-card: 0 5px 16px rgba(0, 0, 0, 0.12);
   --mse-shadow-card-hover: 0 10px 24px rgba(0, 0, 0, 0.18);

   --mse-space-xs: 0.25rem;
   --mse-space-sm: 0.5rem;
   --mse-space-md: 1rem;
   --mse-space-lg: 1.5rem;
   --mse-space-xl: 2rem;

   --mse-content-width: 52rem;
   --mse-dashboard-width: 1040px;
}


/* =========================================================
  01. BASE ACCESSIBILITY HELPERS
  Use sparingly inside custom MSE HTML.
  ========================================================= */

.mse-visually-hidden {
   position: absolute !important;
   width: 1px !important;
   height: 1px !important;
   padding: 0 !important;
   margin: -1px !important;
   overflow: hidden !important;
   clip: rect(0 0 0 0) !important;
   white-space: nowrap !important;
   border: 0 !important;
}

.mse-course a:focus,
.mse-dashboard a:focus,
.mse-panel a:focus,
.mse-search input:focus,
.mse-search button:focus,
.mse-card:focus,
.mse-card:focus-visible,
.mse-hero:focus,
.mse-hero:focus-visible {
   outline: 4px solid var(--mse-focus) !important;
   outline-offset: 3px !important;
   box-shadow: 0 0 0 2px var(--mse-text) !important;
}


/* =========================================================
  02. STATUS LABELS
  For ad-hoc database query HTML output and report labels.
  Example:
<span class="mse-status mse-status--success">Complete</span>
  ========================================================= */

.mse-status {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   min-width: 6.5rem;
   padding: 0.2rem 0.6rem;
   border: 1px solid transparent;
   border-radius: var(--mse-radius-pill);
   font-weight: 700;
   font-size: 0.9rem;
   line-height: 1.25;
   text-align: center;
   white-space: nowrap;
}

.mse-status--success {
   background: #D7F2DF;
   color: #005A30;
   border-color: #7BCF94;
}

.mse-status--warning {
   background: #FFF3CD;
   color: #594300;
   border-color: #E0B84B;
}

.mse-status--danger {
   background: #F8D7DA;
   color: #7A0011;
   border-color: #DC3545;
}

.mse-status--info {
   background: #E5F1FB;
   color: var(--mse-dark-blue);
   border-color: #7FB4DD;
}

.mse-status--neutral {
   background: var(--mse-grey-5);
   color: var(--mse-text);
   border-color: var(--mse-grey-4);
}

/* Optional squared RAG-style variant, only if needed */
.mse-status--rag {
   border-radius: var(--mse-radius-small);
}


/* =========================================================
  03. PANELS
  Reusable block/panel styling for course pages and dashboards.
  ========================================================= */

.mse-panel {
   background: var(--mse-white);
   color: var(--mse-text);
   border: var(--mse-border-subtle);
   border-radius: var(--mse-radius-medium);
   box-shadow: var(--mse-shadow-soft);
   overflow: hidden;
   margin: 0 0 var(--mse-space-md) 0;
}

.mse-panel__header {
   background: var(--mse-teal);
   color: var(--mse-white);
   padding: 0.45rem 0.75rem;
   font-weight: 700;
   line-height: 1.25;
}

.mse-panel__body {
   padding: 0.75rem;
}

/* Course navigation panel */
.mse-panel--nav {
   font-size: 0.9rem;
   line-height: 1.35;
}

/* Highlighted link panel */
.mse-panel--links {
   max-width: 48rem;
   padding: var(--mse-space-md) 1.25rem;
   background: var(--mse-grey-5);
   border-left: 0.35rem solid var(--mse-blue);
   border-radius: var(--mse-radius-small);
   box-shadow: none;
}

.mse-panel--links ul {
   margin: 0;
   padding-left: 1.25rem;
}

.mse-panel--links li {
   margin: 0.4rem 0;
   padding-left: 0.15rem;
}

/* Completion/status panel */
.mse-panel--status {
   max-width: 410px;
   padding: 0;
   box-shadow: none;
}

.mse-panel--status .mse-panel__header {
   background: var(--mse-teal);
}

.mse-panel--status .mse-panel__body {
   font-size: 0.9rem;
   line-height: 1.35;
}


/* =========================================================
  04. COURSE LAYOUTS
  Topic-format and Pathway-format course content wrappers.
  ========================================================= */

.mse-course {
   color: var(--mse-text);
   font-family: inherit;
   line-height: 1.6;
}

.mse-course *,
.mse-course *::before,
.mse-course *::after {
   box-sizing: border-box;
}

.mse-course--topic {
   width: 100%;
}

.mse-course--pathway {
   max-width: var(--mse-content-width);
   margin: 0 auto;
   padding: 0 1rem 2rem 1rem;
   font-size: 18px;
}

.mse-course-panel {
   width: 100%;
   max-width: none;
   margin: 0 0 var(--mse-space-lg) 0;
   padding: 0;
   box-sizing: border-box;
}

.mse-content {
   max-width: var(--mse-content-width);
   margin: 0;
   color: var(--mse-text);
}

.mse-content h2 {
   margin: 0 0 var(--mse-space-md) 0;
   color: var(--mse-text);
   font-size: 1.55rem;
   font-weight: 600;
   line-height: 1.25;
   letter-spacing: -0.01em;
}

.mse-content p {
   margin: 0 0 1.15rem 0;
   max-width: 72ch;
   color: var(--mse-text);
   font-size: inherit;
   line-height: 1.6;
}

.mse-content li,
.mse-content a {
   font-size: inherit;
   line-height: 1.6;
}

.mse-course a,
.mse-content a {
   color: var(--mse-blue);
   text-decoration: underline;
   text-underline-offset: 0.15em;
   font-weight: 600;
}

.mse-course a:hover,
.mse-content a:hover {
   color: var(--mse-dark-blue);
   text-decoration-thickness: 0.15em;
}

.mse-course img,
.mse-content img {
   max-width: 100%;
   height: auto;
}

.mse-next-step {
   margin-top: var(--mse-space-lg) !important;
   padding-top: var(--mse-space-md);
   border-top: 1px solid var(--mse-grey-4);
   color: var(--mse-muted) !important;
}

.mse-next-step strong {
   color: var(--mse-text);
}


/* =========================================================
  05. HERO / BANNER COMPONENTS
  Reusable course and dashboard hero areas.
  ========================================================= */

.mse-hero {
   position: relative;
   display: block;
   width: 100%;
   overflow: hidden;
   border-radius: var(--mse-radius-medium);
   background: var(--mse-blue);
   color: var(--mse-white);
   text-decoration: none;
}

.mse-hero--course {
   max-width: var(--mse-content-width);
   margin: 0 0 1.25rem 0;
}

.mse-hero--dashboard {
   margin: 0 0 clamp(1.25rem, 2.5vw, 2rem) 0;
   border-radius: var(--mse-radius-large);
}

.mse-hero__image {
   display: block;
   width: 100%;
   height: 11rem;
   object-fit: cover;
   object-position: center;
   border-radius: inherit;
}

.mse-hero__content {
   position: absolute;
   z-index: 2;
   top: 50%;
   left: 50%;
   max-width: 60%;
   transform: translate(-50%, -50%);
   color: var(--mse-white);
   text-align: center;
   pointer-events: none;
}

.mse-hero__eyebrow,
.mse-hero__action {
   display: block;
   color: var(--mse-white);
   text-align: center;
   text-shadow: 0 2px 5px rgba(0, 0, 0, 0.45);
}

.mse-hero__eyebrow {
   font-size: clamp(0.85rem, 1.5vw, 1rem);
   line-height: 1.2;
   font-weight: 500;
}

.mse-hero__action {
   margin-top: clamp(0.85rem, 2vw, 1.1rem);
   font-size: clamp(1.05rem, 2.2vw, 1.45rem);
   line-height: 1.2;
   font-weight: 700;
}

.mse-hero__logo {
   position: absolute;
   z-index: 3;
   top: 0.25rem;
   right: 0;
   width: 250px;
   height: 82px;
   display: flex;
   align-items: center;
   justify-content: center;
   pointer-events: none;
}

.mse-hero__logo-img {
   display: block;
   width: 100%;
   height: 100%;
   object-fit: contain;
}

/* =========================================================
  COURSE HERO — NATURAL IMAGE RATIO
  Use when a course banner image should fill the wrapper exactly
  and the wrapper should follow the image's own proportions.
  ========================================================= */

.mse-hero--image-banner {
   max-width: var(--mse-content-width) !important;
   margin: 0 0 1.25rem 0 !important;
   padding: 0 !important;
   background: transparent !important;
   border-radius: var(--mse-radius-medium) !important;
   overflow: hidden !important;
   line-height: 0 !important;
}

.mse-hero--image-banner .mse-hero__image {
   display: block !important;
   width: 100% !important;
   height: auto !important;
   max-width: 100% !important;
   margin: 0 !important;
   padding: 0 !important;
   object-fit: unset !important;
   object-position: center center !important;
   border-radius: inherit !important;
}
/* =========================================================
  06. DASHBOARDS, CARDS AND CARD GRIDS
  Dashboard wrappers and reusable linked cards.
  ========================================================= */

.mse-dashboard {
   width: 100%;
   color: var(--mse-text);
   font-family: inherit;
   overflow: visible !important;
}

.mse-dashboard *,
.mse-dashboard *::before,
.mse-dashboard *::after {
   box-sizing: border-box;
}

.mse-dashboard__inner {
   max-width: var(--mse-dashboard-width);
   margin: 0 auto;
   padding: var(--mse-space-md);
   overflow: visible !important;
}

.mse-dashboard__mobile-logo {
   display: none !important;
}

.mse-card-grid {
   display: grid;
   grid-template-columns: repeat(6, 1fr);
   gap: clamp(1rem, 2vw, 1.5rem);
   overflow: visible !important;
}

.mse-card {
   position: relative;
   display: block;
   min-height: 12rem;
   overflow: hidden;
   padding: 0 !important;
   border: 1px solid rgba(0, 94, 184, 0.12);
   border-radius: var(--mse-radius-large);
   background: #EEF4F8;
   box-shadow: var(--mse-shadow-card);
   text-decoration: none !important;
   color: var(--mse-white);
}

.mse-card:hover,
.mse-card:focus-visible,
.mse-hero:hover,
.mse-hero:focus-visible {
   box-shadow: var(--mse-shadow-card-hover);
   transform: translateY(-1px);
   text-decoration: none !important;
}

.mse-card--large {
   grid-column: span 3;
}

.mse-card--small {
   grid-column: span 2;
}

.mse-card__image,
.mse-card > img,
.mse-card picture,
.mse-card picture img {
   position: absolute !important;
   inset: 0 !important;
   display: block !important;
   width: 100% !important;
   height: 100% !important;
   min-width: 100% !important;
   min-height: 100% !important;
   max-width: none !important;
   max-height: none !important;
   margin: 0 !important;
   padding: 0 !important;
   object-fit: cover !important;
   object-position: center center !important;
}

.mse-card__title {
   position: absolute;
   right: 0;
   bottom: 0;
   left: 0;
   z-index: 2;
   min-height: 2.35rem !important;
   display: flex !important;
   align-items: center !important;
   justify-content: center !important;
   padding: 0.4rem 0.75rem !important;
   background: rgba(0, 94, 73, 0.94);
   color: var(--mse-white);
   font-weight: 700;
   line-height: 1.1 !important;
   text-align: center !important;
   white-space: normal !important;
   overflow-wrap: anywhere !important;
}

.mse-card--large .mse-card__title {
   font-size: clamp(1rem, 1.3vw, 1.12rem) !important;
}

.mse-card--small .mse-card__title {
   font-size: clamp(0.9rem, 1.15vw, 1rem) !important;
}

.mse-card--text-overlay .mse-card__body {
   position: absolute;
   top: 0;
   left: 0;
   right: 0;
   z-index: 2;
   padding: 0.9rem 1rem 4rem;
   color: var(--mse-dark-blue);
   font-size: 0.95rem;
   line-height: 1.25;
   font-weight: 700;
   text-align: left;
}


/* =========================================================
Compact branded Search Elevate block
  Generic reusable version.
  Use block class: mse-search mse-search--compact
  If Totara only accepts one class, use: mse-search--compact
  ========================================================= */

.mse-search,
.mse-search--compact {
   background: var(--mse-white);
   color: var(--mse-text);
}

.mse-search--compact {
   max-width: 430px !important;
   margin: 0 0 1.25rem 0 !important;
}

.mse-search--compact .card,
.mse-search--compact .block,
.mse-search--compact .block-content,
.mse-search--compact .card-body {
   border-radius: 1rem !important;
   border: 1px solid #D8DDE6 !important;
   background: var(--mse-white) !important;
   box-shadow: var(--mse-shadow-soft);
}

.mse-search--compact .card-body,
.mse-search--compact .block-content {
   padding: 0.9rem 1rem !important;
}

.mse-search--compact h2,
.mse-search--compact .card-title,
.mse-search--compact .block-title {
   font-size: 1rem !important;
   font-weight: 700 !important;
   color: var(--mse-dark-blue) !important;
   margin-bottom: 0.5rem !important;
}

.mse-search--compact form {
   display: flex !important;
   align-items: center !important;
   gap: 0.5rem !important;
   margin: 0 !important;
}

.mse-search--compact input[type="search"],
.mse-search--compact input[type="text"] {
   flex: 1 1 auto !important;
   min-width: 0 !important;
   height: 2.4rem !important;
   border: 2px solid var(--mse-muted) !important;
   border-radius: 0.65rem !important;
   padding: 0.35rem 0.6rem !important;
   font-size: 0.95rem !important;
}

.mse-search--compact button,
.mse-search--compact input[type="submit"] {
   height: 2.4rem !important;
   border-radius: 0.65rem !important;
   background: var(--mse-blue) !important;
   color: var(--mse-white) !important;
   border: 2px solid var(--mse-blue) !important;
   font-weight: 700 !important;
   padding: 0.35rem 0.85rem !important;
}

.mse-search--compact button:hover,
.mse-search--compact input[type="submit"]:hover {
   background: var(--mse-dark-blue) !important;
   border-color: var(--mse-dark-blue) !important;
}

.mse-search--compact input:focus,
.mse-search--compact button:focus,
.mse-search--compact input[type="submit"]:focus {
   outline: 4px solid var(--mse-focus) !important;
   outline-offset: 3px !important;
   box-shadow: 0 0 0 2px var(--mse-text) !important;
}

.mse-search--compact a {
   font-size: 0.85rem !important;
   color: var(--mse-blue);
   text-decoration: underline;
   text-underline-offset: 0.15em;
   font-weight: 600;
}

.mse-search--compact a:hover {
   color: var(--mse-dark-blue);
   text-decoration-thickness: 0.15em;
}

/* =========================================================
  08. IMAGE ROWS
  For values images or other centred visual rows.
  ========================================================= */

.mse-image-row {
   width: 100% !important;
   max-width: 760px !important;
   display: flex !important;
   justify-content: center !important;
   align-items: center !important;
   margin: 1.5rem auto 0 auto !important;
   padding: 0 !important;
   text-align: center !important;
}

/* Values banner variant */
.mse-image-row--values {
   max-width: 760px !important;
}

.mse-image-row__image,
.mse-image-row img {
   display: block !important;
   width: 100% !important;
   max-width: 620px !important;
   height: auto !important;
   margin: 0 auto !important;
}

/* =========================================================
  09. RESPONSIVE RULES
  Generic responsive behaviour for new reusable classes.
  ========================================================= */

@media (min-width: 641px) {
   .mse-card-grid .mse-card--large {
       aspect-ratio: 1 / 1 !important;
       min-height: 0 !important;
       width: 60% !important;
       justify-self: center !important;
   }

   .mse-card-grid .mse-card--small {
       aspect-ratio: 16 / 8 !important;
       min-height: 0 !important;
       width: 90% !important;
       justify-self: center !important;
   }
}

@media (max-width: 900px) {
   .mse-dashboard__inner {
       max-width: 760px;
   }

   .mse-card-grid {
       grid-template-columns: repeat(2, 1fr);
   }

   .mse-card--large,
   .mse-card--small {
       grid-column: span 1;
   }
}

@media (max-width: 768px) {
   .mse-course--pathway {
       max-width: 100%;
       padding: 0 0.75rem 1.5rem 0.75rem;
       font-size: 18px;
   }

   .mse-hero--course .mse-hero__image {
       height: 8.5rem;
   }

   .mse-content h2 {
       font-size: 1.35rem;
   }

   .mse-panel--links {
       padding: 0.9rem 1rem;
   }
}

@media (max-width: 640px) {
   .mse-dashboard__inner {
       padding: 0.75rem;
   }

   .mse-dashboard__mobile-logo {
       display: flex !important;
       justify-content: center !important;
       align-items: center !important;
       width: 100% !important;
       margin: 0 0 0.65rem 0 !important;
       padding: 0 !important;
   }

   .mse-card-grid {
       grid-template-columns: 1fr;
       gap: 1rem;
   }

   .mse-card-grid .mse-card--large {
       aspect-ratio: 1 / 1 !important;
       min-height: 0 !important;
       width: 80% !important;
       justify-self: center !important;
   }

   .mse-card-grid .mse-card--small {
       aspect-ratio: 14 / 7 !important;
       min-height: 0 !important;
       width: 80% !important;
       justify-self: center !important;
   }

   .mse-card--text-overlay .mse-card__body {
       display: none !important;
   }

   .mse-card__title {
       min-height: 2.25rem !important;
       padding: 0.35rem 0.75rem !important;
       font-size: 0.95rem !important;
       line-height: 1.1 !important;
   }

   .mse-card--large .mse-card__title {
       font-size: 1rem !important;
   }

   .mse-card--small .mse-card__title {
       font-size: 0.92rem !important;
   }

   .mse-hero__content {
       max-width: 70%;
   }

   .mse-hero__eyebrow {
       display: none !important;
   }

   .mse-hero__action {
       margin: 0 auto !important;
       font-size: 0.85rem !important;
       line-height: 1.1 !important;
   }
}

@media (max-width: 390px) {
   .mse-dashboard__inner {
       padding: 0.5rem;
   }
}

@media (prefers-reduced-motion: reduce) {
   .mse-card,
   .mse-card:hover,
   .mse-card:focus-visible,
   .mse-hero,
   .mse-hero:hover,
   .mse-hero:focus-visible,
   .mse-card__image,
   .mse-card img {
       transition: none !important;
       transform: none !important;
   }
}


/* =========================================================
  10. TOTARA-SPECIFIC EXCEPTIONS — RESERVED
  Do not add anything here yet.
  This section will be used later only for unavoidable
  course IDs, module IDs, block IDs, or native Totara fixes.
  ========================================================= */
/* =========================================================
  TOPIC-FORMAT COURSE LAYOUT
  Generic replacement for Fire Safety course page/activity styling.
  Use inside HTML you control with:
  .mse-course .mse-course--topic
  ========================================================= */

.mse-course--topic {
   width: 100%;
   max-width: none;
   margin: 0;
   padding: 0;
   color: var(--mse-text);
   text-align: left;
}

.mse-course--topic .mse-course-panel {
   width: 100% !important;
   max-width: none !important;
   margin: 0 0 var(--mse-space-lg) 0 !important;
   padding: 0 !important;
   box-sizing: border-box !important;
   text-align: left !important;
}

.mse-course--topic .mse-content {
   width: 100%;
   max-width: none;
   margin: 0;
   color: var(--mse-text);
   text-align: left;
}

.mse-course--topic .mse-content h2 {
   margin: 0 0 var(--mse-space-md) 0;
   color: var(--mse-text);
   font-size: 1.55rem;
   font-weight: 600;
   line-height: 1.25;
}

.mse-course--topic .mse-content p {
   margin: 0 0 1rem 0;
   max-width: 72ch;
   color: var(--mse-text);
   font-size: 1rem;
   line-height: 1.6;
}

.mse-course--topic .mse-content ul,
.mse-course--topic .mse-content ol {
   margin: 0 0 1rem 1.25rem;
   padding-left: 1rem;
}

.mse-course--topic .mse-content li {
   margin: 0.35rem 0;
   line-height: 1.5;
}


/* =========================================================
  TOPIC-FORMAT TWO-COLUMN PANEL
  Use where a Topic-format course page needs main content
  and a right-hand guidance/action panel.
  ========================================================= */

.mse-course-layout {
   display: flex;
   gap: var(--mse-space-lg);
   align-items: flex-start;
   width: 100%;
   max-width: none;
}

.mse-course-layout__main {
   flex: 1 1 auto;
   min-width: 0;
}

.mse-course-layout__aside {
   flex: 0 0 260px;
   min-width: 220px;
}

@media (max-width: 900px) {
   .mse-course-layout {
       display: block;
   }

   .mse-course-layout__main,
   .mse-course-layout__aside {
       width: 100%;
       min-width: 0;
       margin-bottom: var(--mse-space-md);
   }
}


/* =========================================================
  TOPIC-FORMAT COURSE NAVIGATION PANEL
  Generic replacement for .mse-fire-course-nav.
  ========================================================= */

.mse-panel--course-nav,
.mse-panel--nav {
   background: var(--mse-white);
   border: 1px solid #D9E0EA;
   border-radius: var(--mse-radius-medium);
   box-shadow: var(--mse-shadow-soft);
   overflow: hidden;
   font-size: 0.9rem;
   line-height: 1.35;
}

.mse-panel--course-nav .card,
.mse-panel--course-nav .block,
.mse-panel--course-nav .block-cards,
.mse-panel--nav .card,
.mse-panel--nav .block,
.mse-panel--nav .block-cards {
   border: 0 !important;
   box-shadow: none !important;
}

.mse-panel--course-nav .card-body,
.mse-panel--course-nav .content,
.mse-panel--course-nav .block-content,
.mse-panel--nav .card-body,
.mse-panel--nav .content,
.mse-panel--nav .block-content {
   padding: 0.65rem 0.75rem !important;
}
/* =========================================================
  TOPIC-FORMAT COURSE NAV PANEL CONTENT
  Supports left-column course information/contact blocks.
  ========================================================= */

.mse-panel--course-nav .mse-panel__body,
.mse-panel--nav .mse-panel__body {
   padding: 0.75rem !important;
}

.mse-panel--course-nav p,
.mse-panel--nav p {
   margin: 0 0 0.75rem 0;
}

.mse-panel--course-nav p:last-child,
.mse-panel--nav p:last-child {
   margin-bottom: 0;
}

.mse-panel--course-nav img,
.mse-panel--nav img {
   display: block;
   max-width: 100%;
   height: auto;
   margin: 0 0 0.75rem 0;
   border-radius: var(--mse-radius-small);
}

.mse-panel--course-nav hr,
.mse-panel--nav hr {
   border: 0;
   border-top: 1px solid #D9E0EA;
   margin: 0.75rem 0;
}

.mse-panel--course-nav a,
.mse-panel--nav a {
   color: var(--mse-blue);
   text-decoration: underline;
   text-underline-offset: 0.15em;
   font-weight: 600;
}

.mse-panel--course-nav a:hover,
.mse-panel--nav a:hover {
   color: var(--mse-dark-blue);
   text-decoration-thickness: 0.15em;
}
 
/* =========================================================
  NEW STARTER DASHBOARD HERO LOGO FIX
  Keeps the white Trust logo fixed and contained in the
  top-right corner of the dashboard hero/banner.
  ========================================================= */

.mse-hero--new-starter {
   position: relative !important;
   height: clamp(9rem, 20vw, 13.5rem) !important;
   min-height: 0 !important;
   max-height: 13.5rem !important;
   overflow: hidden !important;
   border-radius: var(--mse-radius-large) !important;
   background: var(--mse-blue) !important;
}

.mse-hero--new-starter > .mse-hero__image,
.mse-hero--new-starter > img {
   position: absolute !important;
   inset: 0 !important;
   z-index: 1 !important;
   display: block !important;
   width: 100% !important;
   height: 100% !important;
   max-width: none !important;
   max-height: none !important;
   margin: 0 !important;
   padding: 0 !important;
   object-fit: contain !important;
   object-position: center center !important;
}

.mse-hero--new-starter .mse-hero__logo {
   position: absolute !important;
   top: 0.25rem !important;
   right: 0 !important;
   left: auto !important;
   bottom: auto !important;
   z-index: 4 !important;
   width: 250px !important;
   height: 82px !important;
   display: flex !important;
   align-items: center !important;
   justify-content: center !important;
   background: transparent !important;
   border-radius: 0 !important;
   padding: 0 !important;
   margin: 0 !important;
   box-sizing: border-box !important;
   transform: none !important;
   pointer-events: none !important;
}

.mse-hero--new-starter .mse-hero__logo-img,
.mse-hero--new-starter .mse-hero__logo img {
   position: static !important;
   display: block !important;
   width: 100% !important;
   height: 100% !important;
   max-width: 100% !important;
   max-height: 100% !important;
   min-width: 0 !important;
   min-height: 0 !important;
   margin: 0 !important;
   padding: 0 !important;
   object-fit: contain !important;
   object-position: center center !important;
   transform: none !important;
   opacity: 1 !important;
   visibility: visible !important;
}

/* Keep the logo hidden on mobile if you are using the separate mobile logo above the banner */
@media (max-width: 640px) {
   .mse-hero--new-starter {
       height: 5rem !important;
       min-height: 5rem !important;
       max-height: 5rem !important;
       margin-bottom: 1rem !important;
       border-radius: 1rem !important;
   }

   .mse-hero--new-starter .mse-hero__logo {
       display: none !important;
   }

   .mse-hero--new-starter .mse-hero__content {
       left: 47% !important;
       top: 50% !important;
       max-width: 52% !important;
       transform: translate(-50%, -50%) !important;
       text-align: center !important;
   }
}

