/*
 * Main visual layer for the Moove based Moodle theme.
 * Loaded after Moodle/Boost CSS and kept intentionally presentation-only.
 */

/* variables */
:root {
    --ui-font: "Inter", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    --ui-bg: #f5f7fb;
    --ui-bg-soft: #eef4fb;
    --ui-surface: #ffffff;
    --ui-surface-muted: #f8fafc;
    --ui-text: #172033;
    --ui-heading: #101827;
    --ui-muted: #64748b;
    --ui-line: #dbe3ef;
    --ui-line-strong: #c7d3e3;
    --ui-primary: #2764d8;
    --ui-primary-hover: #1f52b4;
    --ui-primary-soft: #edf4ff;
    --ui-accent: #0e9f9a;
    --ui-accent-soft: #e8fbf8;
    --ui-success: #2d9a57;
    --ui-warning: #c47a1b;
    --ui-danger: #c83f49;
    --ui-radius-xs: 8px;
    --ui-radius-sm: 12px;
    --ui-radius: 16px;
    --ui-radius-lg: 22px;
    --ui-shadow-sm: 0 8px 22px rgba(21, 35, 56, 0.08);
    --ui-shadow: 0 16px 42px rgba(21, 35, 56, 0.12);
    --ui-shadow-lg: 0 24px 64px rgba(21, 35, 56, 0.18);
    --ui-navbar-height: 76px;
    --ui-content-width: 1360px;
    --ui-transition: 160ms ease;
}

/* reset/base */
html {
    scroll-behavior: smooth;
}

body {
    color: var(--ui-text);
    background: var(--ui-bg);
    font-family: var(--ui-font);
    font-feature-settings: "kern" 1;
    letter-spacing: 0;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

body,
button,
input,
select,
textarea {
    font-family: var(--ui-font);
}

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

a {
    color: var(--ui-primary);
    transition: color var(--ui-transition), background-color var(--ui-transition), border-color var(--ui-transition);
}

a:hover,
a:focus {
    color: var(--ui-primary-hover);
    text-decoration: none;
}

h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6 {
    color: var(--ui-heading);
    font-family: var(--ui-font);
    font-weight: 750;
    letter-spacing: 0;
}

img,
svg,
video {
    max-width: 100%;
}

::selection {
    color: #ffffff;
    background: var(--ui-primary);
}

:focus-visible {
    outline: 3px solid rgba(39, 100, 216, 0.22);
    outline-offset: 2px;
}

.text-muted,
.dimmed,
.muted {
    color: var(--ui-muted) !important;
}

/* layout */
#page-wrapper {
    min-height: 100vh;
    background:
        radial-gradient(circle at 10% -8%, rgba(14, 159, 154, 0.12), transparent 30%),
        linear-gradient(180deg, #f8fbff 0%, var(--ui-bg) 38%, #eef3f8 100%);
}

#page {
    width: 100%;
    max-width: none;
    margin-top: calc(var(--ui-navbar-height) + 20px);
}

#page.container-fluid {
    padding: 24px clamp(16px, 3vw, 36px);
}

#page-content {
    max-width: var(--ui-content-width);
    margin-right: auto;
    margin-left: auto;
}

#region-main {
    padding: 0;
    border: 0;
    background: transparent;
}

#region-main-box {
    min-width: 0;
}

.page-surface,
#region-main > .card,
.mymaincontent {
    overflow: hidden;
    border: 1px solid rgba(219, 227, 239, 0.95) !important;
    border-radius: var(--ui-radius-lg) !important;
    background: rgba(255, 255, 255, 0.96) !important;
    box-shadow: var(--ui-shadow-sm);
}

.page-surface > .card-body,
#region-main > .card > .card-body,
.mymaincontent > .card-body {
    padding: clamp(18px, 2.5vw, 34px) !important;
}

.generalbox,
.box,
.boxaligncenter,
.no-overflow,
.path-admin .settingsform,
.adminsettings {
    border-radius: var(--ui-radius);
}

.no-overflow {
    scrollbar-width: thin;
    scrollbar-color: var(--ui-line-strong) transparent;
}

.no-overflow::-webkit-scrollbar {
    height: 10px;
    width: 10px;
}

.no-overflow::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: var(--ui-line-strong);
}

.layout-clear {
    clear: both;
}

/* header/navbar */
nav.navbar {
    z-index: 3000;
    min-height: var(--ui-navbar-height);
    padding: 10px clamp(14px, 2vw, 30px);
    border: 0;
    border-bottom: 1px solid rgba(219, 227, 239, 0.9);
    background: rgba(255, 255, 255, 0.94) !important;
    box-shadow: 0 12px 32px rgba(21, 35, 56, 0.08);
    backdrop-filter: blur(14px);
}

nav.navbar::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: -1px;
    left: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--ui-primary), var(--ui-accent), #6d8df0);
}

nav.navbar .drawer-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    margin: 0 14px 0 0 !important;
    padding: 0;
    border-radius: var(--ui-radius-sm);
    background: var(--ui-primary-soft);
}

nav.navbar .drawer-toggle .nav-link,
nav.navbar .drawer-toggle button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    margin: 0 !important;
    padding: 0 !important;
    border: 0;
    color: var(--ui-primary) !important;
    background: transparent;
    box-shadow: none;
}

nav.navbar .navbar-brand {
    display: inline-flex;
    align-items: center;
    min-width: 0;
    margin-right: clamp(12px, 2vw, 26px);
    padding: 0;
}

nav.navbar .navbar-brand,
body#page-site-index.notloggedin nav.navbar .navbar-brand {
    display: none !important;
}

nav.navbar .navbar-brand .logo {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 86px;
    height: 56px;
    padding: 6px 10px;
    border: 1px solid rgba(219, 227, 239, 0.95);
    border-radius: var(--ui-radius);
    background: #ffffff;
    box-shadow: var(--ui-shadow-sm);
}

nav.navbar .navbar-brand .logo img {
    width: auto;
    max-width: 68px;
    max-height: 46px;
    object-fit: contain;
}

nav.navbar .custom-menus {
    align-items: center;
    gap: 4px;
}

nav.navbar .navbar-nav {
    align-items: center;
}

nav.navbar .navbar-nav .nav-link,
nav.navbar .navbar-nav .nav-item > a,
nav.navbar .popover-region-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0 12px !important;
    border-radius: var(--ui-radius-sm);
    color: var(--ui-text) !important;
    font-size: 14px;
    font-weight: 650;
    line-height: 1.2;
}

nav.navbar .navbar-nav .nav-link:hover,
nav.navbar .navbar-nav .nav-item > a:hover,
nav.navbar .popover-region-toggle:hover {
    color: var(--ui-primary) !important;
    background: var(--ui-primary-soft);
}

nav.navbar .dropdown-menu,
.popover-region-container {
    overflow: hidden;
    border: 1px solid var(--ui-line);
    border-radius: var(--ui-radius) !important;
    box-shadow: var(--ui-shadow);
}

nav.navbar .dropdown-item {
    padding: 10px 14px;
    color: var(--ui-text);
    font-weight: 600;
}

nav.navbar .dropdown-item:hover,
nav.navbar .dropdown-item:focus {
    color: var(--ui-primary);
    background: var(--ui-primary-soft);
}

.frontpage-course-search {
    display: none;
    align-items: center;
    width: min(470px, 44vw);
    height: 46px;
    overflow: hidden;
    border: 1px solid var(--ui-line);
    border-radius: var(--ui-radius);
    background: #ffffff;
    box-shadow: 0 10px 24px rgba(21, 35, 56, 0.07);
    transition: border-color var(--ui-transition), box-shadow var(--ui-transition);
}

body#page-site-index .frontpage-course-search,
body#page-my-index .frontpage-course-search {
    display: flex;
}

body:not(#page-site-index):not(#page-my-index) nav.navbar .frontpage-course-search {
    display: none !important;
}

.frontpage-course-search:focus-within {
    border-color: rgba(39, 100, 216, 0.72);
    box-shadow: 0 0 0 4px rgba(39, 100, 216, 0.12), 0 10px 24px rgba(21, 35, 56, 0.07);
}

.frontpage-course-search input {
    flex: 1 1 auto;
    width: 1%;
    min-width: 0;
    height: 44px;
    padding: 0 14px;
    border: 0;
    color: var(--ui-text);
    background: transparent;
    box-shadow: none;
    font-size: 14px;
    outline: 0;
}

.frontpage-course-search input::placeholder {
    color: #8492a6;
}

.frontpage-course-search button {
    display: inline-flex;
    flex: 0 0 48px;
    align-items: center;
    justify-content: center;
    height: 46px;
    border: 0;
    color: #ffffff;
    background: var(--ui-primary);
    transition: background-color var(--ui-transition);
}

.frontpage-course-search button:hover,
.frontpage-course-search button:focus {
    background: var(--ui-primary-hover);
}

.lang-menu .dropdown-toggle::after {
    margin-left: 8px;
}

/* nav drawer and blocks */
#nav-drawer {
    padding-top: 16px;
    border-right: 1px solid var(--ui-line);
    background: #ffffff;
    box-shadow: 14px 0 32px rgba(21, 35, 56, 0.08);
}

#nav-drawer .list-group-item,
#nav-drawer .nav-link,
.flat-navigation a,
.metismenu a {
    border: 0;
    border-radius: var(--ui-radius-sm);
    color: var(--ui-text);
    font-weight: 650;
}

#nav-drawer .list-group-item:hover,
#nav-drawer .nav-link:hover,
.flat-navigation a:hover,
.metismenu a:hover {
    color: var(--ui-primary);
    background: var(--ui-primary-soft);
}

/* restored main menu and polished drawer */
body:not(.notloggedin) nav.navbar {
    min-height: 74px;
    padding: 8px 30px;
    background: #ffffff !important;
    box-shadow: 0 10px 28px rgba(21, 35, 56, 0.06);
}

body:not(.notloggedin) nav.navbar .drawer-toggle {
    width: 48px;
    height: 48px;
    margin-right: 14px !important;
    border-radius: 12px;
    background: #edf4ff;
}

body:not(.notloggedin) nav.navbar .drawer-toggle .nav-link,
body:not(.notloggedin) nav.navbar .drawer-toggle button {
    width: 48px;
    height: 48px;
    color: var(--ui-primary) !important;
}

body:not(.notloggedin) nav.navbar .drawer-toggle:hover {
    background: #e4efff;
    box-shadow: 0 10px 22px rgba(39, 100, 216, 0.14);
}

body:not(.notloggedin) nav.navbar .navbar-brand .logo {
    width: 86px;
    height: 56px;
    border-radius: 14px;
    background: #ffffff;
}

body#page-site-index:not(.notloggedin) .frontpage-course-search,
body#page-my-index .frontpage-course-search {
    width: min(500px, 46vw);
    height: 46px;
    border-radius: 14px;
}

body#page-site-index:not(.notloggedin) .frontpage-course-search input,
body#page-my-index .frontpage-course-search input {
    height: 44px;
}

body#page-site-index:not(.notloggedin) .frontpage-course-search button,
body#page-my-index .frontpage-course-search button {
    height: 46px;
    border-radius: 0 14px 14px 0;
}

body:not(.notloggedin) nav.navbar .navbar-nav.ml-auto {
    gap: 8px;
}

body:not(.notloggedin) nav.navbar .lang-menu .nav-link,
body:not(.notloggedin) nav.navbar .popover-region-toggle,
body:not(.notloggedin) nav.navbar .usermenu .dropdown > a.dropdown-toggle {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 48px;
    height: 48px;
    min-width: 48px;
    min-height: 48px;
    padding: 0 !important;
    border: 0;
    border-radius: 14px;
    color: #0f172a !important;
    background: transparent !important;
    box-shadow: none;
    line-height: 1 !important;
    transform: translateY(0);
    transition: color var(--ui-transition), background-color var(--ui-transition), box-shadow var(--ui-transition), transform var(--ui-transition);
}

body:not(.notloggedin) nav.navbar .lang-menu .nav-link:hover,
body:not(.notloggedin) nav.navbar .lang-menu .nav-link:focus,
body:not(.notloggedin) nav.navbar .popover-region-toggle:hover,
body:not(.notloggedin) nav.navbar .popover-region-toggle:focus,
body:not(.notloggedin) nav.navbar .usermenu .dropdown > a.dropdown-toggle:hover,
body:not(.notloggedin) nav.navbar .usermenu .dropdown > a.dropdown-toggle:focus {
    color: var(--ui-primary) !important;
    background: #edf4ff !important;
    box-shadow: 0 10px 22px rgba(39, 100, 216, 0.14);
    transform: translateY(-1px);
}

body:not(.notloggedin) nav.navbar .lang-menu .nav-link i,
body:not(.notloggedin) nav.navbar .popover-region-toggle i,
body:not(.notloggedin) nav.navbar .popover-region-toggle .icon,
body:not(.notloggedin) nav.navbar .usermenu .dropdown > a.dropdown-toggle i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    margin: 0 !important;
    font-size: 20px;
    line-height: 1;
}

body:not(.notloggedin) nav.navbar .lang-menu .dropdown-toggle::after {
    display: none;
}

body:not(.notloggedin) nav.navbar .popover-region .count-container {
    top: 6px;
    right: 5px;
}

body:not(.notloggedin) nav.navbar .usermenu .userbutton {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
}

body:not(.notloggedin) nav.navbar .usermenu .avatars,
body:not(.notloggedin) nav.navbar .usermenu .avatar {
    margin: 0 !important;
}

body:not(.notloggedin) nav.navbar .usermenu img.userpicture {
    width: 36px;
    height: 36px;
    margin: 0;
    border-radius: 50%;
}

#nav-drawer {
    top: var(--ui-navbar-height);
    left: 0;
    width: 292px;
    max-width: min(292px, 86vw);
    height: calc(100% - var(--ui-navbar-height));
    padding: 16px 12px 76px;
    overflow-x: hidden;
    overflow-y: auto;
    border-right: 1px solid rgba(219, 227, 239, 0.95);
    background: #ffffff;
    box-shadow: 12px 0 34px rgba(21, 35, 56, 0.08);
    transform: translateX(0);
    opacity: 1;
    pointer-events: auto;
    transition: transform 220ms ease, opacity 220ms ease;
}

#nav-drawer.closed {
    transform: translateX(-100%);
    opacity: 0;
    pointer-events: none;
    box-shadow: none;
}

body:not(.notloggedin) {
    margin-left: 0 !important;
}

body:not(.notloggedin).drawer-open-left {
    margin-left: 0 !important;
}

body:not(.notloggedin) #page-wrapper,
body:not(.notloggedin) #page,
body:not(.notloggedin) #page.container-fluid,
body:not(.notloggedin) #page.drawers {
    width: 100% !important;
    max-width: 100vw !important;
    margin-left: 0 !important;
}

body.pagelayout-mydashboard #page,
body.pagelayout-mypublic #page,
body.pagelayout-frontpage:not(.notloggedin) #page,
body.pagelayout-standard #page,
body.pagelayout-admin #page,
body.pagelayout-course #page,
body.pagelayout-incourse #page,
body.pagelayout-report #page {
    width: 100%;
    margin-left: 0;
}

.nav-drawer-heading {
    display: none !important;
    align-items: center;
    gap: 12px;
    min-height: 52px;
    margin-bottom: 12px;
    padding: 0 12px;
    border: 1px solid var(--ui-line);
    border-radius: 18px;
    color: var(--ui-heading);
    background: linear-gradient(135deg, #f8fbff, #edf4ff);
    box-shadow: 0 10px 24px rgba(21, 35, 56, 0.06);
}

.nav-drawer-heading-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 12px;
    color: #ffffff;
    background: var(--ui-primary);
}

.nav-drawer-heading-text {
    font-size: 16px;
    font-weight: 800;
}

#nav-drawer.closed .nav-drawer-heading {
    justify-content: center;
    width: 56px;
    margin-right: auto;
    margin-left: auto;
    padding: 0;
}

#nav-drawer.closed .nav-drawer-heading-text {
    display: none;
}

#nav-drawer .list-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin: 0;
    padding: 0;
    border: 0 !important;
}

#nav-drawer .list-group + .list-group {
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid var(--ui-line) !important;
}

#nav-drawer .list-group .list-group-item {
    position: relative;
    min-height: 52px;
    padding: 0;
    border: 0 !important;
    border-radius: 16px;
    background: transparent !important;
    overflow: visible;
}

#nav-drawer .list-group .list-group-item > a {
    display: flex !important;
    align-items: center;
    gap: 12px;
    width: 100%;
    min-height: 52px;
    padding: 0 14px;
    border-radius: 16px;
    color: #344156 !important;
    background: transparent;
    font-size: 15px;
    font-weight: 750;
    line-height: 1.2;
    transition: color var(--ui-transition), background-color var(--ui-transition), box-shadow var(--ui-transition), transform var(--ui-transition);
}

#nav-drawer .list-group .list-group-item > a::before {
    display: inline-flex;
    flex: 0 0 24px;
    align-items: center;
    justify-content: center;
    width: 24px;
    margin: 0;
    color: currentColor;
}

#nav-drawer .list-group .list-group-item[data-key="arduino-simulator"] > a::before {
    content: "\e020";
}

#nav-drawer .list-group .list-group-item > a .text {
    display: block;
    flex: 1 1 auto;
    min-width: 0;
    margin-left: 0 !important;
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
    overflow-wrap: anywhere;
    line-height: 1.3;
}

#nav-drawer .list-group .list-group-item:hover > a,
#nav-drawer .list-group .list-group-item > a:hover,
#nav-drawer .list-group .list-group-item > a:focus {
    color: var(--ui-primary) !important;
    background: var(--ui-primary-soft);
    box-shadow: inset 0 0 0 1px rgba(39, 100, 216, 0.08);
}

#nav-drawer .list-group .list-group-item.active > a,
#nav-drawer .list-group .list-group-item > a.active,
#nav-drawer .list-group .list-group-item.active:hover > a {
    color: #ffffff !important;
    background: linear-gradient(135deg, var(--ui-primary), #4f7cf1);
    box-shadow: 0 12px 26px rgba(39, 100, 216, 0.22);
}

#nav-drawer .list-group .list-group-item > ul .list-group-item.active > a,
#nav-drawer .list-group .list-group-item > ul .list-group-item > a.active,
#nav-drawer .list-group .list-group-item > ul .list-group-item.active:hover > a {
    color: #0f2d64 !important;
    background: #edf4ff !important;
    box-shadow: inset 0 0 0 1px rgba(39, 100, 216, 0.12);
    -webkit-text-fill-color: #0f2d64 !important;
}

#nav-drawer .list-group .list-group-item > ul .list-group-item.active > a::before,
#nav-drawer .list-group .list-group-item > ul .list-group-item > a.active::before,
#nav-drawer .list-group .list-group-item > ul .list-group-item.active:hover > a::before,
#nav-drawer .list-group .list-group-item > ul .list-group-item.active > a .text,
#nav-drawer .list-group .list-group-item > ul .list-group-item > a.active .text,
#nav-drawer .list-group .list-group-item > ul .list-group-item.active:hover > a .text {
    color: #0f2d64 !important;
    -webkit-text-fill-color: #0f2d64 !important;
}

#nav-drawer.closed .list-group .list-group-item {
    width: 56px;
    min-height: 56px;
    margin-right: auto;
    margin-left: auto;
}

#nav-drawer.closed .list-group .list-group-item > a {
    justify-content: center;
    width: 56px;
    height: 56px;
    min-height: 56px;
    padding: 0;
}

#nav-drawer.closed .list-group .list-group-item > a .text {
    display: none;
}

#nav-drawer.closed .list-group .list-group-item:hover {
    width: 56px;
    background: transparent !important;
}

#nav-drawer.closed .list-group .list-group-item:hover > a {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1005;
    justify-content: flex-start;
    width: 270px;
    padding: 0 18px;
    border: 1px solid rgba(219, 227, 239, 0.98);
    color: var(--ui-primary) !important;
    background: #ffffff;
    box-shadow: 0 18px 42px rgba(21, 35, 56, 0.16);
}

#nav-drawer.closed .list-group .list-group-item.active:hover > a {
    color: #ffffff !important;
    border-color: rgba(39, 100, 216, 0.36);
    background: linear-gradient(135deg, var(--ui-primary), #4f7cf1);
}

#nav-drawer.closed .list-group .list-group-item:hover > a .text {
    display: inline-block;
    margin-left: 12px !important;
}

#nav-drawer.closed .list-group .list-group-item > ul {
    display: none;
}

#nav-drawer.closed .list-group .list-group-item:hover > ul {
    display: block;
    position: absolute;
    top: 62px;
    left: 66px;
    z-index: 1004;
    width: 240px;
    max-height: 360px;
    padding: 10px;
    overflow: auto;
    border: 1px solid var(--ui-line);
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 18px 42px rgba(21, 35, 56, 0.16);
}

#nav-drawer.closed .list-group .list-group-item:hover > ul .list-group-item {
    width: 100%;
    min-height: 42px;
    margin: 0;
}

#nav-drawer.closed .list-group .list-group-item:hover > ul .list-group-item a {
    position: static;
    width: 100%;
    height: auto;
    min-height: 42px;
    padding: 0 12px;
    border: 0;
    box-shadow: none;
    font-size: 13px;
}

#nav-drawer-footer {
    left: 0;
    width: 292px;
    height: 54px;
    margin: 0;
    background: linear-gradient(135deg, #35d2df, #2a9fd6);
    box-shadow: 0 -10px 24px rgba(21, 35, 56, 0.12);
    transform: translateX(-100%);
    opacity: 0;
    pointer-events: none;
    transition: transform 220ms ease, opacity 220ms ease;
}

#nav-drawer-footer #themesettings-control {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    height: 54px;
    padding: 0;
    color: #ffffff;
    font-weight: 750;
}

body.drawer-open-left {
    margin-left: 0 !important;
}

#nav-drawer-footer,
#nav-drawer:not(.closed) + #nav-drawer-footer,
#nav-drawer.closed + #nav-drawer-footer {
    display: none !important;
}

#nav-drawer:not(.closed) + #nav-drawer-footer {
    width: 292px;
    transform: translateX(0);
    opacity: 1;
    pointer-events: auto;
}

#sidepre-blocks,
[data-region="blocks-column"] {
    padding: 0 18px 20px;
}

.block,
.block.card {
    overflow: hidden;
    border: 1px solid var(--ui-line) !important;
    border-radius: var(--ui-radius) !important;
    background: #ffffff !important;
    box-shadow: var(--ui-shadow-sm);
}

.block .card-title,
.block .header .title h2 {
    margin-bottom: 0;
    color: var(--ui-heading);
    font-size: 16px;
    font-weight: 750;
}

.block .card-body,
.block .content {
    padding: 18px !important;
}

#sidepreopen-control {
    border-radius: var(--ui-radius-sm);
    background: var(--ui-primary);
    box-shadow: var(--ui-shadow-sm);
}

/* breadcrumbs and headings */
#page-header,
.page-context-header,
.page-header-headings {
    max-width: var(--ui-content-width);
    margin-right: auto;
    margin-left: auto;
}

.breadcrumb {
    align-items: center;
    gap: 6px;
    padding: 0;
    border-radius: 0;
    background: transparent;
}

.breadcrumb-item,
.breadcrumb-item a,
.breadcrumb-item .no-link {
    color: var(--ui-muted);
    font-size: 13px;
    font-weight: 650;
}

.breadcrumb-item a:hover {
    color: var(--ui-primary);
}

.page-header-headings h1,
#page-header h1 {
    margin: 0 0 12px;
    color: var(--ui-heading);
    font-size: clamp(26px, 3vw, 42px);
    line-height: 1.1;
}

.header-button-group,
.singlebutton,
.buttons {
    gap: 10px;
}

/* buttons */
.btn,
button,
input[type="submit"],
input[type="button"] {
    letter-spacing: 0;
}

.btn,
.singlebutton button,
input[type="submit"],
input[type="button"] {
    min-height: 42px;
    padding: 0.62rem 1.05rem;
    border-radius: var(--ui-radius-sm) !important;
    font-size: 14px;
    font-weight: 750;
    line-height: 1.2;
    box-shadow: none;
    transition:
        transform var(--ui-transition),
        background-color var(--ui-transition),
        border-color var(--ui-transition),
        color var(--ui-transition),
        box-shadow var(--ui-transition);
}

.btn:hover,
.singlebutton button:hover,
input[type="submit"]:hover,
input[type="button"]:hover {
    transform: translateY(-1px);
}

.btn-primary,
.singlebutton button,
input[type="submit"] {
    border-color: var(--ui-primary) !important;
    color: #ffffff !important;
    background: var(--ui-primary) !important;
}

.btn-primary:hover,
.btn-primary:focus,
.singlebutton button:hover,
input[type="submit"]:hover {
    border-color: var(--ui-primary-hover) !important;
    background: var(--ui-primary-hover) !important;
    box-shadow: 0 12px 26px rgba(39, 100, 216, 0.2);
}

.btn-secondary,
.btn-default,
.btn-outline-secondary,
input[type="button"] {
    border: 1px solid var(--ui-line-strong) !important;
    color: var(--ui-primary) !important;
    background: #ffffff !important;
}

.btn-secondary:hover,
.btn-secondary:focus,
.btn-default:hover,
.btn-outline-secondary:hover,
input[type="button"]:hover {
    border-color: rgba(39, 100, 216, 0.48) !important;
    color: var(--ui-primary-hover) !important;
    background: var(--ui-primary-soft) !important;
}

.btn-link {
    min-height: auto;
    padding: 0;
    border: 0 !important;
    color: var(--ui-primary) !important;
    background: transparent !important;
}

.btn-danger {
    border-color: var(--ui-danger) !important;
    background: var(--ui-danger) !important;
}

.btn-success {
    border-color: var(--ui-success) !important;
    background: var(--ui-success) !important;
}

/* forms */
label,
.col-form-label,
.form-label {
    color: var(--ui-text);
    font-weight: 700;
}

.form-control,
input[type="text"],
input[type="password"],
input[type="email"],
input[type="url"],
input[type="number"],
input[type="search"],
textarea,
select,
.custom-select {
    min-height: 44px;
    border: 1px solid var(--ui-line) !important;
    border-radius: var(--ui-radius-sm) !important;
    color: var(--ui-text);
    background-color: #ffffff !important;
    box-shadow: none !important;
    font-size: 14px;
    transition: border-color var(--ui-transition), box-shadow var(--ui-transition), background-color var(--ui-transition);
}

textarea.form-control,
textarea {
    min-height: 120px;
}

.form-control:focus,
input[type="text"]:focus,
input[type="password"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="number"]:focus,
input[type="search"]:focus,
textarea:focus,
select:focus,
.custom-select:focus {
    border-color: rgba(39, 100, 216, 0.72) !important;
    box-shadow: 0 0 0 4px rgba(39, 100, 216, 0.12) !important;
}

.form-control::placeholder,
input::placeholder,
textarea::placeholder {
    color: #93a1b5;
}

.input-group {
    align-items: stretch;
}

.input-group-addon,
.input-group-text {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 46px;
    border: 1px solid var(--ui-line) !important;
    border-radius: var(--ui-radius-sm) 0 0 var(--ui-radius-sm) !important;
    color: var(--ui-primary);
    background: var(--ui-primary-soft) !important;
}

.input-group .form-control {
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
}

.mform fieldset,
.mform .form-group,
.fcontainer .form-group {
    border-radius: var(--ui-radius);
}

.mform fieldset {
    margin-bottom: 22px;
    padding: 18px;
    border: 1px solid var(--ui-line);
    background: var(--ui-surface-muted);
}

.mform legend,
.collapsible-actions,
.form-description {
    color: var(--ui-muted);
}

.custom-control-label::before,
.custom-control-label::after {
    border-radius: 6px;
}

/* cards */
.card {
    border-color: var(--ui-line) !important;
    border-radius: var(--ui-radius) !important;
    background: var(--ui-surface);
    box-shadow: var(--ui-shadow-sm);
}

.card-header {
    border-bottom: 1px solid var(--ui-line);
    background: var(--ui-surface-muted);
    font-weight: 750;
}

.card-footer {
    border-top: 1px solid var(--ui-line);
    background: var(--ui-surface-muted);
}

.dashboard-card,
.coursebox,
.course_category_tree .category,
.course_category_tree .coursebox,
.frontpage-course-list-all .coursebox {
    border: 1px solid var(--ui-line) !important;
    border-radius: var(--ui-radius) !important;
    background: #ffffff !important;
    box-shadow: var(--ui-shadow-sm);
    transition: transform var(--ui-transition), box-shadow var(--ui-transition), border-color var(--ui-transition);
}

.dashboard-card:hover,
.coursebox:hover,
.frontpage-course-list-all .coursebox:hover {
    transform: translateY(-2px);
    border-color: rgba(39, 100, 216, 0.28) !important;
    box-shadow: var(--ui-shadow);
}

.dashboard-card .dashboard-card-img {
    border-top-left-radius: var(--ui-radius);
    border-top-right-radius: var(--ui-radius);
}

.coursebox > .info > .coursename a,
.dashboard-card .coursename,
.course-card-title {
    color: var(--ui-heading);
    font-weight: 750;
}

.badge,
.tag {
    border-radius: 999px;
    font-weight: 750;
}

.badge-primary {
    background: var(--ui-primary);
}

/* tables */
.generaltable,
table.collection,
.userenrolment,
.admintable,
.table {
    overflow: hidden;
    border: 1px solid var(--ui-line);
    border-radius: var(--ui-radius);
    background: #ffffff;
}

.generaltable th,
.table th,
.admintable th {
    border-bottom: 1px solid var(--ui-line) !important;
    color: var(--ui-heading);
    background: var(--ui-surface-muted);
    font-size: 13px;
    font-weight: 800;
}

.generaltable td,
.generaltable th,
.table td,
.table th,
.admintable td,
.admintable th {
    padding: 0.85rem 1rem;
    border-color: var(--ui-line) !important;
    vertical-align: middle;
}

.generaltable tbody tr:hover,
.table-hover tbody tr:hover {
    background: var(--ui-primary-soft);
}

.path-grade-report-grader .gradeparent {
    border-radius: var(--ui-radius);
    box-shadow: var(--ui-shadow-sm);
}

/* alerts, modals and menus */
.alert {
    border-radius: var(--ui-radius) !important;
    border-width: 1px;
    box-shadow: var(--ui-shadow-sm);
}

.alert-info {
    border-color: #bfdbfe;
    color: #1e3a8a;
    background: #eff6ff;
}

.alert-success {
    border-color: #bbf7d0;
    color: #166534;
    background: #f0fdf4;
}

.alert-warning {
    border-color: #fde68a;
    color: #92400e;
    background: #fffbeb;
}

.alert-danger,
.loginerrors .alert {
    border-color: #fecdd3;
    color: #9f1239;
    background: #fff1f2;
}

.modal-content {
    overflow: hidden;
    border: 1px solid var(--ui-line);
    border-radius: var(--ui-radius-lg);
    box-shadow: var(--ui-shadow-lg);
}

.modal-header,
.modal-footer {
    border-color: var(--ui-line);
    background: var(--ui-surface-muted);
}

.modal-backdrop.show {
    opacity: 0.42;
}

.dropdown-menu {
    padding: 8px;
}

.dropdown-divider {
    border-color: var(--ui-line);
}

.pagination .page-link {
    margin: 0 3px;
    border: 1px solid var(--ui-line);
    border-radius: var(--ui-radius-sm);
    color: var(--ui-primary);
}

.pagination .page-item.active .page-link {
    border-color: var(--ui-primary);
    background: var(--ui-primary);
}

.progress {
    height: 12px;
    overflow: hidden;
    border-radius: 999px;
    background: #e5edf7;
}

.progress-bar {
    border-radius: 999px;
    background: linear-gradient(90deg, var(--ui-primary), var(--ui-accent));
}

/* auth pages */
body#page-login-index.moove-login,
body#page-login-signup,
body#page-login-forgot_password,
body#page-login-change_password,
body#page-login-confirm {
    margin-left: 0;
    background:
        radial-gradient(circle at 15% 10%, rgba(39, 100, 216, 0.16), transparent 32%),
        radial-gradient(circle at 86% 12%, rgba(14, 159, 154, 0.12), transparent 30%),
        linear-gradient(180deg, #f8fbff 0%, #edf3f9 100%);
}

body#page-login-index.moove-login #page,
body#page-login-signup #page,
body#page-login-forgot_password #page,
body#page-login-change_password #page,
body#page-login-confirm #page {
    display: flex;
    align-items: center;
    min-height: 100vh;
    margin-top: 0;
    padding: clamp(18px, 4vw, 48px);
}

body#page-login-index.moove-login .loginpanel {
    overflow: hidden;
    border: 1px solid rgba(219, 227, 239, 0.95) !important;
    border-radius: 26px !important;
    background: #ffffff;
    box-shadow: var(--ui-shadow-lg);
}

body#page-login-index.moove-login .loginpanel .card-block {
    padding: 0 !important;
}

body#page-login-index.moove-login .loginpanel > .card-block > .row {
    min-height: 500px;
}

body#page-login-index.moove-login .loginpanel .instructions {
    display: flex;
    min-height: 500px;
    flex-direction: column;
    justify-content: center;
    padding: clamp(26px, 4vw, 54px) !important;
    color: #ffffff;
    background:
        linear-gradient(140deg, rgba(23, 32, 51, 0.88), rgba(39, 100, 216, 0.82)),
        url("IOT.png") center/cover no-repeat;
}

body#page-login-index.moove-login .loginpanel .instructions h2,
body#page-login-index.moove-login .loginpanel .instructions h3,
body#page-login-index.moove-login .loginpanel .instructions .text-info {
    color: #ffffff !important;
}

body#page-login-index.moove-login .loginpanel .instructions h2 {
    font-size: clamp(28px, 3vw, 42px);
    line-height: 1.08;
}

body#page-login-index.moove-login .loginpanel .instructions hr {
    width: 72px;
    margin: 18px 0;
    border-top: 4px solid rgba(255, 255, 255, 0.8);
    border-radius: 999px;
}

body#page-login-index.moove-login .loginpanel .form {
    display: flex;
    min-height: 500px;
    flex-direction: column;
    justify-content: center;
    padding: clamp(26px, 4vw, 48px) !important;
}

body#page-login-index.moove-login .loginpanel .welcome {
    margin-bottom: 24px;
    color: var(--ui-heading);
    font-size: 26px;
    font-weight: 800;
}

body#page-login-index.moove-login .loginpanel .input-group {
    margin-bottom: 16px;
}

body#page-login-index.moove-login .rememberpass {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 4px 0 18px;
    color: var(--ui-muted);
    font-size: 14px;
}

body#page-login-index.moove-login #loginbtn {
    width: 100%;
}

body#page-login-index.moove-login .forgetpass {
    margin-top: 18px;
    text-align: center;
}

body#page-login-index.moove-login .logo img,
body#page-login-signup .logo img {
    max-height: 92px;
}

body#page-login-signup #region-main,
body#page-login-forgot_password #region-main,
body#page-login-change_password #region-main,
body#page-login-confirm #region-main {
    width: min(100%, 880px);
    margin-right: auto;
    margin-left: auto;
}

body#page-login-signup .signup-form,
body#page-login-forgot_password .box,
body#page-login-change_password .box,
body#page-login-confirm .box {
    border: 1px solid var(--ui-line);
    border-radius: var(--ui-radius-lg);
    background: #ffffff;
    box-shadow: var(--ui-shadow);
}

body#page-login-signup .plugins_standard_footer_html,
body#page-login-index.moove-login .plugins_standard_footer_html {
    display: none;
}

/* public frontpage */
body#page-site-index.notloggedin {
    margin-left: 0;
    background: #ffffff;
}

body#page-site-index.notloggedin #page {
    margin-top: var(--ui-navbar-height) !important;
    padding: 0 !important;
    background: #ffffff;
}

body#page-site-index.notloggedin #page-content {
    max-width: none;
}

body#page-site-index.notloggedin #page-header.frontpage-guest-header {
    position: relative;
    min-height: clamp(620px, 74vh, 820px);
    overflow: hidden;
    background:
        linear-gradient(90deg, rgba(11, 21, 38, 0.72), rgba(11, 21, 38, 0.22) 47%, rgba(11, 21, 38, 0.48)),
        url("IOT.png") center/cover no-repeat;
}

body#page-site-index.notloggedin #mooveslideshow,
body#page-site-index.notloggedin #mooveslideshow .carousel-inner,
body#page-site-index.notloggedin #mooveslideshow .carousel-item {
    height: clamp(620px, 74vh, 820px);
    max-height: none !important;
}

body#page-site-index.notloggedin #mooveslideshow .carousel-item {
    background:
        linear-gradient(90deg, rgba(11, 21, 38, 0.72), rgba(11, 21, 38, 0.22) 47%, rgba(11, 21, 38, 0.48)),
        url("IOT.png") center/cover no-repeat !important;
}

body#page-site-index.notloggedin #mooveslideshow .carousel-item img {
    width: 100%;
    height: 100%;
    opacity: 0;
    object-fit: cover;
}

body#page-site-index.notloggedin #mooveslideshow .carousel-caption {
    top: 50% !important;
    right: auto !important;
    bottom: auto !important;
    left: clamp(18px, 6vw, 86px) !important;
    width: min(640px, calc(100vw - 40px));
    padding: 0;
    text-align: left;
    transform: translateY(-50%);
}

body#page-site-index.notloggedin #mooveslideshow .carousel-caption .title,
body#page-site-index.notloggedin #intro h1 {
    margin: 0;
    color: #ffffff !important;
    text-shadow: none !important;
    font-size: clamp(34px, 4vw, 58px);
    font-weight: 820;
    line-height: 1.05;
}

body#page-site-index.notloggedin #mooveslideshow .carousel-caption .title::after,
body#page-site-index.notloggedin #intro h1::after {
    content: "";
    display: block;
    width: 88px;
    height: 5px;
    margin-top: 22px;
    border-radius: 999px;
    background: linear-gradient(90deg, #ffffff, #75e1db);
}

body#page-site-index.notloggedin #page-header > #loginbox:not(.row),
body#page-site-index.notloggedin #page-header > #loginbox.row > #boxForm {
    position: absolute;
    top: 50%;
    right: clamp(18px, 6vw, 86px);
    z-index: 5;
    width: min(430px, calc(100vw - 36px));
    margin: 0 !important;
    transform: translateY(-50%);
}

body#page-site-index.notloggedin #page-header > #loginbox.row {
    position: relative;
    min-height: clamp(620px, 74vh, 820px);
    margin: 0;
}

body#page-site-index.notloggedin #page-header > #loginbox.d-none {
    display: block !important;
}

body#page-site-index.notloggedin #boxForm,
body#page-site-index.notloggedin .hero-login-card {
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.72) !important;
    border-radius: 26px !important;
    background: rgba(255, 255, 255, 0.96) !important;
    box-shadow: var(--ui-shadow-lg);
    backdrop-filter: blur(16px);
}

body#page-site-index.notloggedin #boxForm .card-body {
    padding: clamp(24px, 3vw, 36px) !important;
}

body#page-site-index.notloggedin #boxForm h3 {
    margin: 0 0 22px;
    color: var(--ui-heading);
    font-size: 24px;
    font-weight: 800;
}

body#page-site-index.notloggedin #boxForm h3::after {
    content: "";
    display: block;
    width: 50px;
    height: 4px;
    margin-top: 12px;
    border-radius: 999px;
    background: var(--ui-accent);
}

.frontpage-login-alert {
    margin-bottom: 18px;
    padding: 12px 14px;
    border: 1px solid #fecdd3;
    border-radius: var(--ui-radius-sm);
    color: #9f1239;
    background: #fff1f2;
    font-size: 14px;
    font-weight: 750;
}

.frontpage-login-alert[hidden] {
    display: none !important;
}

body#page-site-index.notloggedin #boxForm label {
    margin-bottom: 7px;
    font-size: 13px;
}

body#page-site-index.notloggedin #boxForm .input-group {
    margin-bottom: 18px;
}

body#page-site-index.notloggedin #boxForm .form-control {
    height: 48px;
}

body#page-site-index.notloggedin #boxForm .sign-up-btn .btn,
body#page-site-index.notloggedin #boxForm .btn-register {
    width: 100%;
}

body#page-site-index.notloggedin #boxForm .btn-register {
    margin-top: 8px;
}

body#page-site-index.notloggedin #boxForm p.my-2 {
    margin: 16px 0 14px !important;
}

.frontpage-marketing,
.frontpage-maincontent,
#numbers,
.frontpage-numbers,
.frontpage-sponsorsclients {
    background: #ffffff;
}

.frontpage-marketing {
    position: relative;
    z-index: 6;
    padding: 38px 0 58px !important;
}

.frontpage-marketing .container,
.frontpage-maincontent,
.frontpage-numbers .container,
.frontpage-sponsorsclients .container {
    max-width: var(--ui-content-width);
    padding-right: clamp(16px, 3vw, 30px);
    padding-left: clamp(16px, 3vw, 30px);
}

.frontpage-marketing .card-deck {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
    margin: 0 !important;
}

.frontpage-feature-card {
    min-width: 0;
    margin: 0 !important;
    overflow: hidden;
    border: 1px solid var(--ui-line) !important;
    border-radius: 24px !important;
    background: #ffffff !important;
    box-shadow: var(--ui-shadow-sm);
    transition: transform var(--ui-transition), box-shadow var(--ui-transition);
}

.frontpage-feature-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--ui-shadow);
}

.frontpage-feature-card .card-body {
    display: flex;
    min-height: 320px;
    flex-direction: column;
    padding: 26px !important;
}

.frontpage-feature-card img {
    width: 58px;
    height: 58px;
    margin-bottom: 20px;
    border-radius: 18px;
    object-fit: contain;
}

.frontpage-feature-card h2 {
    margin-bottom: 8px;
    font-size: 20px;
}

.frontpage-feature-card h3 {
    margin-bottom: 14px;
    color: var(--ui-accent);
    font-size: 15px;
}

.frontpage-feature-card p {
    color: var(--ui-muted);
    line-height: 1.65;
}

.frontpage-feature-card .btn {
    margin-top: auto;
}

.frontpage-maincontent {
    padding-top: 24px;
    padding-bottom: 54px;
}

/* dashboard and course pages */
body:not(.notloggedin) #page {
    padding-top: 0;
}

body:not(.notloggedin) .page-context-header {
    padding: clamp(18px, 2.6vw, 32px);
    border: 1px solid rgba(219, 227, 239, 0.82);
    border-radius: var(--ui-radius-lg);
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.95), rgba(239, 246, 255, 0.9));
    box-shadow: var(--ui-shadow-sm);
}

body:not(.notloggedin) .page-context-header .page-header-image img {
    border-radius: var(--ui-radius);
}

.block_myoverview .dashboard-card-deck,
.block_myoverview .card-deck {
    gap: 18px;
}

.course-content ul.topics li.section,
.course-content ul.weeks li.section,
.course-content .section.main {
    margin-bottom: 18px;
    border: 1px solid var(--ui-line);
    border-radius: var(--ui-radius-lg);
    background: #ffffff;
    box-shadow: var(--ui-shadow-sm);
}

.course-content .sectionname,
.course-content .section-title {
    color: var(--ui-heading);
}

.activity-item,
.activity {
    border-radius: var(--ui-radius);
}

.activity-item:hover {
    background: var(--ui-primary-soft);
}

/* admin pages */
.path-admin #region-main .adminsettings,
.path-admin .settingsform,
.path-admin .form-overridden,
.path-admin .settingsform fieldset {
    border-color: var(--ui-line);
    background: #ffffff;
}

.path-admin .settingsform fieldset {
    padding: 18px;
    box-shadow: var(--ui-shadow-sm);
}

.path-admin .form-setting .form-defaultinfo,
.path-admin .form-description {
    color: var(--ui-muted);
    font-size: 13px;
}

.path-admin .adminwarning {
    border-radius: var(--ui-radius);
}

/* footer */
#top-footer {
    margin-top: 40px;
    padding: 36px clamp(16px, 4vw, 48px);
    color: #dbeafe;
    background: #13233a;
}

#top-footer a {
    color: #ffffff;
}

#top-footer h4 {
    color: #ffffff;
}

#top-footer ul {
    padding-left: 0;
    list-style: none;
}

#top-footer li {
    margin-bottom: 10px;
}

#top-footer .social ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 10px;
}

#top-footer .social .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    min-height: 42px;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, 0.16) !important;
    color: #ffffff !important;
    background: rgba(255, 255, 255, 0.08) !important;
}

#page-footer {
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    color: #cbd5e1;
    background: #101827;
}

/* maintenance */
body.pagelayout-maintenance #page {
    width: min(100%, 960px);
    margin: 8vh auto;
    border: 1px solid var(--ui-line);
    border-radius: var(--ui-radius-lg);
    background: #ffffff;
    box-shadow: var(--ui-shadow);
}

/* responsive styles */
@media (max-width: 1199.98px) {
    .frontpage-marketing .card-deck {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body#page-site-index.notloggedin #page-header > #loginbox:not(.row),
    body#page-site-index.notloggedin #page-header > #loginbox.row > #boxForm {
        right: 28px;
    }

    body#page-site-index.notloggedin #mooveslideshow .carousel-caption {
        left: 28px !important;
        width: min(520px, calc(100vw - 500px));
    }
}

@media (max-width: 991.98px) {
    :root {
        --ui-navbar-height: 68px;
    }

    nav.navbar {
        padding: 8px 14px;
    }

    nav.navbar .navbar-brand .logo {
        width: 72px;
        height: 50px;
    }

    .frontpage-course-search {
        display: none !important;
    }

    #page.container-fluid {
        padding: 18px 14px;
    }

    body#page-site-index.notloggedin #page-header.frontpage-guest-header,
    body#page-site-index.notloggedin #mooveslideshow,
    body#page-site-index.notloggedin #mooveslideshow .carousel-inner,
    body#page-site-index.notloggedin #mooveslideshow .carousel-item {
        height: auto;
        min-height: 860px;
    }

    body#page-site-index.notloggedin #mooveslideshow .carousel-caption {
        top: 12% !important;
        left: 18px !important;
        width: calc(100vw - 36px);
        transform: none;
    }

    body#page-site-index.notloggedin #page-header > #loginbox:not(.row),
    body#page-site-index.notloggedin #page-header > #loginbox.row > #boxForm {
        top: auto;
        right: 18px;
        bottom: 32px;
        left: 18px;
        width: auto;
        transform: none;
    }

    body#page-login-index.moove-login .loginpanel > .card-block > .row {
        min-height: 0;
    }

    body#page-login-index.moove-login .loginpanel .instructions,
    body#page-login-index.moove-login .loginpanel .form {
        min-height: 0;
    }

    body#page-login-index.moove-login .loginpanel .instructions {
        padding: 30px !important;
    }
}

@media (max-width: 767.98px) {
    body {
        font-size: 15px;
    }

    body.pagelayout-mydashboard:not(.drawer-open-left) #page,
    body.pagelayout-mypublic:not(.drawer-open-left) #page,
    body.pagelayout-frontpage:not(.drawer-open-left):not(.notloggedin) #page,
    body.pagelayout-standard:not(.drawer-open-left) #page,
    body.pagelayout-admin:not(.drawer-open-left) #page,
    body.pagelayout-course:not(.drawer-open-left) #page,
    body.pagelayout-incourse:not(.drawer-open-left) #page,
    body.pagelayout-report:not(.drawer-open-left) #page {
        width: 100%;
        margin-left: 0;
    }

    #nav-drawer {
        width: min(292px, 86vw);
    }

    #nav-drawer.closed {
        width: min(292px, 86vw);
        transform: translateX(-100%);
    }

    #nav-drawer.closed .list-group .list-group-item:hover > a,
    #nav-drawer.closed .list-group .list-group-item:hover > ul {
        position: static;
        width: 100%;
    }

    #nav-drawer-footer {
        display: none;
    }

    #page {
        margin-top: calc(var(--ui-navbar-height) + 12px);
    }

    .page-surface > .card-body,
    #region-main > .card > .card-body,
    .mymaincontent > .card-body {
        padding: 18px !important;
    }

    nav.navbar .custom-menus,
    nav.navbar .d-none.d-lg-block {
        display: none !important;
    }

    nav.navbar .navbar-brand {
        margin-right: 8px;
    }

    nav.navbar .navbar-nav .nav-link,
    nav.navbar .navbar-nav .nav-item > a,
    nav.navbar .popover-region-toggle {
        min-width: 40px;
        padding: 0 8px !important;
    }

    .frontpage-marketing .card-deck {
        grid-template-columns: 1fr;
    }

    .frontpage-feature-card .card-body {
        min-height: 0;
    }

    body#page-site-index.notloggedin #mooveslideshow .carousel-caption .title,
    body#page-site-index.notloggedin #intro h1 {
        font-size: clamp(29px, 10vw, 42px);
    }

    .generaltable,
    .table,
    .admintable {
        display: block;
        width: 100%;
        overflow-x: auto;
        white-space: nowrap;
    }

    #top-footer .social ul {
        justify-content: flex-start;
    }
}

@media (max-width: 575.98px) {
    nav.navbar .drawer-toggle {
        width: 42px;
        height: 42px;
        margin-right: 8px !important;
    }

    nav.navbar .navbar-brand .logo {
        width: 62px;
        height: 44px;
        padding: 5px 8px;
    }

    body#page-site-index.notloggedin #page-header.frontpage-guest-header,
    body#page-site-index.notloggedin #mooveslideshow,
    body#page-site-index.notloggedin #mooveslideshow .carousel-inner,
    body#page-site-index.notloggedin #mooveslideshow .carousel-item {
        min-height: 830px;
    }

    body#page-site-index.notloggedin #boxForm .card-body {
        padding: 22px !important;
    }

    body#page-login-index.moove-login #page,
    body#page-login-signup #page,
    body#page-login-forgot_password #page,
    body#page-login-change_password #page,
    body#page-login-confirm #page {
        padding: 14px;
    }

    body#page-login-index.moove-login .loginpanel {
        border-radius: 20px !important;
    }
}

/* frontpage restoration */
body#page-site-index.notloggedin nav.navbar {
    min-height: 70px;
    padding: 7px 24px;
    border: 0;
    background: rgba(255, 255, 255, 0.96) !important;
    box-shadow: 0 8px 26px rgba(34, 64, 100, 0.08);
}

body#page-site-index.notloggedin nav.navbar::after {
    height: 3px;
    background: linear-gradient(90deg, #2b79d9, #39d3d6, #5a7cef);
}

body#page-site-index.notloggedin nav.navbar .navbar-brand {
    margin-right: 20px;
}

body#page-site-index.notloggedin nav.navbar .navbar-brand .logo {
    width: 88px;
    height: 56px;
    border: 1px solid #d7e4f4;
    border-radius: 14px;
    background: #ffffff;
    box-shadow: 0 8px 22px rgba(37, 111, 215, 0.10);
}

body#page-site-index.notloggedin nav.navbar .navbar-brand .logo img {
    max-width: 70px;
    max-height: 46px;
}

body#page-site-index.notloggedin nav.navbar .frontpage-course-search {
    display: flex !important;
    width: min(460px, 42vw);
    height: 48px;
    margin-left: 0;
    border: 1px solid #d6e3f2;
    border-radius: 13px;
    background: #ffffff;
    box-shadow: 0 10px 24px rgba(30, 72, 120, 0.08);
}

body#page-site-index.notloggedin nav.navbar .frontpage-course-search input {
    height: 46px;
    padding: 0 16px;
    border: 0 !important;
    border-radius: 13px 0 0 13px !important;
    color: #334155;
    font-size: 14px;
}

body#page-site-index.notloggedin nav.navbar .frontpage-course-search button {
    flex: 0 0 46px;
    width: 46px;
    height: 48px;
    border-radius: 0 13px 13px 0;
    background: #276bdc;
}

body#page-site-index.notloggedin nav.navbar .lang-menu .nav-link,
body#page-site-index.notloggedin nav.navbar .lang-menu a {
    width: 48px;
    height: 48px;
    min-width: 48px;
    min-height: 48px;
    padding: 0 !important;
    border: 1px solid #dce7f5;
    border-radius: 13px;
    color: #276bdc !important;
    background: #f4f8ff !important;
    box-shadow: 0 8px 22px rgba(37, 111, 215, 0.08);
}

body#page-site-index.notloggedin #page {
    margin-top: 70px !important;
}

body#page-site-index.notloggedin #page-header.frontpage-guest-header,
body#page-site-index.notloggedin #mooveslideshow,
body#page-site-index.notloggedin #mooveslideshow .carousel-inner,
body#page-site-index.notloggedin #mooveslideshow .carousel-item {
    height: min(760px, calc(100vh - 70px));
    min-height: 650px;
}

body#page-site-index.notloggedin #page-header.frontpage-guest-header {
    background: url("IOT.png") center center / cover no-repeat !important;
}

body#page-site-index.notloggedin #mooveslideshow .carousel-item {
    background: url("IOT.png") center center / cover no-repeat !important;
}

body#page-site-index.notloggedin #mooveslideshow .carousel-item img {
    opacity: 0;
}

body#page-site-index.notloggedin #mooveslideshow .carousel-caption {
    top: 50% !important;
    left: max(56px, calc(50vw - 520px)) !important;
    width: min(610px, 42vw);
    transform: translateY(-50%) !important;
}

body#page-site-index.notloggedin #mooveslideshow .carousel-caption .title,
body#page-site-index.notloggedin #intro h1 {
    display: block;
    margin: 0;
    padding: 24px 28px 26px;
    border: 1px solid rgba(115, 221, 230, 0.25);
    border-radius: 18px;
    color: #ffffff !important;
    background: linear-gradient(135deg, rgba(25, 63, 82, 0.86), rgba(34, 121, 141, 0.78));
    box-shadow: 0 18px 36px rgba(10, 32, 52, 0.26);
    text-shadow: none !important;
    font-size: clamp(30px, 2.25vw, 38px);
    font-weight: 800;
    line-height: 1.23;
}

body#page-site-index.notloggedin #mooveslideshow .carousel-caption .title::after,
body#page-site-index.notloggedin #intro h1::after {
    width: 64px;
    height: 4px;
    margin-top: 16px;
    background: #73dfe7;
}

body#page-site-index.notloggedin #page-header > #loginbox:not(.row),
body#page-site-index.notloggedin #page-header > #loginbox.row > #boxForm {
    top: 50%;
    right: max(56px, calc(50vw - 570px));
    width: 365px;
    transform: translateY(-50%);
}

body#page-site-index.notloggedin #boxForm,
body#page-site-index.notloggedin .hero-login-card {
    border: 1px solid rgba(219, 230, 243, 0.78) !important;
    border-radius: 24px !important;
    background: rgba(255, 255, 255, 0.88) !important;
    box-shadow: 0 22px 52px rgba(25, 45, 75, 0.18);
    backdrop-filter: blur(12px);
}

body#page-site-index.notloggedin #boxForm .card-body {
    min-height: 420px;
    padding: 32px 34px !important;
}

body#page-site-index.notloggedin #boxForm h3 {
    margin-bottom: 24px;
    color: #1f2937;
    font-size: 24px;
    font-weight: 800;
}

body#page-site-index.notloggedin #boxForm .input-group {
    height: 44px;
    margin-bottom: 18px;
    overflow: hidden;
    border: 1px solid #d9e4f2;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.82);
}

body#page-site-index.notloggedin #boxForm .input-group-addon {
    width: 46px;
    min-width: 46px;
    height: 44px;
    border: 0 !important;
    border-right: 1px solid #d9e4f2 !important;
    border-radius: 0 !important;
    background: #edf5ff !important;
}

body#page-site-index.notloggedin #boxForm .form-control {
    height: 42px;
    min-height: 42px;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
}

body#page-site-index.notloggedin #boxForm .btn-primary {
    height: 44px;
    min-height: 44px;
    border-radius: 11px !important;
    background: #2d76db !important;
}

body#page-site-index.notloggedin #boxForm .btn-register {
    border: 1px solid #d7e4f4 !important;
    color: #2d76db !important;
    background: rgba(255, 255, 255, 0.7) !important;
}

body#page-site-index.notloggedin .frontpage-marketing {
    margin-top: -42px;
    padding: 0 0 64px !important;
    background: #ffffff;
}

body#page-site-index.notloggedin .frontpage-marketing .container {
    max-width: 1290px;
}

body#page-site-index.notloggedin .frontpage-marketing .card-deck {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 26px;
}

body#page-site-index.notloggedin .frontpage-feature-card {
    min-height: 560px;
    border: 1px solid #d8e5f5 !important;
    border-radius: 16px !important;
    background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%) !important;
    box-shadow: 0 18px 42px rgba(21, 35, 56, 0.08);
}

body#page-site-index.notloggedin .frontpage-feature-card:hover {
    transform: translateY(-6px);
    border-color: rgba(45, 118, 219, 0.28) !important;
    box-shadow: 0 24px 58px rgba(21, 35, 56, 0.14);
}

body#page-site-index.notloggedin .frontpage-feature-card .card-body {
    min-height: 560px;
    align-items: center;
    justify-content: flex-start;
    padding: 38px 28px 34px !important;
    text-align: center;
}

body#page-site-index.notloggedin .frontpage-feature-card img {
    width: 180px;
    height: 180px;
    margin: 0 auto 34px;
    border-radius: 0;
    object-fit: contain;
}

body#page-site-index.notloggedin .frontpage-feature-card h2 {
    max-width: 240px;
    margin: 0 auto 18px;
    color: #424c5b;
    font-size: clamp(25px, 1.6vw, 31px);
    font-weight: 800;
    line-height: 1.14;
}

body#page-site-index.notloggedin .frontpage-feature-card h3 {
    max-width: 250px;
    margin: 0 auto 22px;
    color: #9aa0a8;
    font-size: clamp(20px, 1.35vw, 26px);
    font-weight: 800;
    line-height: 1.2;
}

body#page-site-index.notloggedin .frontpage-feature-card p {
    max-width: 240px;
    margin: 0 auto;
    color: #8b94a3;
    font-size: 15px;
    line-height: 1.58;
}

body#page-site-index.notloggedin .frontpage-maincontent form[action*="/course/search.php"],
body#page-site-index.notloggedin .frontpage-maincontent .coursesearchbox,
body#page-site-index.notloggedin .frontpage-maincontent #coursesearch {
    display: none !important;
}

#top-footer .plugins_standard_footer_html .tool_dataprivacy,
#top-footer .plugins_standard_footer_html .mobilefooter {
    display: none !important;
}

#top-footer .contact {
    flex: 0 0 100%;
    max-width: 100%;
    text-align: center;
}

#top-footer .contact h4 {
    white-space: nowrap;
    font-size: clamp(18px, 1.28vw, 24px);
    line-height: 1.25;
}

#top-footer .social {
    flex: 0 0 100%;
    max-width: 100%;
}

#top-footer .social ul {
    justify-content: center;
}

@media (max-width: 1199.98px) {
    body#page-site-index.notloggedin #mooveslideshow .carousel-caption {
        left: 32px !important;
        width: min(560px, 48vw);
    }

    body#page-site-index.notloggedin #page-header > #loginbox:not(.row),
    body#page-site-index.notloggedin #page-header > #loginbox.row > #boxForm {
        right: 32px;
    }

    body#page-site-index.notloggedin .frontpage-feature-card img {
        width: 150px;
        height: 150px;
    }
}

@media (max-width: 991.98px) {
    body#page-site-index.notloggedin nav.navbar .frontpage-course-search {
        display: flex !important;
        width: min(300px, 45vw);
    }

    body#page-site-index.notloggedin #page-header.frontpage-guest-header,
    body#page-site-index.notloggedin #mooveslideshow,
    body#page-site-index.notloggedin #mooveslideshow .carousel-inner,
    body#page-site-index.notloggedin #mooveslideshow .carousel-item {
        height: auto;
        min-height: 880px;
    }

    body#page-site-index.notloggedin #mooveslideshow .carousel-caption {
        top: 90px !important;
        left: 22px !important;
        width: calc(100vw - 44px);
        transform: none !important;
    }

    body#page-site-index.notloggedin #page-header > #loginbox:not(.row),
    body#page-site-index.notloggedin #page-header > #loginbox.row > #boxForm {
        top: auto;
        right: 22px;
        bottom: 34px;
        left: 22px;
        width: auto;
        transform: none;
    }

    body#page-site-index.notloggedin .frontpage-marketing .card-deck {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    body#page-site-index.notloggedin nav.navbar .frontpage-course-search {
        display: none !important;
    }

    body#page-site-index.notloggedin .frontpage-marketing .card-deck {
        grid-template-columns: 1fr;
    }

    body#page-site-index.notloggedin .frontpage-feature-card,
    body#page-site-index.notloggedin .frontpage-feature-card .card-body {
        min-height: 0;
    }

    #top-footer .contact h4 {
        white-space: normal;
    }
}

/* Frontpage hero: restore the original full-width composition. */
body#page-site-index.notloggedin #page-wrapper,
body#page-site-index.notloggedin #page,
body#page-site-index.notloggedin #page-content {
    width: 100%;
    max-width: none !important;
}

body#page-site-index.notloggedin #page-wrapper {
    overflow-x: hidden;
}

body#page-site-index.notloggedin #page {
    margin-top: 70px !important;
    padding: 0 !important;
}

body#page-site-index.notloggedin #page-header,
body#page-site-index.notloggedin #page-header.frontpage-guest-header {
    width: 100vw !important;
    max-width: none !important;
    height: calc(100vh - 70px);
    min-height: 730px;
    max-height: 760px;
    margin-right: 0 !important;
    margin-left: calc(50% - 50vw) !important;
    padding: 0 !important;
    overflow: hidden;
    background-color: #eef7ff !important;
    background-image: url("IOT.png") !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
    background-size: cover !important;
}

body#page-site-index.notloggedin #mooveslideshow,
body#page-site-index.notloggedin #mooveslideshow .carousel-inner,
body#page-site-index.notloggedin #mooveslideshow .carousel-item {
    width: 100%;
    height: 100% !important;
    min-height: 730px;
    max-height: 760px !important;
}

body#page-site-index.notloggedin #mooveslideshow .carousel-item {
    background-color: #eef7ff !important;
    background-image: url("IOT.png") !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
    background-size: cover !important;
}

body#page-site-index.notloggedin #mooveslideshow .carousel-item img {
    width: 100%;
    height: 100%;
    opacity: 0 !important;
    object-fit: cover;
}

body#page-site-index.notloggedin #mooveslideshow .carousel-caption {
    top: 37.5% !important;
    right: auto !important;
    bottom: auto !important;
    left: clamp(220px, 17.7vw, 285px) !important;
    width: clamp(560px, 38vw, 610px) !important;
    max-width: 610px !important;
    padding: 0 !important;
    text-align: left !important;
    transform: translateY(-50%) !important;
}

body#page-site-index.notloggedin #mooveslideshow .carousel-caption .title,
body#page-site-index.notloggedin #intro h1 {
    display: block;
    margin: 0 !important;
    padding: 23px 26px 24px !important;
    border: 1px solid rgba(124, 225, 235, 0.25) !important;
    border-radius: 16px !important;
    color: #ffffff !important;
    background: linear-gradient(135deg, rgba(24, 61, 78, 0.92), rgba(31, 121, 142, 0.80)) !important;
    box-shadow: 0 18px 36px rgba(9, 31, 50, 0.26) !important;
    text-shadow: none !important;
    font-size: clamp(31px, 2.15vw, 38px) !important;
    font-weight: 800 !important;
    line-height: 1.23 !important;
    letter-spacing: 0 !important;
}

body#page-site-index.notloggedin #mooveslideshow .carousel-caption .title::after,
body#page-site-index.notloggedin #intro h1::after {
    content: "";
    display: block;
    width: 64px;
    height: 4px;
    margin-top: 16px;
    border-radius: 999px;
    background: #73dfe7;
}

body#page-site-index.notloggedin #page-header > #loginbox:not(.row),
body#page-site-index.notloggedin #page-header > #loginbox.row > #boxForm {
    position: absolute;
    top: 37.5% !important;
    right: clamp(215px, 17vw, 275px) !important;
    bottom: auto !important;
    left: auto !important;
    z-index: 6;
    width: 365px !important;
    max-width: 365px !important;
    margin: 0 !important;
    transform: translateY(-50%) !important;
}

body#page-site-index.notloggedin #boxForm,
body#page-site-index.notloggedin .hero-login-card {
    border: 1px solid rgba(219, 230, 243, 0.78) !important;
    border-radius: 24px !important;
    background: rgba(255, 255, 255, 0.88) !important;
    box-shadow: 0 22px 52px rgba(25, 45, 75, 0.18) !important;
    backdrop-filter: blur(12px);
}

body#page-site-index.notloggedin #boxForm .card-body {
    min-height: 420px;
    padding: 32px 34px !important;
}

body#page-site-index.notloggedin .frontpage-marketing {
    margin-top: -42px !important;
}

@media (max-width: 1199.98px) {
    body#page-site-index.notloggedin #mooveslideshow .carousel-caption {
        left: 32px !important;
        width: min(560px, 48vw) !important;
    }

    body#page-site-index.notloggedin #page-header > #loginbox:not(.row),
    body#page-site-index.notloggedin #page-header > #loginbox.row > #boxForm {
        right: 32px !important;
    }
}

@media (max-width: 991.98px) {
    body#page-site-index.notloggedin #page-header,
    body#page-site-index.notloggedin #page-header.frontpage-guest-header,
    body#page-site-index.notloggedin #mooveslideshow,
    body#page-site-index.notloggedin #mooveslideshow .carousel-inner,
    body#page-site-index.notloggedin #mooveslideshow .carousel-item {
        height: auto !important;
        min-height: 880px;
        max-height: none !important;
    }

    body#page-site-index.notloggedin #mooveslideshow .carousel-caption {
        top: 90px !important;
        left: 22px !important;
        width: calc(100vw - 44px) !important;
        transform: none !important;
    }

    body#page-site-index.notloggedin #page-header > #loginbox:not(.row),
    body#page-site-index.notloggedin #page-header > #loginbox.row > #boxForm {
        top: auto !important;
        right: 22px !important;
        bottom: 34px !important;
        left: 22px !important;
        width: auto !important;
        max-width: none !important;
        transform: none !important;
    }
}

/* Frontpage final polish. */
body#page-site-index.notloggedin nav.navbar {
    display: flex;
    align-items: center !important;
    height: 70px;
    min-height: 70px;
    padding-top: 7px !important;
    padding-bottom: 7px !important;
}

body#page-site-index.notloggedin nav.navbar .navbar-brand,
body#page-site-index.notloggedin nav.navbar .frontpage-course-search,
body#page-site-index.notloggedin nav.navbar .navbar-nav {
    align-self: center;
}

body#page-site-index.notloggedin nav.navbar .frontpage-course-search {
    height: 48px;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

body#page-site-index.notloggedin #page-wrapper {
    padding-top: 0 !important;
}

body#page-site-index.notloggedin #page {
    margin-top: 70px !important;
    padding-top: 0 !important;
}

body#page-site-index.notloggedin #page-header,
body#page-site-index.notloggedin #page-header.frontpage-guest-header,
body#page-site-index.notloggedin #mooveslideshow {
    margin-top: 0 !important;
}

body#page-site-index.notloggedin #mooveslideshow {
    margin-right: 0 !important;
    margin-bottom: 0 !important;
    margin-left: 0 !important;
}

body#page-site-index.notloggedin #mooveslideshow .carousel-inner,
body#page-site-index.notloggedin #mooveslideshow .carousel-item,
body#page-site-index.notloggedin #mooveslideshow .carousel-item img {
    display: block;
}

body#page-site-index.notloggedin #mooveslideshow .carousel-caption {
    top: 39% !important;
    left: clamp(32px, calc(50vw - 518px), 430px) !important;
    width: clamp(540px, 38vw, 610px) !important;
}

body#page-site-index.notloggedin #page-header > #loginbox:not(.row),
body#page-site-index.notloggedin #page-header > #loginbox.row > #boxForm {
    top: 39% !important;
    right: clamp(32px, calc(50vw - 575px), 430px) !important;
    width: 410px !important;
    max-width: 410px !important;
}

body#page-site-index.notloggedin #boxForm .card-body {
    min-height: 430px;
    padding: 30px 32px !important;
}

body#page-site-index.notloggedin #boxForm .frontpage-login-title {
    max-width: 270px;
    margin: 0 auto 24px !important;
    text-align: center !important;
    white-space: normal;
    text-wrap: balance;
    font-size: 22px !important;
    line-height: 1.24 !important;
}

body#page-site-index.notloggedin #boxForm .frontpage-login-title::after {
    width: 54px;
    height: 3px;
    margin: 13px auto 0;
}

body#page-site-index.notloggedin #boxForm p.frontpage-login-forgot {
    max-width: 270px;
    margin: 16px auto 18px !important;
    text-align: center !important;
}

body#page-site-index.notloggedin #boxForm p.frontpage-login-forgot a {
    display: inline-block;
    max-width: 100%;
    color: #2483e6 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    text-decoration: none !important;
    text-align: center;
    white-space: normal;
    text-wrap: balance;
}

body#page-site-index.notloggedin #boxForm p.frontpage-login-forgot a:hover {
    color: #145fc7 !important;
    text-decoration: underline !important;
}

body#page-site-index.notloggedin #boxForm .btn-register {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 44px;
    min-height: 44px;
    font-size: 14px !important;
    line-height: 1.2 !important;
}

body#page-site-index.notloggedin .frontpage-marketing {
    margin-top: 0 !important;
    padding-top: 36px !important;
    padding-bottom: 72px !important;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.84) 0%, rgba(244, 249, 255, 0.94) 46%, #ffffff 100%);
}

body#page-site-index.notloggedin .frontpage-marketing .container {
    max-width: 1280px;
}

body#page-site-index.notloggedin .frontpage-marketing .card-deck {
    align-items: stretch;
    gap: 24px;
}

body#page-site-index.notloggedin .frontpage-feature-card {
    --feature-accent: #2563eb;
    --feature-accent-soft: rgba(37, 99, 235, 0.12);
    --feature-accent-line: rgba(37, 99, 235, 0.2);
    position: relative;
    min-height: 0;
    overflow: hidden;
    border: 1px solid rgba(211, 223, 239, 0.96) !important;
    border-radius: 28px !important;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(248, 251, 255, 0.98) 100%) !important;
    box-shadow: 0 18px 40px rgba(21, 35, 56, 0.08);
    transition: transform var(--ui-transition), border-color var(--ui-transition), box-shadow var(--ui-transition);
    isolation: isolate;
}

body#page-site-index.notloggedin .frontpage-feature-card::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 6px;
    background: linear-gradient(90deg, var(--feature-accent), rgba(255, 255, 255, 0));
    z-index: 0;
}

body#page-site-index.notloggedin .frontpage-feature-card::after {
    content: "";
    position: absolute;
    top: -72px;
    right: -52px;
    width: 188px;
    height: 188px;
    border-radius: 50%;
    background: radial-gradient(circle, var(--feature-accent-soft) 0%, rgba(255, 255, 255, 0) 74%);
    pointer-events: none;
    z-index: 0;
}

body#page-site-index.notloggedin .frontpage-feature-card:nth-child(1) {
    --feature-accent: #0ea5a4;
    --feature-accent-soft: rgba(14, 165, 164, 0.16);
    --feature-accent-line: rgba(14, 165, 164, 0.2);
}

body#page-site-index.notloggedin .frontpage-feature-card:nth-child(2) {
    --feature-accent: #2563eb;
    --feature-accent-soft: rgba(37, 99, 235, 0.14);
    --feature-accent-line: rgba(37, 99, 235, 0.22);
}

body#page-site-index.notloggedin .frontpage-feature-card:nth-child(3) {
    --feature-accent: #0284c7;
    --feature-accent-soft: rgba(2, 132, 199, 0.15);
    --feature-accent-line: rgba(2, 132, 199, 0.22);
}

body#page-site-index.notloggedin .frontpage-feature-card:nth-child(4) {
    --feature-accent: #4f46e5;
    --feature-accent-soft: rgba(79, 70, 229, 0.15);
    --feature-accent-line: rgba(79, 70, 229, 0.22);
}

body#page-site-index.notloggedin .frontpage-feature-card:hover {
    transform: translateY(-8px);
    border-color: var(--feature-accent-line) !important;
    box-shadow: 0 24px 54px rgba(21, 35, 56, 0.14);
}

body#page-site-index.notloggedin .frontpage-feature-card .card-body {
    position: relative;
    z-index: 1;
    display: flex;
    min-height: 448px;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    padding: 30px 28px 30px !important;
    gap: 18px;
    text-align: left;
}

body#page-site-index.notloggedin .frontpage-feature-card .frontpage-feature-icon {
    width: 128px;
    height: 128px;
    margin: 0 !important;
    border-radius: 30px;
    box-shadow: 0 18px 36px rgba(21, 35, 56, 0.1);
    object-fit: contain;
    background: linear-gradient(180deg, #ffffff 0%, rgba(245, 249, 255, 0.9) 100%);
}

body#page-site-index.notloggedin .frontpage-feature-card .frontpage-feature-title,
body#page-site-index.notloggedin .frontpage-feature-card .frontpage-feature-subtitle,
body#page-site-index.notloggedin .frontpage-feature-card .frontpage-feature-description {
    width: 100%;
    margin: 0 !important;
    text-align: left;
}

body#page-site-index.notloggedin .frontpage-feature-card .frontpage-feature-title {
    color: #1c2a3b;
    font-size: clamp(22px, 1.45vw, 28px) !important;
    font-weight: 800;
    line-height: 1.14 !important;
    text-wrap: balance;
}

body#page-site-index.notloggedin .frontpage-feature-card .frontpage-feature-subtitle {
    display: flex;
    align-items: center;
    min-height: 54px;
    padding: 12px 16px;
    border: 1px solid var(--feature-accent-line);
    border-radius: 18px;
    color: var(--feature-accent);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, var(--feature-accent-soft) 100%);
    font-size: 15px !important;
    font-weight: 700;
    line-height: 1.45 !important;
}

body#page-site-index.notloggedin .frontpage-feature-card .frontpage-feature-description {
    color: #5f6f83;
    font-size: 15px;
    line-height: 1.72;
}

body#page-site-index.notloggedin .frontpage-feature-card .frontpage-feature-link {
    margin-top: auto;
    border-color: transparent !important;
    border-radius: 14px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    box-shadow: 0 12px 26px rgba(37, 99, 235, 0.14);
}

@media (max-width: 1199.98px) {
    body#page-site-index.notloggedin #mooveslideshow .carousel-caption {
        left: 32px !important;
        width: min(560px, 48vw) !important;
    }

    body#page-site-index.notloggedin #page-header > #loginbox:not(.row),
    body#page-site-index.notloggedin #page-header > #loginbox.row > #boxForm {
        right: 32px !important;
        width: 390px !important;
        max-width: 390px !important;
    }

    body#page-site-index.notloggedin #boxForm .frontpage-login-title {
        font-size: 21px !important;
    }

    body#page-site-index.notloggedin .frontpage-feature-card .card-body {
        min-height: 430px;
        padding: 28px 24px 28px !important;
    }
}

@media (max-width: 991.98px) {
    body#page-site-index.notloggedin #mooveslideshow .carousel-caption {
        top: 86px !important;
        left: 22px !important;
        width: calc(100vw - 44px) !important;
    }

    body#page-site-index.notloggedin #page-header > #loginbox:not(.row),
    body#page-site-index.notloggedin #page-header > #loginbox.row > #boxForm {
        right: 22px !important;
        left: 22px !important;
        width: auto !important;
        max-width: none !important;
    }

    body#page-site-index.notloggedin #boxForm .frontpage-login-title,
    body#page-site-index.notloggedin #boxForm p.frontpage-login-forgot {
        max-width: none;
    }

    body#page-site-index.notloggedin .frontpage-feature-card .card-body {
        min-height: 410px;
        padding: 26px 24px 28px !important;
    }

    body#page-site-index.notloggedin .frontpage-feature-card .frontpage-feature-icon {
        width: 116px;
        height: 116px;
        border-radius: 26px;
    }
}

@media (max-width: 767.98px) {
    body#page-site-index.notloggedin .frontpage-feature-card,
    body#page-site-index.notloggedin .frontpage-feature-card .card-body {
        min-height: 0;
    }

    body#page-site-index.notloggedin .frontpage-feature-card .card-body {
        padding: 24px !important;
        gap: 16px;
    }

    body#page-site-index.notloggedin .frontpage-feature-card .frontpage-feature-icon {
        width: 104px;
        height: 104px;
        border-radius: 24px;
    }

    body#page-site-index.notloggedin .frontpage-feature-card .frontpage-feature-subtitle {
        min-height: 0;
        padding: 12px 14px;
    }
}

/* Frontpage reference layout lock. */
#page-site-index #page {
    margin-top: 70px !important;
    padding: 0 !important;
}

#page-site-index #page-wrapper,
#page-site-index #page,
#page-site-index #page-content {
    max-width: none !important;
}

#page-site-index #page-header.frontpage-guest-header {
    width: 100vw !important;
    max-width: none !important;
    height: calc(100vh - 48px) !important;
    min-height: 805px !important;
    max-height: none !important;
    margin-top: -22px !important;
    margin-right: 0 !important;
    margin-left: calc(50% - 50vw) !important;
    padding: 0 !important;
    overflow: hidden !important;
    background-color: #eef7ff !important;
    background-image: url("IOT.png") !important;
    background-repeat: no-repeat !important;
    background-position: center top !important;
    background-size: cover !important;
}

#page-site-index #mooveslideshow,
#page-site-index #mooveslideshow .carousel-inner,
#page-site-index #mooveslideshow .carousel-item {
    width: 100% !important;
    height: 100% !important;
    min-height: 805px !important;
    max-height: none !important;
    margin: 0 !important;
    overflow: hidden !important;
}

#page-site-index #mooveslideshow .carousel-item {
    background-color: #eef7ff !important;
    background-image: url("IOT.png") !important;
    background-repeat: no-repeat !important;
    background-position: center top !important;
    background-size: cover !important;
}

#page-site-index #mooveslideshow .carousel-item img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    opacity: 0 !important;
    object-fit: cover !important;
    object-position: center top !important;
}

#page-site-index #mooveslideshow .carousel-caption {
    top: 40% !important;
    right: auto !important;
    bottom: auto !important;
    left: clamp(32px, calc(50vw - 520px), 440px) !important;
    width: clamp(560px, 38vw, 610px) !important;
    max-width: 610px !important;
    padding: 0 !important;
    text-align: left !important;
    transform: translateY(-50%) !important;
}

#page-site-index #mooveslideshow .carousel-caption .title,
#page-site-index #intro h1 {
    display: block !important;
    margin: 0 !important;
    padding: 24px 27px 25px !important;
    border-radius: 16px !important;
    color: #ffffff !important;
    background: linear-gradient(135deg, rgba(24, 61, 78, 0.92), rgba(31, 121, 142, 0.80)) !important;
    box-shadow: 0 18px 36px rgba(9, 31, 50, 0.26) !important;
    text-shadow: none !important;
    font-size: clamp(31px, 2.15vw, 38px) !important;
    font-weight: 800 !important;
    line-height: 1.23 !important;
    letter-spacing: 0 !important;
}

#page-site-index #mooveslideshow .carousel-caption .title::after,
#page-site-index #intro h1::after {
    content: "";
    display: block;
    width: 64px;
    height: 4px;
    margin-top: 16px;
    border-radius: 999px;
    background: #73dfe7;
}

#page-site-index #page-header.frontpage-guest-header > #loginbox:not(.row),
#page-site-index #page-header.frontpage-guest-header > #loginbox.row > #boxForm {
    position: absolute !important;
    top: 40% !important;
    right: auto !important;
    bottom: auto !important;
    left: clamp(700px, calc(50vw + 165px), calc(100vw - 442px)) !important;
    z-index: 6;
    width: 365px !important;
    max-width: 365px !important;
    margin: 0 !important;
    transform: translateY(-50%) !important;
}

#page-site-index #boxForm .card-body {
    min-height: 420px !important;
    padding: 30px 34px !important;
}

#page-site-index #boxForm h3 {
    white-space: nowrap !important;
}

@media (max-width: 1199.98px) {
    #page-site-index #page-header.frontpage-guest-header {
        min-height: 840px !important;
        margin-top: -18px !important;
    }

    #page-site-index #mooveslideshow .carousel-caption {
        top: 35% !important;
        left: 32px !important;
        width: min(560px, calc(100vw - 64px)) !important;
    }

    #page-site-index #page-header.frontpage-guest-header > #loginbox:not(.row),
    #page-site-index #page-header.frontpage-guest-header > #loginbox.row > #boxForm {
        top: auto !important;
        right: 32px !important;
        bottom: 46px !important;
        left: 32px !important;
        width: auto !important;
        max-width: 430px !important;
        transform: none !important;
    }
}

@media (max-width: 767.98px) {
    #page-site-index #page-header.frontpage-guest-header {
        min-height: 900px !important;
    }

    #page-site-index #mooveslideshow .carousel-caption {
        top: 88px !important;
        left: 18px !important;
        width: calc(100vw - 36px) !important;
        transform: none !important;
    }

    #page-site-index #page-header.frontpage-guest-header > #loginbox:not(.row),
    #page-site-index #page-header.frontpage-guest-header > #loginbox.row > #boxForm {
        right: 18px !important;
        bottom: 30px !important;
        left: 18px !important;
        max-width: none !important;
    }

    #page-site-index #boxForm h3 {
        white-space: normal !important;
    }
}

/* Live non-slider guest frontpage lock. */
html body#page-site-index.notloggedin #page.frontpage-guest-page,
html body#page-site-index.notloggedin #page {
    width: 100% !important;
    max-width: none !important;
    margin-top: 70px !important;
    padding: 0 !important;
    overflow: visible !important;
}

html body#page-site-index.notloggedin #page-header.frontpage-guest-header {
    position: relative !important;
    width: 100vw !important;
    max-width: none !important;
    height: calc(100vh - 48px) !important;
    min-height: 827px !important;
    margin: -22px 0 0 calc(50% - 50vw) !important;
    padding: 0 !important;
    overflow: hidden !important;
    background-color: #eef7ff !important;
    background-image: url("IOT.png") !important;
    background-repeat: no-repeat !important;
    background-position: center -150px !important;
    background-size: cover !important;
}

html body#page-site-index.notloggedin #page-header.frontpage-guest-header > #loginbox.row {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    min-height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

html body#page-site-index.notloggedin #page-header.frontpage-guest-header > #loginbox.row > #intro {
    position: absolute !important;
    top: 38% !important;
    right: auto !important;
    bottom: auto !important;
    left: calc(50vw - 690px) !important;
    z-index: 5 !important;
    display: block !important;
    width: 700px !important;
    max-width: 700px !important;
    flex: none !important;
    padding: 0 !important;
    transform: translateY(-50%) !important;
}

html body#page-site-index.notloggedin #page-header.frontpage-guest-header #intro h1 {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 26px 30px 27px !important;
    border: 1px solid rgba(124, 225, 235, 0.25) !important;
    border-radius: 16px !important;
    color: #ffffff !important;
    background: linear-gradient(135deg, rgba(24, 61, 78, 0.92), rgba(31, 121, 142, 0.80)) !important;
    box-shadow: 0 18px 36px rgba(9, 31, 50, 0.26) !important;
    text-shadow: none !important;
    font-size: 35px !important;
    font-weight: 800 !important;
    line-height: 1.18 !important;
    letter-spacing: 0 !important;
}

html body#page-site-index.notloggedin #page-header.frontpage-guest-header .frontpage-hero-title span {
    display: block !important;
    white-space: nowrap !important;
}

html body#page-site-index.notloggedin #page-header.frontpage-guest-header #intro h1::after {
    content: "" !important;
    display: block !important;
    width: 64px !important;
    height: 4px !important;
    margin-top: 16px !important;
    border-radius: 999px !important;
    background: #73dfe7 !important;
}

html body#page-site-index.notloggedin #page-header.frontpage-guest-header > #loginbox.row > #boxForm {
    position: absolute !important;
    top: 38% !important;
    right: auto !important;
    bottom: auto !important;
    left: calc(50vw + 200px) !important;
    z-index: 6 !important;
    display: block !important;
    width: 500px !important;
    max-width: min(500px, calc(100vw - 64px)) !important;
    margin: 0 !important;
    transform: translateY(-50%) !important;
}

html body#page-site-index.notloggedin #boxForm h3 {
    white-space: nowrap !important;
    font-size: 29px !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
    letter-spacing: 0 !important;
}

html body#page-site-index.notloggedin #boxForm .card-body {
    min-height: 500px !important;
    padding: 38px 36px !important;
}

html body#page-site-index.notloggedin #boxForm .input-group {
    height: 48px !important;
    margin-bottom: 20px !important;
}

html body#page-site-index.notloggedin #boxForm .input-group-addon {
    width: 52px !important;
    min-width: 52px !important;
    height: 48px !important;
}

html body#page-site-index.notloggedin #boxForm .form-control {
    height: 46px !important;
    min-height: 46px !important;
}

html body#page-site-index.notloggedin #boxForm .btn-primary {
    height: 48px !important;
    min-height: 48px !important;
}

html body#page-site-index.notloggedin .frontpage-marketing .card-deck {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 28px !important;
}

html body#page-site-index.notloggedin .frontpage-marketing .card {
    min-height: 560px !important;
    margin: 0 !important;
    overflow: hidden !important;
    border: 1px solid #d8e5f5 !important;
    border-radius: 18px !important;
    background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%) !important;
    box-shadow: 0 18px 42px rgba(21, 35, 56, 0.08) !important;
}

html body#page-site-index.notloggedin .frontpage-marketing .card-body {
    display: grid !important;
    min-height: 560px !important;
    grid-template-rows: 190px 96px 122px 1fr !important;
    align-items: start !important;
    padding: 28px 26px 32px !important;
    text-align: center !important;
}

html body#page-site-index.notloggedin .frontpage-marketing .card img {
    align-self: center !important;
    width: 178px !important;
    height: 178px !important;
    margin: 0 auto !important;
    object-fit: contain !important;
}

html body#page-site-index.notloggedin .frontpage-marketing .card h2,
html body#page-site-index.notloggedin .frontpage-marketing .card h3,
html body#page-site-index.notloggedin .frontpage-marketing .card p {
    width: 100% !important;
    margin-right: auto !important;
    margin-left: auto !important;
    text-align: center !important;
}

html body#page-site-index.notloggedin .frontpage-marketing .card h2 {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    max-width: 250px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    color: #3f4856 !important;
    font-size: 28px !important;
    line-height: 1.16 !important;
}

html body#page-site-index.notloggedin .frontpage-marketing .card h3 {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    max-width: 255px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    color: #969da7 !important;
    font-size: 23px !important;
    line-height: 1.25 !important;
}

html body#page-site-index.notloggedin .frontpage-marketing .card p {
    max-width: 245px !important;
    color: #8e97a5 !important;
    font-size: 15px !important;
    line-height: 1.55 !important;
}

@media (max-width: 1240px) {
    html body#page-site-index.notloggedin #page-header.frontpage-guest-header > #loginbox.row > #intro {
        top: 31% !important;
        left: 32px !important;
        width: min(610px, calc(100vw - 64px)) !important;
        max-width: min(610px, calc(100vw - 64px)) !important;
    }

    html body#page-site-index.notloggedin #page-header.frontpage-guest-header > #loginbox.row > #boxForm {
        top: auto !important;
        right: auto !important;
        bottom: 46px !important;
        left: 32px !important;
        width: min(390px, calc(100vw - 64px)) !important;
        max-width: min(390px, calc(100vw - 64px)) !important;
        transform: none !important;
    }
}

/* Frontpage fit and alignment refinements. */
html body#page-site-index.notloggedin #page-header.frontpage-guest-header #intro h1 {
    padding: 28px 34px 30px !important;
}

html body#page-site-index.notloggedin .frontpage-marketing .container {
    max-width: 1408px !important;
}

html body#page-site-index.notloggedin .frontpage-marketing .card-deck {
    gap: 22px !important;
}

html body#page-site-index.notloggedin .frontpage-marketing .card-body {
    grid-template-rows: 190px auto auto 1fr !important;
    row-gap: 14px !important;
    padding: 28px 22px 32px !important;
}

html body#page-site-index.notloggedin .frontpage-marketing .card h2 {
    max-width: 272px !important;
    font-size: 27px !important;
}

html body#page-site-index.notloggedin .frontpage-marketing .card h3 {
    max-width: 292px !important;
    font-size: 19px !important;
    line-height: 1.32 !important;
}

html body#page-site-index.notloggedin .frontpage-marketing .card p {
    max-width: 282px !important;
    font-size: 14px !important;
    line-height: 1.62 !important;
}

html body#page-site-index.notloggedin #boxForm .frontpage-login-forgot {
    margin: 22px 0 0 !important;
    text-align: center !important;
}

html body#page-site-index.notloggedin #boxForm .frontpage-login-forgot a {
    display: inline-block !important;
}

html body#page-site-index.notloggedin #boxForm .frontpage-login-signup {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-top: 22px !important;
}

html body#page-site-index.notloggedin nav.navbar .lang-menu {
    display: flex !important;
    align-items: center !important;
}

html body#page-site-index.notloggedin nav.navbar .lang-menu .nav-link,
html body#page-site-index.notloggedin nav.navbar .lang-menu a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

html body#page-site-index.notloggedin nav.navbar .lang-menu .nav-link i,
html body#page-site-index.notloggedin nav.navbar .lang-menu a i {
    margin: 0 !important;
    line-height: 1 !important;
}

html body#page-site-index.notloggedin nav.navbar .lang-menu .dropdown-toggle::after {
    display: none !important;
}

/* Frontpage cleanup: stable guest hero and aligned feature cards. */
html body#page-site-index.notloggedin #page-header.frontpage-guest-header > #loginbox.row > #boxForm {
    top: 38% !important;
    right: clamp(32px, calc(50vw - 590px), 120px) !important;
    left: auto !important;
    width: 430px !important;
    max-width: min(430px, calc(100vw - 64px)) !important;
    transform: translateY(-50%) !important;
}

html body#page-site-index.notloggedin #boxForm .card-body {
    min-height: 468px !important;
    padding: 34px 32px !important;
}

html body#page-site-index.notloggedin #boxForm .frontpage-login-title {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 22px !important;
    text-align: left !important;
    white-space: nowrap !important;
    font-size: 24px !important;
    font-weight: 800 !important;
    line-height: 1.18 !important;
    letter-spacing: -0.01em !important;
}

html body#page-site-index.notloggedin #boxForm .frontpage-login-title::after {
    margin: 12px 0 0 !important;
}

html body#page-site-index.notloggedin #boxForm .frontpage-login-forgot {
    margin: 16px 0 0 !important;
    text-align: center !important;
}

html body#page-site-index.notloggedin #boxForm .frontpage-login-forgot a {
    display: inline-block !important;
    white-space: nowrap !important;
    font-size: 13px !important;
    line-height: 1.22 !important;
    letter-spacing: -0.01em !important;
}

html body#page-site-index.notloggedin #boxForm .frontpage-login-signup {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-top: 18px !important;
}

html body#page-site-index.notloggedin .frontpage-marketing .container {
    max-width: 1368px !important;
}

html body#page-site-index.notloggedin .frontpage-marketing .card-deck {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 22px !important;
}

html body#page-site-index.notloggedin .frontpage-feature-card {
    --card-accent: #2d76db;
    --card-accent-soft: rgba(45, 118, 219, 0.1);
    --card-accent-line: rgba(45, 118, 219, 0.18);
    min-height: 492px !important;
    border: 1px solid #d7e4f4 !important;
    border-radius: 24px !important;
    background: #ffffff !important;
    box-shadow: 0 18px 42px rgba(21, 35, 56, 0.08) !important;
}

html body#page-site-index.notloggedin .frontpage-feature-card::before,
html body#page-site-index.notloggedin .frontpage-feature-card::after {
    display: none !important;
}

html body#page-site-index.notloggedin .frontpage-feature-card:nth-child(1) {
    --card-accent: #10a7a4;
    --card-accent-soft: rgba(16, 167, 164, 0.1);
    --card-accent-line: rgba(16, 167, 164, 0.18);
}

html body#page-site-index.notloggedin .frontpage-feature-card:nth-child(2) {
    --card-accent: #2d76db;
    --card-accent-soft: rgba(45, 118, 219, 0.1);
    --card-accent-line: rgba(45, 118, 219, 0.18);
}

html body#page-site-index.notloggedin .frontpage-feature-card:nth-child(3) {
    --card-accent: #0f8fc8;
    --card-accent-soft: rgba(15, 143, 200, 0.1);
    --card-accent-line: rgba(15, 143, 200, 0.18);
}

html body#page-site-index.notloggedin .frontpage-feature-card:nth-child(4) {
    --card-accent: #5a67d8;
    --card-accent-soft: rgba(90, 103, 216, 0.1);
    --card-accent-line: rgba(90, 103, 216, 0.18);
}

html body#page-site-index.notloggedin .frontpage-feature-card .card-body {
    display: grid !important;
    min-height: 492px !important;
    grid-template-rows: 118px 84px 76px 1fr !important;
    align-items: start !important;
    justify-items: stretch !important;
    row-gap: 16px !important;
    padding: 26px 22px 22px !important;
    text-align: center !important;
}

html body#page-site-index.notloggedin .frontpage-feature-card .frontpage-feature-icon {
    align-self: center !important;
    justify-self: center !important;
    width: 138px !important;
    height: 108px !important;
    margin: 0 auto !important;
    border-radius: 0 !important;
    background: transparent !important;
    object-fit: contain !important;
    box-shadow: none !important;
}

html body#page-site-index.notloggedin .frontpage-feature-card .frontpage-feature-title {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 8px !important;
    color: #39485d !important;
    font-size: 20px !important;
    font-weight: 800 !important;
    line-height: 1.16 !important;
    text-align: center !important;
    text-wrap: balance !important;
}

html body#page-site-index.notloggedin .frontpage-feature-card .frontpage-feature-subtitle {
    display: block !important;
    align-self: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 76px !important;
    margin: 0 !important;
    padding: 14px 16px !important;
    border: 1px solid var(--card-accent-line) !important;
    border-radius: 18px !important;
    color: var(--card-accent) !important;
    background: linear-gradient(180deg, #ffffff 0%, var(--card-accent-soft) 100%) !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.36 !important;
    text-align: center !important;
    overflow-wrap: anywhere !important;
}

html body#page-site-index.notloggedin .frontpage-feature-card .frontpage-feature-description {
    display: block !important;
    align-self: stretch !important;
    width: 100% !important;
    min-height: 100% !important;
    margin: 0 !important;
    padding: 18px 18px 0 !important;
    border: 1px solid #dde8f5 !important;
    border-radius: 22px !important;
    background: rgba(247, 250, 255, 0.96) !important;
    color: #728197 !important;
    font-size: 14px !important;
    line-height: 1.62 !important;
    text-align: center !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
}

html body#page-site-index.notloggedin .frontpage-feature-card .frontpage-feature-link {
    margin-top: auto !important;
}

@media (max-width: 1199.98px) {
    html body#page-site-index.notloggedin #page-header.frontpage-guest-header > #loginbox.row > #boxForm {
        width: 408px !important;
        max-width: min(408px, calc(100vw - 64px)) !important;
    }

    html body#page-site-index.notloggedin #boxForm .frontpage-login-title {
        font-size: 23px !important;
    }

    html body#page-site-index.notloggedin .frontpage-feature-card {
        min-height: 478px !important;
    }

    html body#page-site-index.notloggedin .frontpage-feature-card .card-body {
        min-height: 478px !important;
        grid-template-rows: 114px 80px 76px 1fr !important;
        padding: 24px 20px 20px !important;
    }

    html body#page-site-index.notloggedin .frontpage-feature-card .frontpage-feature-icon {
        width: 128px !important;
        height: 100px !important;
    }

    html body#page-site-index.notloggedin .frontpage-feature-card .frontpage-feature-title {
        font-size: 19px !important;
    }
}

@media (max-width: 991.98px) {
    html body#page-site-index.notloggedin .frontpage-marketing .card-deck {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 767.98px) {
    html body#page-site-index.notloggedin .frontpage-marketing .card-deck {
        grid-template-columns: 1fr !important;
    }

    html body#page-site-index.notloggedin .frontpage-feature-card,
    html body#page-site-index.notloggedin .frontpage-feature-card .card-body {
        min-height: 0 !important;
    }

    html body#page-site-index.notloggedin .frontpage-feature-card .card-body {
        grid-template-rows: none !important;
        row-gap: 16px !important;
        padding: 24px 20px !important;
    }

    html body#page-site-index.notloggedin .frontpage-feature-card .frontpage-feature-icon {
        width: 120px !important;
        height: 96px !important;
    }
}

/* Force aligned text tracks for marketing cards. */
html body#page-site-index.notloggedin .frontpage-marketing .card.frontpage-feature-card h2.frontpage-feature-title {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 8px !important;
    font-size: 20px !important;
    line-height: 1.16 !important;
    text-align: center !important;
}

html body#page-site-index.notloggedin .frontpage-marketing .card.frontpage-feature-card .frontpage-feature-title-slot {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 84px !important;
    margin: 0 !important;
}

html body#page-site-index.notloggedin .frontpage-marketing .card.frontpage-feature-card h3.frontpage-feature-subtitle {
    display: block !important;
    width: 100% !important;
    min-height: 76px !important;
    margin: 0 !important;
    padding: 14px 16px !important;
    border-radius: 18px !important;
    font-size: 14px !important;
    line-height: 1.36 !important;
    text-align: center !important;
    box-sizing: border-box !important;
}

html body#page-site-index.notloggedin .frontpage-marketing .card.frontpage-feature-card .frontpage-feature-subtitle-slot {
    display: flex !important;
    align-items: stretch !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 76px !important;
    margin: 0 !important;
}

html body#page-site-index.notloggedin .frontpage-marketing .card.frontpage-feature-card p.frontpage-feature-description {
    display: block !important;
    width: 100% !important;
    min-height: 100% !important;
    margin: 0 !important;
    padding: 18px 18px 0 !important;
    border-radius: 22px !important;
    font-size: 14px !important;
    line-height: 1.62 !important;
    text-align: center !important;
    box-sizing: border-box !important;
}

html body#page-site-index.notloggedin .frontpage-marketing .card.frontpage-feature-card .frontpage-feature-description-slot {
    display: flex !important;
    align-items: stretch !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 100% !important;
    margin: 0 !important;
}

/* Final login card alignment. */
html body#page-site-index.notloggedin #boxForm .card-body {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    min-height: 0 !important;
    padding: 32px 36px !important;
}

html body#page-site-index.notloggedin #boxForm .frontpage-login-title {
    align-self: center !important;
    width: min(100%, 340px) !important;
    max-width: 340px !important;
    margin: 0 auto 18px !important;
    text-align: left !important;
    white-space: normal !important;
    text-wrap: balance !important;
}

html body#page-site-index.notloggedin #boxForm .frontpage-login-title::after {
    margin: 12px 0 0 !important;
}

html body#page-site-index.notloggedin #boxForm [data-frontpage-login-form] {
    width: min(100%, 380px) !important;
    margin: 0 auto !important;
}

html body#page-site-index.notloggedin #boxForm [data-frontpage-login-form] label {
    display: block !important;
    text-align: left !important;
}

html body#page-site-index.notloggedin #boxForm .frontpage-login-alert,
html body#page-site-index.notloggedin #boxForm .potentialidplist,
html body#page-site-index.notloggedin #boxForm .frontpage-login-forgot,
html body#page-site-index.notloggedin #boxForm .frontpage-login-signup {
    width: min(100%, 380px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

html body#page-site-index.notloggedin #boxForm .frontpage-login-forgot {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-top: 14px !important;
    text-align: center !important;
}

html body#page-site-index.notloggedin #boxForm .frontpage-login-forgot a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 auto !important;
    text-align: center !important;
}

html body#page-site-index.notloggedin #boxForm .frontpage-login-signup {
    margin-top: 16px !important;
}

/* Header icon, popover, and message panel refinements. */
body:not(.notloggedin) nav.navbar::after {
    bottom: 0;
    height: 1px;
    background: linear-gradient(90deg, #7fcff4, #6fd8f2, #67cdef);
}

body:not(.notloggedin) nav.navbar .navbar-nav.ml-auto {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 8px !important;
    margin-bottom: 0 !important;
    overflow: visible !important;
}

body:not(.notloggedin) nav.navbar .navbar-nav.ml-auto > li,
body:not(.notloggedin) nav.navbar .navbar-nav.ml-auto > div,
body:not(.notloggedin) nav.navbar .navbar-search-box,
body:not(.notloggedin) nav.navbar .nav-plugin-output,
body:not(.notloggedin) nav.navbar .nav-plugin-output > .popover-region,
body:not(.notloggedin) nav.navbar .usermenu,
body:not(.notloggedin) nav.navbar .usermenu .dropdown,
body:not(.notloggedin) nav.navbar .usermenu .action-menu {
    display: flex !important;
    align-items: center !important;
}

body:not(.notloggedin) nav.navbar .navbar-search-box,
body:not(.notloggedin) nav.navbar .nav-plugin-output,
body:not(.notloggedin) nav.navbar .lang-menu,
body:not(.notloggedin) nav.navbar .usermenu {
    flex: 0 0 auto;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

body:not(.notloggedin) nav.navbar .nav-plugin-output {
    gap: 8px !important;
    overflow: visible !important;
}

body:not(.notloggedin) nav.navbar .nav-plugin-output:empty {
    display: none !important;
}

body:not(.notloggedin) nav.navbar .nav-plugin-output > .popover-region,
body:not(.notloggedin) nav.navbar .navbar-nav.ml-auto .popover-region {
    position: relative;
    margin: 0 !important;
    overflow: visible !important;
    z-index: 14;
}

body:not(.notloggedin) nav.navbar .navbar-nav.ml-auto .nav-link,
body:not(.notloggedin) nav.navbar .navbar-nav.ml-auto .nav-item > a,
body:not(.notloggedin) nav.navbar .popover-region-toggle,
body:not(.notloggedin) nav.navbar .usermenu .action-menu-trigger,
body:not(.notloggedin) nav.navbar .usermenu .dropdown > a.dropdown-toggle {
    position: relative;
    z-index: 2;
}

body:not(.notloggedin) nav.navbar .popover-region-toggle::before,
body:not(.notloggedin) nav.navbar .popover-region-toggle::after,
body:not(.notloggedin) nav.navbar .usermenu .dropdown-toggle::after,
body:not(.notloggedin) nav.navbar .usermenu .action-menu-trigger::after {
    display: none !important;
}

body:not(.notloggedin) nav.navbar .usermenu .caret {
    display: none !important;
}

body:not(.notloggedin) nav.navbar .lang-menu .lang-selector {
    position: relative !important;
}

body:not(.notloggedin) nav.navbar .lang-menu .lang-selector-menu {
    top: calc(100% + 8px) !important;
    right: 0 !important;
    left: auto !important;
    min-width: 210px !important;
    padding: 12px !important;
    border: 1px solid #dce7f5 !important;
    border-radius: 20px !important;
    background: rgba(255, 255, 255, 0.99) !important;
    box-shadow: 0 22px 44px rgba(20, 55, 92, 0.16) !important;
}

body:not(.notloggedin) nav.navbar .lang-menu .lang-selector-item {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 48px !important;
    padding: 0 18px !important;
    border: 1px solid #dfe8f7 !important;
    border-radius: 14px !important;
    background: linear-gradient(180deg, #f8fbff, #eef5ff) !important;
    color: #2758bc !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    text-align: center !important;
    white-space: nowrap !important;
}

body:not(.notloggedin) nav.navbar .lang-menu .lang-selector-item + .lang-selector-item {
    margin-top: 8px !important;
}

body:not(.notloggedin) nav.navbar .lang-menu .lang-selector-item:hover,
body:not(.notloggedin) nav.navbar .lang-menu .lang-selector-item:focus {
    border-color: #cadcf8 !important;
    background: linear-gradient(180deg, #ffffff, #ebf3ff) !important;
    color: #1f4cae !important;
    box-shadow: 0 10px 18px rgba(52, 100, 190, 0.10) !important;
}

body:not(.notloggedin) nav.navbar .lang-menu .lang-selector-label {
    display: block;
    width: 100%;
    text-align: center;
}

body:not(.notloggedin) nav.navbar .popover-region .popover-region-container {
    top: calc(100% + 8px) !important;
    right: -10px !important;
    width: min(360px, calc(100vw - 32px));
    height: 430px;
    border: 1px solid #d9e6f5 !important;
    border-radius: 22px !important;
    background: rgba(255, 255, 255, 0.99) !important;
    box-shadow: 0 24px 54px rgba(16, 37, 63, 0.18) !important;
    z-index: 40;
}

body:not(.notloggedin) nav.navbar .popover-region .popover-region-header-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 64px;
    padding: 0 18px;
    border-bottom: 1px solid #e5eef8;
    background: linear-gradient(180deg, #fcfeff, #f4f8ff);
}

body:not(.notloggedin) nav.navbar .popover-region .popover-region-header-text {
    float: none;
    margin: 0;
    color: #10243f;
    font-size: 18px;
    font-weight: 800;
    line-height: 1.2;
}

body:not(.notloggedin) nav.navbar .popover-region .popover-region-header-actions {
    float: none;
    display: flex;
    align-items: center;
    gap: 12px;
}

body:not(.notloggedin) nav.navbar .popover-region .popover-region-header-actions > * {
    margin-left: 0;
}

body:not(.notloggedin) nav.navbar .popover-region .popover-region-header-actions a {
    color: #3a6fd7;
}

body:not(.notloggedin) nav.navbar .popover-region .popover-region-content-container {
    height: calc(100% - 64px);
    background: #ffffff;
}

body:not(.notloggedin) nav.navbar .popover-region .popover-region-content-container .empty-message {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 200px;
    padding: 32px;
    color: #66768c;
    font-size: 16px;
    line-height: 1.55;
}

body:not(.notloggedin) nav.navbar .popover-region .popover-region-footer-container {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 52px;
    border-top: 1px solid #e5eef8;
    background: #fbfdff;
}

body:not(.notloggedin) nav.navbar .popover-region .popover-region-seeall-text {
    color: #2f66cc;
    font-weight: 700;
}

body:not(.notloggedin) nav.navbar .popover-region-notifications .content-item-container,
body:not(.notloggedin) nav.navbar .popover-region-messages .content-item-container {
    padding: 14px 16px;
    border-bottom: 1px solid #eef3f9;
    color: #10243f;
    background: #ffffff;
    transition: background-color var(--ui-transition), color var(--ui-transition);
}

body:not(.notloggedin) nav.navbar .popover-region-notifications .content-item-container:hover,
body:not(.notloggedin) nav.navbar .popover-region-messages .content-item-container:hover {
    color: #10243f;
    background: #eef5ff;
}

body:not(.notloggedin) nav.navbar .popover-region-notifications .content-item-container.unread,
body:not(.notloggedin) nav.navbar .popover-region-messages .content-item-container.unread {
    background: #f7fbff;
}

body:not(.notloggedin) nav.navbar .popover-region-notifications .notification-message,
body:not(.notloggedin) nav.navbar .popover-region-messages .content-item-body p {
    color: #64748b;
    font-size: 13px;
    line-height: 1.55;
}

body:not(.notloggedin) nav.navbar .popover-region-messages .content-item-body h3 {
    color: #0f172a;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.35;
}

body:not(.notloggedin) nav.navbar .popover-region-messages .profile-image-container img {
    width: 34px;
    height: 34px;
    box-shadow: 0 4px 12px rgba(34, 81, 148, 0.12);
}

body:not(.notloggedin) .drawer.drawer-right [data-region="message-drawer"] {
    height: 100%;
    border-left: 1px solid #dce7f5;
    background: #f6f9ff;
    box-shadow: -18px 0 40px rgba(16, 36, 63, 0.12);
}

body:not(.notloggedin) [data-region="message-drawer"] {
    color: #10243f;
    background: #f6f9ff;
}

body:not(.notloggedin) [data-region="message-drawer"] .header-container,
body:not(.notloggedin) [data-region="message-drawer"] .footer-container {
    background: #ffffff;
}

body:not(.notloggedin) [data-region="message-drawer"] .header-container > [data-region],
body:not(.notloggedin) [data-region="message-drawer"] .footer-container > [data-region] {
    border-color: #e5eef8 !important;
}

body:not(.notloggedin) [data-region="message-drawer"] .simplesearchform {
    overflow: hidden;
    border: 1px solid #dce7f5;
    border-radius: 16px;
    background: #f7fbff;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

body:not(.notloggedin) [data-region="message-drawer"] .simplesearchform .form-control,
body:not(.notloggedin) [data-region="message-drawer"] .simplesearchform .btn,
body:not(.notloggedin) [data-region="message-drawer"] .simplesearchform .input-group-append {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

body:not(.notloggedin) [data-region="message-drawer"] .list-group-item {
    margin: 0 10px 10px;
    border: 1px solid #e7eef8;
    border-radius: 16px !important;
    background: #ffffff;
    box-shadow: 0 10px 24px rgba(20, 55, 92, 0.06);
}

body:not(.notloggedin) [data-region="message-drawer"] .list-group-item:hover,
body:not(.notloggedin) [data-region="message-drawer"] .list-group-item:focus {
    background: #eef5ff;
}

body:not(.notloggedin) [data-region="message-drawer"] .badge-primary {
    background: #2f6fdd !important;
}

body:not(.notloggedin) [data-region="message-drawer"] .text-muted,
body:not(.notloggedin) [data-region="message-drawer"] .last-message {
    color: #6d7c92 !important;
}

/* Message drawer refinement. */
body:not(.notloggedin) .drawer.drawer-right {
    width: 360px;
    max-width: calc(100vw - 10px);
}

body:not(.notloggedin) .drawer.drawer-right [data-region="message-drawer"] {
    display: flex;
    flex-direction: column;
    height: 100%;
    border-left: 1px solid #dce7f5;
    background: linear-gradient(180deg, #f7faff 0%, #eef4fb 100%);
    box-shadow: -20px 0 44px rgba(16, 36, 63, 0.12);
}

body:not(.notloggedin) [data-region="message-drawer"] .header-container {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, #f8fbff 100%);
    box-shadow: 0 10px 24px rgba(24, 58, 95, 0.08);
    z-index: 3;
}

body:not(.notloggedin) [data-region="message-drawer"] .body-container {
    flex: 1 1 auto;
    min-height: 0;
    background: transparent;
}

body:not(.notloggedin) [data-region="message-drawer"] .footer-container {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.92) 0%, #ffffff 100%);
    box-shadow: 0 -10px 24px rgba(24, 58, 95, 0.06);
}

body:not(.notloggedin) [data-region="message-drawer"] .header-container > [data-region],
body:not(.notloggedin) [data-region="message-drawer"] .footer-container > [data-region] {
    padding: 14px 14px 16px;
    border-color: #e4edf8 !important;
}

body:not(.notloggedin) [data-region="message-drawer"] [data-region="view-overview"] .d-flex.align-items-center,
body:not(.notloggedin) [data-region="message-drawer"] [data-region="view-search"] .d-flex.align-items-center,
body:not(.notloggedin) [data-region="message-drawer"] [data-region="view-settings"] .d-flex.align-items-center {
    gap: 10px;
}

body:not(.notloggedin) [data-region="message-drawer"] .simplesearchform {
    display: flex;
    align-items: stretch;
    flex: 1 1 auto;
    overflow: hidden;
    min-height: 46px;
    border: 1px solid #d7e4f4;
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 10px 24px rgba(19, 49, 88, 0.08);
}

body:not(.notloggedin) [data-region="message-drawer"] .simplesearchform .form-control {
    height: 46px;
    padding: 0 16px;
    color: #183052;
    font-size: 14px;
    background: transparent !important;
}

body:not(.notloggedin) [data-region="message-drawer"] .simplesearchform .form-control::placeholder {
    color: #8aa0bf;
}

body:not(.notloggedin) [data-region="message-drawer"] .simplesearchform .input-group-append {
    display: flex;
    align-items: stretch;
    margin-left: auto;
}

body:not(.notloggedin) [data-region="message-drawer"] .simplesearchform .btn-submit,
body:not(.notloggedin) [data-region="message-drawer"] [data-route="view-settings"],
body:not(.notloggedin) [data-region="message-drawer"] [data-route-back] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 44px;
    width: 44px;
    min-width: 44px;
    height: 44px !important;
    padding: 0;
    border: 1px solid #d7e4f4;
    border-radius: 14px;
    background: #ffffff !important;
    color: #2e6fe0 !important;
    box-shadow: 0 10px 22px rgba(24, 58, 95, 0.08);
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

body:not(.notloggedin) [data-region="message-drawer"] [data-route-back] {
    align-self: center !important;
}

body:not(.notloggedin) [data-region="message-drawer"] .simplesearchform .btn-submit:hover,
body:not(.notloggedin) [data-region="message-drawer"] [data-route="view-settings"]:hover,
body:not(.notloggedin) [data-region="message-drawer"] [data-route-back]:hover,
body:not(.notloggedin) [data-region="message-drawer"] .simplesearchform .btn-submit:focus,
body:not(.notloggedin) [data-region="message-drawer"] [data-route="view-settings"]:focus,
body:not(.notloggedin) [data-region="message-drawer"] [data-route-back]:focus {
    border-color: #bcd0ea;
    box-shadow: 0 14px 26px rgba(24, 58, 95, 0.14);
    transform: translateY(-1px);
    text-decoration: none;
}

body:not(.notloggedin) [data-region="message-drawer"] [data-route="view-settings"] .icon,
body:not(.notloggedin) [data-region="message-drawer"] [data-route-back] .icon,
body:not(.notloggedin) [data-region="message-drawer"] .simplesearchform .btn-submit .icon {
    margin: 0;
}

body:not(.notloggedin) [data-region="message-drawer"] [data-region="view-settings"] .d-flex.align-items-center > div:last-child {
    color: #10243f;
    font-size: 18px;
    font-weight: 800;
    letter-spacing: -0.02em;
}

body:not(.notloggedin) [data-region="message-drawer"] [data-region="view-overview"] .text-right,
body:not(.notloggedin) [data-region="message-drawer"] [data-region="view-overview"] .text-right.mt-sm-3 {
    display: flex;
    justify-content: flex-end;
    margin-top: 14px !important;
}

body:not(.notloggedin) [data-region="message-drawer"] [data-route="view-contacts"] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 44px;
    padding: 10px 14px;
    border: 1px solid #d7e4f4;
    border-radius: 14px;
    background: #ffffff;
    color: #173459;
    font-weight: 700;
    box-shadow: 0 10px 22px rgba(24, 58, 95, 0.08);
}

body:not(.notloggedin) [data-region="message-drawer"] [data-route="view-contacts"]:hover,
body:not(.notloggedin) [data-region="message-drawer"] [data-route="view-contacts"]:focus {
    color: #1f60d6;
    text-decoration: none;
}

body:not(.notloggedin) [data-region="message-drawer"] .view-overview-body,
body:not(.notloggedin) [data-region="message-drawer"] [data-region="view-search"],
body:not(.notloggedin) [data-region="message-drawer"] [data-region="view-contacts"],
body:not(.notloggedin) [data-region="message-drawer"] [data-region="view-settings"] {
    background: transparent;
}

body:not(.notloggedin) [data-region="message-drawer"] .section.card {
    margin: 12px 12px 0;
    overflow: hidden;
    border: 1px solid #dde7f4;
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 14px 28px rgba(22, 55, 91, 0.08);
}

body:not(.notloggedin) [data-region="message-drawer"] .section.card .card-header {
    padding: 0;
    border-bottom: 0;
    background: transparent;
}

body:not(.notloggedin) [data-region="message-drawer"] .overview-section-toggle {
    min-height: 56px;
    color: #163257;
    font-size: 15px;
    font-weight: 800;
}

body:not(.notloggedin) [data-region="message-drawer"] .overview-section-toggle:hover,
body:not(.notloggedin) [data-region="message-drawer"] .overview-section-toggle:focus {
    text-decoration: none;
}

body:not(.notloggedin) [data-region="message-drawer"] .collapsed-icon-container,
body:not(.notloggedin) [data-region="message-drawer"] .expanded-icon-container {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    margin-right: 12px;
    border-radius: 10px;
    background: #edf4ff;
    color: #2e6fe0;
}

body:not(.notloggedin) [data-region="message-drawer"] .collapsed-icon-container .icon,
body:not(.notloggedin) [data-region="message-drawer"] .expanded-icon-container .icon {
    margin: 0;
}

body:not(.notloggedin) [data-region="message-drawer"] .list-group-item,
body:not(.notloggedin) [data-region="message-drawer"] .content-message-container {
    margin: 0 10px 10px;
    overflow: hidden;
    border: 1px solid #e4edf8;
    border-radius: 16px !important;
    background: #ffffff;
    box-shadow: 0 10px 24px rgba(20, 55, 92, 0.06);
}

body:not(.notloggedin) [data-region="message-drawer"] .list-group-item:hover,
body:not(.notloggedin) [data-region="message-drawer"] .list-group-item:focus,
body:not(.notloggedin) [data-region="message-drawer"] .content-message-container:hover {
    background: #f8fbff;
}

body:not(.notloggedin) [data-region="message-drawer"] .content-item-body h3,
body:not(.notloggedin) [data-region="message-drawer"] .content-message-container h3 {
    color: #10243f;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.35;
}

body:not(.notloggedin) [data-region="message-drawer"] .content-item-body p,
body:not(.notloggedin) [data-region="message-drawer"] .content-item-body small,
body:not(.notloggedin) [data-region="message-drawer"] .content-message-container p,
body:not(.notloggedin) [data-region="message-drawer"] .content-message-container small {
    color: #69809f;
    line-height: 1.55;
}

body:not(.notloggedin) [data-region="message-drawer"] [data-region="view-contacts"] .nav-pills {
    gap: 10px;
    padding: 4px;
    border-radius: 16px;
    background: #edf4ff;
}

body:not(.notloggedin) [data-region="message-drawer"] [data-region="view-contacts"] .nav-pills .nav-link {
    border-radius: 12px;
    color: #607796;
    font-weight: 700;
    transition: background 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}

body:not(.notloggedin) [data-region="message-drawer"] [data-region="view-contacts"] .nav-pills .nav-link.active,
body:not(.notloggedin) [data-region="message-drawer"] [data-region="view-contacts"] .nav-pills .nav-link:hover,
body:not(.notloggedin) [data-region="message-drawer"] [data-region="view-contacts"] .nav-pills .nav-link:focus {
    background: #ffffff;
    color: #1f60d6;
    box-shadow: 0 8px 18px rgba(24, 58, 95, 0.08);
}

body:not(.notloggedin) [data-region="message-drawer"] [data-region="settings"] {
    padding: 18px 16px 28px;
}

body:not(.notloggedin) [data-region="message-drawer"] [data-region="settings"] > h3,
body:not(.notloggedin) [data-region="message-drawer"] [data-region="settings"] > [data-region="notification-preference-container"] > h3 {
    margin-bottom: 10px;
    color: #6b809d;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body:not(.notloggedin) [data-region="message-drawer"] [data-region="settings"] > p {
    margin: 0 0 14px;
    padding: 16px 18px;
    border: 1px solid #e1ebf7;
    border-radius: 18px;
    background: #ffffff;
    color: #627896;
    line-height: 1.6;
    box-shadow: 0 12px 26px rgba(22, 55, 91, 0.06);
}

body:not(.notloggedin) [data-region="message-drawer"] [data-region="settings"] > [data-preference="blocknoncontacts"],
body:not(.notloggedin) [data-region="message-drawer"] [data-region="settings"] > [data-region="notification-preference-container"],
body:not(.notloggedin) [data-region="message-drawer"] [data-region="settings"] > [data-preference="entertosend"] {
    margin-bottom: 14px;
    padding: 16px 18px;
    border: 1px solid #e1ebf7;
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 12px 26px rgba(22, 55, 91, 0.06);
}

body:not(.notloggedin) [data-region="message-drawer"] [data-region="settings"] fieldset {
    margin: 0;
}

body:not(.notloggedin) [data-region="message-drawer"] [data-region="settings"] .custom-control {
    min-height: 1.65rem;
}

body:not(.notloggedin) [data-region="message-drawer"] [data-region="settings"] .custom-control-label {
    color: #173459;
    font-weight: 700;
    line-height: 1.5;
}

body:not(.notloggedin) [data-region="message-drawer"] [data-region="settings"] .custom-control-label::before {
    border-color: #c7d7ec;
    box-shadow: none;
}

body:not(.notloggedin) [data-region="message-drawer"] [data-region="settings"] .custom-radio .custom-control-label::before {
    background: #ffffff;
}

body:not(.notloggedin) [data-region="message-drawer"] [data-region="settings"] .custom-radio .custom-control-input:checked ~ .custom-control-label::before {
    background-color: #2f6fdd;
    border-color: #2f6fdd;
}

body:not(.notloggedin) [data-region="message-drawer"] [data-region="settings"] .custom-switch {
    padding-left: 3.2rem;
}

body:not(.notloggedin) [data-region="message-drawer"] [data-region="settings"] .custom-switch .custom-control-label::before {
    left: -3.2rem;
    width: 2.5rem;
    height: 1.45rem;
    border-radius: 999px;
    background: #d8e2f0;
    border-color: #d8e2f0;
}

body:not(.notloggedin) [data-region="message-drawer"] [data-region="settings"] .custom-switch .custom-control-label::after {
    top: calc(0.25rem + 1px);
    left: calc(-3.2rem + 2px);
    width: 1.05rem;
    height: 1.05rem;
    border-radius: 999px;
    background: #ffffff;
}

body:not(.notloggedin) [data-region="message-drawer"] [data-region="settings"] .custom-switch .custom-control-input:checked ~ .custom-control-label::before {
    background: #2f6fdd;
    border-color: #2f6fdd;
}

body:not(.notloggedin) [data-region="message-drawer"] [data-region="view-search"] [data-region="empty-message-container"] {
    padding: 18px 16px;
}

body:not(.notloggedin) [data-region="message-drawer"] [data-region="view-search"] [data-region="empty-message-container"] p {
    margin: 0;
    padding: 18px 20px;
    border: 1px dashed #d8e4f3;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.92);
    color: #69809f;
    line-height: 1.6;
}

body:not(.notloggedin) [data-region="message-drawer"] .footer-container [data-region="view-overview"] {
    padding: 14px 16px 18px;
    border-top: 1px solid #e4edf8;
}

body:not(.notloggedin) [data-region="message-drawer"] .footer-container [data-region="view-overview"] a {
    display: block;
    padding: 12px 16px;
    border-radius: 14px;
    background: linear-gradient(135deg, #2f6fdd 0%, #4e92ff 100%);
    color: #ffffff;
    font-size: 14px;
    font-weight: 800;
    text-align: center;
    box-shadow: 0 14px 28px rgba(47, 111, 221, 0.24);
}

body:not(.notloggedin) [data-region="message-drawer"] .footer-container [data-region="view-overview"] a:hover,
body:not(.notloggedin) [data-region="message-drawer"] .footer-container [data-region="view-overview"] a:focus {
    color: #ffffff;
    text-decoration: none;
}

body:not(.notloggedin) [data-region="message-drawer"] .header-container {
    padding-top: 8px;
}

body:not(.notloggedin) [data-region="message-drawer"] .message-drawer-pane-header {
    background: transparent;
}

body:not(.notloggedin) [data-region="message-drawer"] .message-drawer-pane-row,
body:not(.notloggedin) [data-region="message-drawer"] .message-drawer-search-row {
    gap: 14px;
}

body:not(.notloggedin) [data-region="message-drawer"] .message-drawer-view-title {
    color: #10243f;
    font-size: 18px;
    font-weight: 800;
    letter-spacing: -0.02em;
}

body:not(.notloggedin) [data-region="message-drawer"] .message-drawer-action,
body:not(.notloggedin) [data-region="message-drawer"] .message-drawer-settings-link,
body:not(.notloggedin) [data-region="message-drawer"] .message-drawer-search-toggle,
body:not(.notloggedin) [data-region="message-drawer"] .message-drawer-back {
    text-decoration: none !important;
}

body:not(.notloggedin) [data-region="message-drawer"] .message-drawer-action .icon,
body:not(.notloggedin) [data-region="message-drawer"] .message-drawer-settings-link .icon,
body:not(.notloggedin) [data-region="message-drawer"] .message-drawer-search-toggle .icon,
body:not(.notloggedin) [data-region="message-drawer"] .message-drawer-back .icon {
    font-size: 18px;
}

body:not(.notloggedin) [data-region="message-drawer"] .message-drawer-contacts-button {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 46px;
    padding: 10px 16px;
    border: 1px solid #d7e4f4;
    border-radius: 16px;
    background: #ffffff;
    color: #173459;
    font-weight: 700;
    box-shadow: 0 12px 24px rgba(24, 58, 95, 0.08);
    text-decoration: none !important;
}

body:not(.notloggedin) [data-region="message-drawer"] .message-drawer-contacts-button:hover,
body:not(.notloggedin) [data-region="message-drawer"] .message-drawer-contacts-button:focus {
    color: #1f60d6;
}

body:not(.notloggedin) [data-region="message-drawer"] .message-drawer-tabs .nav-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 44px;
}

body:not(.notloggedin) [data-region="message-drawer"] .message-drawer-tabs .badge {
    margin-left: 4px !important;
}

body:not(.notloggedin) [data-region="message-drawer"] .overview-section-toggle.collapsed .expanded-icon-container {
    display: none !important;
}

body:not(.notloggedin) [data-region="message-drawer"] .overview-section-toggle:not(.collapsed) .collapsed-icon-container {
    display: none !important;
}

body:not(.notloggedin) [data-region="message-drawer"] .overview-section-toggle .drawer-section-caret {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    margin-right: 12px;
    border-radius: 11px;
    background: #edf4ff;
    color: #2e6fe0;
    flex: 0 0 30px;
}

body:not(.notloggedin) [data-region="message-drawer"] .overview-section-toggle .drawer-section-caret .icon {
    margin: 0;
    transition: transform 0.18s ease;
}

body:not(.notloggedin) [data-region="message-drawer"] .overview-section-toggle:not(.collapsed) .drawer-section-caret .icon {
    transform: rotate(90deg);
}

body:not(.notloggedin) [data-region="message-drawer"] .overview-section-toggle .drawer-section-title {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
}

body:not(.notloggedin) [data-region="message-drawer"] [data-region="lazy-load-list"] [data-region="empty-message-container"] {
    padding: 16px 18px;
}

body:not(.notloggedin) [data-region="message-drawer"] .message-drawer-empty-copy,
body:not(.notloggedin) [data-region="message-drawer"] [data-region="lazy-load-list"] [data-region="empty-message-container"] {
    color: #69809f !important;
    font-size: 14px;
    line-height: 1.6;
}

body:not(.notloggedin) [data-region="message-drawer"] [data-region="lazy-load-list"] .list-group {
    padding-bottom: 8px;
}

body:not(.notloggedin) [data-region="message-drawer"] [data-region="settings"] > h3:first-child {
    margin-top: 0;
}

body:not(.notloggedin) [data-region="message-drawer"] .section.card {
    margin: 16px 12px;
    border: 0;
    background: transparent;
    box-shadow: none;
    overflow: visible;
}

body:not(.notloggedin) [data-region="message-drawer"] .section.card .card-header {
    overflow: hidden;
    border: 1px solid #dbe7f5;
    border-radius: 20px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    box-shadow: 0 14px 28px rgba(22, 55, 91, 0.08);
}

body:not(.notloggedin) [data-region="message-drawer"] .section.card [data-region="lazy-load-list"] {
    margin-top: 10px;
    overflow: hidden;
    border: 1px solid #e2ebf7;
    border-bottom: 0 !important;
    border-radius: 20px;
    background: #ffffff;
    box-shadow: 0 14px 28px rgba(22, 55, 91, 0.08);
}

body:not(.notloggedin) [data-region="message-drawer"] .section.card [data-region="lazy-load-list"].collapsing {
    margin-top: 10px;
}

body:not(.notloggedin) [data-region="message-drawer"] .section.card [data-region="lazy-load-list"]:not(.show):not(.collapsing) {
    margin-top: 0;
    border-color: transparent;
    box-shadow: none;
    background: transparent;
}

body:not(.notloggedin) [data-region="message-drawer"] .overview-section-toggle {
    min-height: 62px;
    padding: 14px 16px !important;
    color: #173459;
    border-radius: 20px;
    transition: background 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

body:not(.notloggedin) [data-region="message-drawer"] .overview-section-toggle:hover,
body:not(.notloggedin) [data-region="message-drawer"] .overview-section-toggle:focus {
    background: rgba(47, 111, 221, 0.04);
    color: #10243f;
    transform: translateY(-1px);
}

body:not(.notloggedin) [data-region="message-drawer"] .overview-section-toggle .drawer-section-caret {
    width: 32px;
    height: 32px;
    margin-right: 14px;
    border-radius: 12px;
    background: linear-gradient(180deg, #eef4ff 0%, #e2ecff 100%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

body:not(.notloggedin) [data-region="message-drawer"] .overview-section-toggle .drawer-section-title {
    font-size: 15px;
    font-weight: 800;
    letter-spacing: -0.01em;
}

body:not(.notloggedin) [data-region="message-drawer"] .section.card [data-region="empty-message-container"] {
    padding: 18px 20px;
}

body:not(.notloggedin) [data-region="message-drawer"] .section.card .message-drawer-empty-copy,
body:not(.notloggedin) [data-region="message-drawer"] .section.card [data-region="empty-message-container"] {
    color: #6c819e !important;
    font-size: 14px;
}

body:not(.notloggedin) [data-region="message-drawer"] .section.card .list-group {
    padding: 10px;
}

body:not(.notloggedin) [data-region="message-drawer"] .list-group-item.list-group-item-action {
    position: relative;
    gap: 10px;
    margin: 0 0 12px;
    border: 1px solid #e4edf8;
    border-radius: 18px !important;
    background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
    box-shadow: 0 8px 18px rgba(20, 55, 92, 0.06);
    transition: background 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

body:not(.notloggedin) [data-region="message-drawer"] .list-group-item.list-group-item-action:last-child {
    margin-bottom: 0;
}

body:not(.notloggedin) [data-region="message-drawer"] .list-group-item.list-group-item-action:hover,
body:not(.notloggedin) [data-region="message-drawer"] .list-group-item.list-group-item-action:focus {
    background: linear-gradient(135deg, #eef5ff 0%, #f9fbff 100%);
    border-color: #ccdcf1;
    box-shadow: 0 14px 28px rgba(22, 55, 91, 0.12);
    transform: translateY(-1px);
    color: #10243f !important;
    text-decoration: none;
}

body:not(.notloggedin) [data-region="message-drawer"] .list-group-item.list-group-item-action strong,
body:not(.notloggedin) [data-region="message-drawer"] .list-group-item.list-group-item-action h3 {
    color: #10243f !important;
    transition: color 0.18s ease;
}

body:not(.notloggedin) [data-region="message-drawer"] .list-group-item.list-group-item-action p,
body:not(.notloggedin) [data-region="message-drawer"] .list-group-item.list-group-item-action .last-message,
body:not(.notloggedin) [data-region="message-drawer"] .list-group-item.list-group-item-action [data-region="last-message-date"] {
    color: #6c819e !important;
    transition: color 0.18s ease;
}

body:not(.notloggedin) [data-region="message-drawer"] .list-group-item.list-group-item-action:hover strong,
body:not(.notloggedin) [data-region="message-drawer"] .list-group-item.list-group-item-action:focus strong,
body:not(.notloggedin) [data-region="message-drawer"] .list-group-item.list-group-item-action:hover h3,
body:not(.notloggedin) [data-region="message-drawer"] .list-group-item.list-group-item-action:focus h3 {
    color: #10243f !important;
}

body:not(.notloggedin) [data-region="message-drawer"] .list-group-item.list-group-item-action:hover p,
body:not(.notloggedin) [data-region="message-drawer"] .list-group-item.list-group-item-action:focus p,
body:not(.notloggedin) [data-region="message-drawer"] .list-group-item.list-group-item-action:hover .last-message,
body:not(.notloggedin) [data-region="message-drawer"] .list-group-item.list-group-item-action:focus .last-message,
body:not(.notloggedin) [data-region="message-drawer"] .list-group-item.list-group-item-action:hover [data-region="last-message-date"],
body:not(.notloggedin) [data-region="message-drawer"] .list-group-item.list-group-item-action:focus [data-region="last-message-date"],
body:not(.notloggedin) [data-region="message-drawer"] .list-group-item.list-group-item-action:hover .text-muted,
body:not(.notloggedin) [data-region="message-drawer"] .list-group-item.list-group-item-action:focus .text-muted {
    color: #6c819e !important;
}

body:not(.notloggedin) [data-region="message-drawer"] .list-group-item.list-group-item-action:hover [data-region="last-message"] span,
body:not(.notloggedin) [data-region="message-drawer"] .list-group-item.list-group-item-action:focus [data-region="last-message"] span {
    color: #6c819e !important;
}

body:not(.notloggedin) [data-region="message-drawer"] .list-group-item.list-group-item-action .contact-status {
    bottom: 16px;
    left: 42px;
}

body:not(.notloggedin) [data-region="message-drawer"] .list-group-item.list-group-item-action .badge-primary {
    color: #ffffff !important;
}

body:not(.notloggedin) [data-region="message-drawer"] .header-container > [data-region="view-conversation"] {
    padding: 12px 12px 14px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.99) 0%, #f7fbff 100%);
    box-shadow: 0 14px 30px rgba(22, 55, 91, 0.10);
}

body:not(.notloggedin) [data-region="message-drawer"] .header-container > [data-region="view-conversation"] [data-region="header-content"] > .d-flex {
    gap: 12px;
    min-width: 0;
}

body:not(.notloggedin) [data-region="message-drawer"] .header-container > [data-region="view-conversation"] [data-region="header-content"] > .d-flex.flex-column {
    gap: 10px;
}

body:not(.notloggedin) [data-region="message-drawer"] .header-container > [data-region="view-conversation"] [data-region="header-content"] > .d-flex.flex-column > .d-flex {
    gap: 12px;
    min-width: 0;
}

body:not(.notloggedin) [data-region="message-drawer"] .header-container > [data-region="view-conversation"] [data-route-back],
body:not(.notloggedin) [data-region="message-drawer"] .header-container > [data-region="view-conversation"] .dropdown > button,
body:not(.notloggedin) [data-region="message-drawer"] .header-container > [data-region="view-conversation"] [data-action="cancel-edit-mode"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 1px solid #d8e5f4;
    border-radius: 16px;
    background: #ffffff !important;
    color: #2e6fe0 !important;
    box-shadow: 0 10px 22px rgba(24, 58, 95, 0.08);
    text-decoration: none !important;
}

body:not(.notloggedin) [data-region="message-drawer"] .header-container > [data-region="view-conversation"] .dropdown > button:hover,
body:not(.notloggedin) [data-region="message-drawer"] .header-container > [data-region="view-conversation"] .dropdown > button:focus,
body:not(.notloggedin) [data-region="message-drawer"] .header-container > [data-region="view-conversation"] [data-route-back]:hover,
body:not(.notloggedin) [data-region="message-drawer"] .header-container > [data-region="view-conversation"] [data-route-back]:focus {
    border-color: #c7d8ed;
    box-shadow: 0 14px 28px rgba(24, 58, 95, 0.14);
    transform: translateY(-1px);
}

body:not(.notloggedin) [data-region="message-drawer"] .header-container > [data-region="view-conversation"] .dropdown > button .icon,
body:not(.notloggedin) [data-region="message-drawer"] .header-container > [data-region="view-conversation"] [data-route-back] .icon {
    margin: 0;
    font-size: 18px;
}

body:not(.notloggedin) [data-region="message-drawer"] .header-container > [data-region="view-conversation"] [data-region="header-content"] .text-truncate,
body:not(.notloggedin) [data-region="message-drawer"] .header-container > [data-region="view-conversation"] [data-region="header-content"] a[data-action="view-contact"],
body:not(.notloggedin) [data-region="message-drawer"] .header-container > [data-region="view-conversation"] [data-region="header-content"] a[data-action="view-group-info"] {
    min-width: 0;
}

body:not(.notloggedin) [data-region="message-drawer"] .header-container > [data-region="view-conversation"] [data-region="header-content"] a[data-action="view-contact"],
body:not(.notloggedin) [data-region="message-drawer"] .header-container > [data-region="view-conversation"] [data-region="header-content"] a[data-action="view-group-info"] {
    display: flex;
    align-items: center;
    gap: 12px;
    flex: 1 1 auto;
    text-decoration: none !important;
}

body:not(.notloggedin) [data-region="message-drawer"] .header-container > [data-region="view-conversation"] [data-region="header-content"] img.rounded-circle {
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    border: 2px solid rgba(47, 111, 221, 0.10);
    box-shadow: 0 8px 18px rgba(24, 58, 95, 0.10);
}

body:not(.notloggedin) [data-region="message-drawer"] .header-container > [data-region="view-conversation"] strong {
    color: #10243f;
    font-size: 15px;
    font-weight: 800;
    letter-spacing: -0.01em;
}

body:not(.notloggedin) [data-region="message-drawer"] .header-container > [data-region="view-conversation"] p,
body:not(.notloggedin) [data-region="message-drawer"] .header-container > [data-region="view-conversation"] small {
    color: #68809f !important;
    font-size: 13px;
    line-height: 1.45;
}

body:not(.notloggedin) [data-region="message-drawer"] .header-container > [data-region="view-conversation"] [data-region="favourite-icon-container"],
body:not(.notloggedin) [data-region="message-drawer"] .header-container > [data-region="view-conversation"] [data-region="muted-icon-container"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 999px;
    background: #edf4ff;
    color: #2e6fe0 !important;
}

body:not(.notloggedin) [data-region="message-drawer"] .header-container > [data-region="view-conversation"] [data-region="favourite-icon-container"] .icon,
body:not(.notloggedin) [data-region="message-drawer"] .header-container > [data-region="view-conversation"] [data-region="muted-icon-container"] .icon {
    margin: 0;
    font-size: 12px;
}

body:not(.notloggedin) [data-region="message-drawer"] .header-container > [data-region="view-conversation"] a.line-height-3[data-action="view-group-info"] {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 6px 12px;
    border-radius: 12px;
    background: #eef4ff;
    color: #607796 !important;
    font-weight: 700;
    text-decoration: none !important;
}

body:not(.notloggedin) [data-region="message-drawer"] .header-container > [data-region="view-conversation"] .dropdown-menu {
    margin-top: 12px;
    border: 1px solid #e2ebf7;
    border-radius: 18px;
    padding: 8px;
    background: #ffffff;
    box-shadow: 0 18px 36px rgba(16, 36, 63, 0.14);
}

body:not(.notloggedin) [data-region="message-drawer"] .header-container > [data-region="view-conversation"] .dropdown-menu .dropdown-item {
    border-radius: 12px;
    color: #173459;
    font-weight: 700;
    padding: 10px 12px;
}

body:not(.notloggedin) [data-region="message-drawer"] .header-container > [data-region="view-conversation"] .dropdown-menu .dropdown-item:hover,
body:not(.notloggedin) [data-region="message-drawer"] .header-container > [data-region="view-conversation"] .dropdown-menu .dropdown-item:focus {
    background: #eef5ff;
    color: #1f60d6;
}

body:not(.notloggedin) [data-region="message-drawer"] .body-container > [data-region="view-conversation"].view-conversation {
    padding: 0 12px 12px;
    background: linear-gradient(180deg, #f5f9ff 0%, #eef4fb 100%);
}

body:not(.notloggedin) [data-region="message-drawer"] .body-container > [data-region="view-conversation"] [data-region="content-container"] {
    min-height: 0;
}

body:not(.notloggedin) [data-region="message-drawer"] .body-container > [data-region="view-conversation"] [data-region="content-message-container"] {
    margin-top: 12px;
    padding: 14px 10px 16px !important;
    border: 1px solid #dfeaf7;
    border-radius: 24px !important;
    background: linear-gradient(180deg, #ffffff 0%, #f9fbff 100%) !important;
    box-shadow: 0 18px 34px rgba(20, 55, 92, 0.08);
}

body:not(.notloggedin) [data-region="message-drawer"] .body-container > [data-region="view-conversation"] [data-region="content-message-container"]:hover {
    background: linear-gradient(180deg, #ffffff 0%, #f9fbff 100%) !important;
}

body:not(.notloggedin) [data-region="message-drawer"] .body-container > [data-region="view-conversation"] [data-region="contact-request-sent-message-container"],
body:not(.notloggedin) [data-region="message-drawer"] .body-container > [data-region="view-conversation"] [data-region="self-conversation-message-container"] {
    max-width: 250px;
    margin: 14px auto 0;
    padding: 18px 18px 16px !important;
    border: 1px solid #dfeaf7;
    border-radius: 20px;
    background: #ffffff;
    box-shadow: 0 14px 30px rgba(20, 55, 92, 0.08);
}

body:not(.notloggedin) [data-region="message-drawer"] .body-container > [data-region="view-conversation"] [data-region="contact-request-sent-message-container"] p:first-child,
body:not(.notloggedin) [data-region="message-drawer"] .body-container > [data-region="view-conversation"] [data-region="self-conversation-message-container"] p:first-child {
    color: #173459;
    font-size: 15px;
    font-weight: 800;
}

body:not(.notloggedin) [data-region="message-drawer"] .body-container > [data-region="view-conversation"] [data-region="contact-request-sent-message-container"] p:last-child,
body:not(.notloggedin) [data-region="message-drawer"] .body-container > [data-region="view-conversation"] [data-region="self-conversation-message-container"] p:last-child {
    margin-top: 8px;
    color: #6c819e;
    font-size: 14px;
    line-height: 1.6;
}

body:not(.notloggedin) [data-region="message-drawer"] .view-conversation [data-region="day-container"] {
    margin-top: 14px;
}

body:not(.notloggedin) [data-region="message-drawer"] .view-conversation .day {
    display: table;
    margin: 0 auto 16px;
    padding: 8px 14px;
    border-radius: 999px;
    background: #eef4ff;
    color: #6a809d;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

body:not(.notloggedin) [data-region="message-drawer"] .view-conversation [data-region="message"] {
    max-width: calc(100% - 26px);
    padding: 12px 14px !important;
    border: 1px solid #e2ebf7;
    border-radius: 20px !important;
    background: #ffffff;
    box-shadow: 0 10px 24px rgba(22, 55, 91, 0.08);
}

body:not(.notloggedin) [data-region="message-drawer"] .view-conversation [data-region="message"].send {
    margin-left: auto;
    background: linear-gradient(135deg, #2f6fdd 0%, #4e92ff 100%);
    border-color: transparent;
    box-shadow: 0 16px 28px rgba(47, 111, 221, 0.22);
}

body:not(.notloggedin) [data-region="message-drawer"] .view-conversation [data-region="message"].received {
    margin-right: auto;
}

body:not(.notloggedin) [data-region="message-drawer"] .view-conversation [data-region="message"] .tail {
    display: none;
}

body:not(.notloggedin) [data-region="message-drawer"] .view-conversation [data-region="message"] h6,
body:not(.notloggedin) [data-region="message-drawer"] .view-conversation [data-region="message"] [data-region="text-container"] {
    color: #10243f;
}

body:not(.notloggedin) [data-region="message-drawer"] .view-conversation [data-region="message"] [data-region="text-container"] {
    font-size: 14px;
    line-height: 1.6;
    word-break: break-word;
}

body:not(.notloggedin) [data-region="message-drawer"] .view-conversation [data-region="message"] [data-region="time-created"] {
    color: #86a0bf;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.03em;
}

body:not(.notloggedin) [data-region="message-drawer"] .view-conversation [data-region="message"].send [data-region="text-container"],
body:not(.notloggedin) [data-region="message-drawer"] .view-conversation [data-region="message"].send [data-region="time-created"],
body:not(.notloggedin) [data-region="message-drawer"] .view-conversation [data-region="message"].send .text-danger,
body:not(.notloggedin) [data-region="message-drawer"] .view-conversation [data-region="message"].send [data-region="retry-send"] span {
    color: rgba(255, 255, 255, 0.94) !important;
}

body:not(.notloggedin) [data-region="message-drawer"] .view-conversation [data-region="message"].send [data-region="selected-icon"],
body:not(.notloggedin) [data-region="message-drawer"] .view-conversation [data-region="message"].send [data-region="not-selected-icon"] {
    color: rgba(255, 255, 255, 0.92);
}

body:not(.notloggedin) [data-region="message-drawer"] .footer-container > [data-region="view-conversation"] {
    padding: 14px 12px 16px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.92) 0%, #ffffff 100%);
}

body:not(.notloggedin) [data-region="message-drawer"] .footer-container > [data-region="view-conversation"] [data-region="content-messages-footer-container"],
body:not(.notloggedin) [data-region="message-drawer"] .footer-container > [data-region="view-conversation"] [data-region="placeholder-container"] {
    padding: 0 !important;
}

body:not(.notloggedin) [data-region="message-drawer"] .footer-container > [data-region="view-conversation"] .d-flex.mt-sm-1 {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: stretch;
    margin-top: 0 !important;
}

body:not(.notloggedin) [data-region="message-drawer"] .footer-container > [data-region="view-conversation"] textarea[data-region="send-message-txt"] {
    min-height: 120px !important;
    padding: 16px 18px;
    border: 1px solid #dfeaf7 !important;
    border-radius: 22px !important;
    background: #ffffff !important;
    box-shadow: 0 14px 28px rgba(20, 55, 92, 0.08) !important;
    line-height: 1.6;
}

body:not(.notloggedin) [data-region="message-drawer"] .footer-container > [data-region="view-conversation"] textarea[data-region="send-message-txt"]:focus {
    box-shadow: 0 0 0 4px rgba(47, 111, 221, 0.10), 0 16px 30px rgba(20, 55, 92, 0.10) !important;
}

body:not(.notloggedin) [data-region="message-drawer"] .footer-container > [data-region="view-conversation"] .position-relative.d-flex.flex-column {
    gap: 10px;
    align-items: center;
    justify-content: flex-end;
}

body:not(.notloggedin) [data-region="message-drawer"] .footer-container > [data-region="view-conversation"] [data-action="toggle-emoji-picker"],
body:not(.notloggedin) [data-region="message-drawer"] .footer-container > [data-region="view-conversation"] [data-action="send-message"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    margin-left: 0 !important;
    border: 1px solid #d7e4f4;
    border-radius: 16px;
    background: #ffffff !important;
    box-shadow: 0 10px 22px rgba(24, 58, 95, 0.08);
}

body:not(.notloggedin) [data-region="message-drawer"] .footer-container > [data-region="view-conversation"] [data-action="toggle-emoji-picker"] .icon,
body:not(.notloggedin) [data-region="message-drawer"] .footer-container > [data-region="view-conversation"] [data-action="send-message"] .icon {
    margin: 0;
    font-size: 18px;
}

body:not(.notloggedin) [data-region="message-drawer"] .footer-container > [data-region="view-conversation"] [data-action="send-message"] {
    border-color: transparent;
    background: linear-gradient(135deg, #2f6fdd 0%, #4e92ff 100%) !important;
    box-shadow: 0 16px 28px rgba(47, 111, 221, 0.22);
}

body:not(.notloggedin) [data-region="message-drawer"] .footer-container > [data-region="view-conversation"] [data-action="send-message"] .icon,
body:not(.notloggedin) [data-region="message-drawer"] .footer-container > [data-region="view-conversation"] [data-action="send-message"] [data-region="send-icon-container"] {
    color: #ffffff;
}

/* dashboard course blocks */
#page-my-index {
    --dashboard-panel-min-height: 640px;
    --dashboard-content-min-height: 560px;
    --dashboard-course-gap: 28px;
    --dashboard-cover-height: 268px;
}

#page-my-index .block_myoverview .block-myoverview[data-region="myoverview"],
#page-my-index .block_recentlyaccessedcourses .block-recentlyaccessedcourses[data-region="recentlyaccessedcourses"] {
    position: relative;
}

#page-my-index .block_myoverview .card-title,
#page-my-index .block_recentlyaccessedcourses .card-title {
    margin-bottom: 24px;
    color: var(--ui-heading);
    font-size: 1.18rem;
    font-weight: 800;
    letter-spacing: -0.02em;
}

#page-my-index .block_myoverview.card > .card-body,
#page-my-index .block_recentlyaccessedcourses.card > .card-body {
    display: flex;
    flex-direction: column;
}

#page-my-index .block_myoverview .card-text.content.mt-3,
#page-my-index .block_recentlyaccessedcourses .card-text.content.mt-3 {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
}

#page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="filter"] {
    gap: 14px 10px;
    margin-bottom: 28px;
}

/* Course content page refresh. */
body#page-course-view-topics,
body#page-course-view-preview {
    background: #f3f7fc !important;
}

body#page-course-view-topics #page-wrapper,
body#page-course-view-preview #page-wrapper {
    background:
        radial-gradient(circle at 50% 0%, rgba(39, 100, 216, 0.10), transparent 34%),
        linear-gradient(180deg, #f8fbff 0%, #eef4fb 44%, #f3f7fc 100%) !important;
}

body#page-course-view-topics #page,
body#page-course-view-preview #page {
    margin-left: 0 !important;
}

body#page-course-view-topics #page-content,
body#page-course-view-preview #page-content,
body#page-course-view-topics #page-header,
body#page-course-view-preview #page-header,
body#page-course-view-topics .page-context-header,
body#page-course-view-preview .page-context-header {
    max-width: 1120px;
}

body#page-course-view-topics #region-main > .card.page-surface,
body#page-course-view-preview #region-main > .card.page-surface {
    border: 1px solid #d9e5f4 !important;
    border-radius: 26px !important;
    background: rgba(255, 255, 255, 0.98) !important;
    box-shadow: 0 18px 48px rgba(21, 48, 82, 0.08) !important;
}

body#page-course-view-topics #region-main > .card.page-surface > .card-body,
body#page-course-view-preview #region-main > .card.page-surface > .card-body {
    padding: clamp(20px, 3vw, 34px) !important;
}

body#page-course-view-topics .page-context-header,
body#page-course-view-preview .page-context-header {
    margin-bottom: 16px;
    border-color: #d9e5f4;
    border-radius: 24px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(238, 246, 255, 0.94)) !important;
    box-shadow: none;
}

body#page-course-view-topics .page-header-headings h1,
body#page-course-view-preview .page-header-headings h1,
body#page-course-view-topics #page-header h1,
body#page-course-view-preview #page-header h1 {
    margin-bottom: 10px;
    color: #0f172a;
    font-size: clamp(30px, 4vw, 48px);
    line-height: 1.08;
}

body#page-course-view-topics .breadcrumb,
body#page-course-view-preview .breadcrumb {
    gap: 8px;
}

body#page-course-view-topics .breadcrumb-item,
body#page-course-view-topics .breadcrumb-item a,
body#page-course-view-preview .breadcrumb-item,
body#page-course-view-preview .breadcrumb-item a {
    color: #334155;
}

body#page-course-view-topics #nav-drawer,
body#page-course-view-preview #nav-drawer {
    box-shadow: none !important;
}

body#page-course-view-topics #nav-drawer.closed,
body#page-course-view-preview #nav-drawer.closed,
body#page-course-view-topics #nav-drawer.closed + #nav-drawer-footer,
body#page-course-view-preview #nav-drawer.closed + #nav-drawer-footer {
    border-right: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

body#page-course-view-topics .completionprogress,
body#page-course-view-preview .completionprogress {
    display: none !important;
}

body#page-course-view-topics .moove-course-progress-card,
body#page-course-view-preview .moove-course-progress-card {
    position: relative;
    margin: 0 0 24px;
    padding: clamp(18px, 2.4vw, 26px);
    overflow: hidden;
    border: 1px solid #d6e3f3;
    border-radius: 24px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(243, 248, 255, 0.98));
    box-shadow: 0 16px 38px rgba(21, 48, 82, 0.08);
}

body#page-course-view-topics .moove-course-progress-card::before,
body#page-course-view-preview .moove-course-progress-card::before {
    content: "";
    position: absolute;
    top: -52px;
    right: -42px;
    width: 180px;
    height: 180px;
    border-radius: 50%;
    background: rgba(14, 159, 154, 0.12);
    pointer-events: none;
}

body#page-course-view-topics .moove-course-progress-card__header,
body#page-course-view-preview .moove-course-progress-card__header {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 16px;
}

body#page-course-view-topics .moove-course-progress-card__main,
body#page-course-view-preview .moove-course-progress-card__main {
    display: grid;
    gap: 3px;
}

body#page-course-view-topics .moove-course-progress-card__eyebrow,
body#page-course-view-preview .moove-course-progress-card__eyebrow {
    color: #46617f;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

body#page-course-view-topics .moove-course-progress-card__value,
body#page-course-view-preview .moove-course-progress-card__value {
    color: #0f2d64;
    font-size: clamp(34px, 4vw, 52px);
    font-weight: 850;
    line-height: 1;
}

body#page-course-view-topics .moove-course-progress-card__count,
body#page-course-view-preview .moove-course-progress-card__count {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 0 14px;
    border: 1px solid #c9d8eb;
    border-radius: 999px;
    color: #183b82;
    background: #ffffff;
    font-size: 14px;
    font-weight: 800;
    white-space: nowrap;
}

body#page-course-view-topics .moove-course-progress-card__track,
body#page-course-view-preview .moove-course-progress-card__track {
    position: relative;
    z-index: 1;
    height: 20px;
    overflow: hidden;
    border: 1px solid #d4e0ef;
    border-radius: 999px;
    background: #e8eef7;
    box-shadow: inset 0 2px 4px rgba(21, 48, 82, 0.10);
}

body#page-course-view-topics .moove-course-progress-card__track::after,
body#page-course-view-preview .moove-course-progress-card__track::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    background:
        repeating-linear-gradient(
            90deg,
            transparent 0,
            transparent calc(10% - 1px),
            rgba(255, 255, 255, 0.72) calc(10% - 1px),
            rgba(255, 255, 255, 0.72) 10%
        );
    opacity: 0.72;
    pointer-events: none;
}

body#page-course-view-topics .moove-course-progress-card__fill,
body#page-course-view-preview .moove-course-progress-card__fill {
    position: absolute;
    inset: 0 auto 0 0;
    border-radius: inherit;
    background:
        linear-gradient(90deg, #2563eb 0%, #2f80ed 48%, #0e9f9a 100%);
    box-shadow: 0 8px 20px rgba(37, 99, 235, 0.28);
}

body#page-course-view-topics .moove-course-progress-card__footer,
body#page-course-view-preview .moove-course-progress-card__footer {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 13px;
    color: #46617f;
    font-size: 13px;
    font-weight: 750;
}

body#page-course-view-topics .moove-course-progress-card__status,
body#page-course-view-preview .moove-course-progress-card__status {
    color: #166534;
}

body#page-course-view-topics .moove-course-progress-card__help,
body#page-course-view-preview .moove-course-progress-card__help {
    display: inline-flex;
    align-items: center;
    color: #46617f;
}

body#page-course-view-topics .course-content ul.topics,
body#page-course-view-preview .course-content ul.topics,
body#page-course-view-topics .course-content ul.weeks,
body#page-course-view-preview .course-content ul.weeks {
    display: flex;
    flex-direction: column;
    gap: 18px;
    margin: 0 !important;
    padding: 0 !important;
}

body#page-course-view-topics .course-content ul.topics > li.section,
body#page-course-view-preview .course-content ul.topics > li.section,
body#page-course-view-topics .course-content ul.weeks > li.section,
body#page-course-view-preview .course-content ul.weeks > li.section,
body#page-course-view-topics .course-content .section.main,
body#page-course-view-preview .course-content .section.main {
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden;
    border: 1px solid #dbe6f4 !important;
    border-radius: 22px !important;
    background: #ffffff !important;
    box-shadow: 0 14px 34px rgba(21, 48, 82, 0.07) !important;
}

body#page-course-view-topics:not(.editing) .course-content .section .left.side,
body#page-course-view-topics:not(.editing) .course-content .section .right.side,
body#page-course-view-preview:not(.editing) .course-content .section .left.side,
body#page-course-view-preview:not(.editing) .course-content .section .right.side {
    display: none !important;
}

body#page-course-view-topics:not(.editing) .course-content .section .content,
body#page-course-view-preview:not(.editing) .course-content .section .content {
    margin: 0 !important;
    padding: 0 !important;
}

body#page-course-view-topics .course-content .single-section .sectionname,
body#page-course-view-preview .course-content .single-section .sectionname,
body#page-course-view-topics .course-content .section .sectionname,
body#page-course-view-preview .course-content .section .sectionname,
body#page-course-view-topics .course-content .section-title,
body#page-course-view-preview .course-content .section-title {
    margin: 0 !important;
    padding: 18px clamp(18px, 2.5vw, 26px) !important;
    border: 0 !important;
    border-bottom: 1px solid #e0e9f5 !important;
    border-radius: 0 !important;
    color: #123a7a !important;
    background:
        linear-gradient(135deg, #f8fbff 0%, #eef6ff 100%) !important;
    font-size: clamp(21px, 2.2vw, 30px) !important;
    font-weight: 850 !important;
    line-height: 1.24 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
}

body#page-course-view-topics .course-content .section .sectionname > span,
body#page-course-view-preview .course-content .section .sectionname > span {
    display: block;
}

body#page-course-view-topics .course-content ul.topics > li.section ul.section,
body#page-course-view-preview .course-content ul.topics > li.section ul.section,
body#page-course-view-topics .course-content ul.weeks > li.section ul.section,
body#page-course-view-preview .course-content ul.weeks > li.section ul.section {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin: 0 !important;
    padding: 20px clamp(18px, 2.5vw, 26px) 24px !important;
}

body#page-course-view-topics .course-content ul.topics > li.section ul.section > li.activity,
body#page-course-view-preview .course-content ul.topics > li.section ul.section > li.activity,
body#page-course-view-topics .course-content ul.weeks > li.section ul.section > li.activity,
body#page-course-view-preview .course-content ul.weeks > li.section ul.section > li.activity {
    margin: 0 !important;
    padding: 15px 16px !important;
    border: 1px solid #e3ebf6;
    border-radius: 16px;
    background: #fbfdff;
    transition: border-color 0.18s ease, background 0.18s ease, transform 0.18s ease;
}

body#page-course-view-topics .course-content ul.topics > li.section ul.section > li.activity > div,
body#page-course-view-preview .course-content ul.topics > li.section ul.section > li.activity > div,
body#page-course-view-topics .course-content ul.weeks > li.section ul.section > li.activity > div,
body#page-course-view-preview .course-content ul.weeks > li.section ul.section > li.activity > div {
    padding: 0 !important;
}

body#page-course-view-topics .course-content ul.topics > li.section ul.section > li.activity:hover,
body#page-course-view-preview .course-content ul.topics > li.section ul.section > li.activity:hover,
body#page-course-view-topics .course-content ul.weeks > li.section ul.section > li.activity:hover,
body#page-course-view-preview .course-content ul.weeks > li.section ul.section > li.activity:hover {
    border-color: #bfd2ec;
    background: #f6faff;
    transform: translateY(-1px);
}

body#page-course-view-topics .section .activity .contentwithoutlink,
body#page-course-view-topics .section .activity .activityinstance,
body#page-course-view-preview .section .activity .contentwithoutlink,
body#page-course-view-preview .section .activity .activityinstance {
    display: block;
    min-width: 0;
    min-height: 0;
    padding-right: 0;
}

body#page-course-view-topics .section .activity .contentwithoutlink > a,
body#page-course-view-topics .section .activity .activityinstance > a,
body#page-course-view-preview .section .activity .contentwithoutlink > a,
body#page-course-view-preview .section .activity .activityinstance > a {
    display: inline-flex !important;
    align-items: center;
    gap: 10px;
    min-height: 32px;
    padding-left: 0 !important;
    text-indent: 0 !important;
    color: #111827 !important;
    font-size: 15px;
    font-weight: 780;
    line-height: 1.35;
    white-space: normal;
}

body#page-course-view-topics .section .activity .activityinstance img.iconlarge,
body#page-course-view-topics .section .activity .activityinstance img.icon,
body#page-course-view-preview .section .activity .activityinstance img.iconlarge,
body#page-course-view-preview .section .activity .activityinstance img.icon {
    flex: 0 0 auto;
    width: 28px;
    height: 28px;
    margin: 0 !important;
    object-fit: contain;
}

body#page-course-view-topics .section .activity .activityinstance > a:hover,
body#page-course-view-preview .section .activity .activityinstance > a:hover,
body#page-course-view-topics .section .activity .contentwithoutlink > a:hover,
body#page-course-view-preview .section .activity .contentwithoutlink > a:hover {
    color: #0f172a !important;
}

body#page-course-view-topics .section .activity .instancename,
body#page-course-view-preview .section .activity .instancename {
    display: inline;
    color: inherit;
}

body#page-course-view-topics .course-content .availabilityinfo,
body#page-course-view-preview .course-content .availabilityinfo {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 12px;
}

body#page-course-view-topics .course-content .availabilityinfo .badge,
body#page-course-view-preview .course-content .availabilityinfo .badge {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 0 12px;
    border-radius: 999px !important;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.3;
}

body#page-course-view-topics .course-content .availabilityinfo .badge-danger,
body#page-course-view-preview .course-content .availabilityinfo .badge-danger {
    color: #8a1c2b;
    background: #fff1f2;
}

body#page-course-view-topics .course-content .availabilityinfo .badge-info,
body#page-course-view-preview .course-content .availabilityinfo .badge-info {
    color: #344156;
    background: #f4f7fb;
}

body#page-course-view-topics .course-content li.section.hidden.moove-hidden-section,
body#page-course-view-preview .course-content li.section.hidden.moove-hidden-section {
    display: block;
    border-style: solid !important;
    border-color: #ead9b5 !important;
    background: linear-gradient(135deg, #fffdf6 0%, #fff8e7 100%) !important;
    box-shadow: 0 14px 30px rgba(113, 82, 24, 0.08) !important;
}

body#page-course-view-topics .course-section-unavailable,
body#page-course-view-preview .course-section-unavailable {
    padding: 20px clamp(18px, 2.5vw, 26px) !important;
}

body#page-course-view-topics .course-section-unavailable__message,
body#page-course-view-preview .course-section-unavailable__message {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    min-height: 48px;
    padding: 0 16px;
    border: 1px solid #ecd9b2;
    border-radius: 16px;
    color: #7a5518;
    background: rgba(255, 255, 255, 0.72);
    font-size: 15px;
    font-weight: 800;
    line-height: 1.35;
}

body#page-course-view-topics .course-section-unavailable__message::before,
body#page-course-view-preview .course-section-unavailable__message::before {
    content: "";
    flex: 0 0 auto;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #d97706;
    box-shadow: 0 0 0 6px rgba(217, 119, 6, 0.14);
}

body#page-course-view-topics .course-content [data-action="toggle-manual-completion"],
body#page-course-view-preview .course-content [data-action="toggle-manual-completion"] {
    min-height: 36px;
    margin-top: 10px;
    padding: 0 14px !important;
    border-radius: 999px !important;
    font-size: 13px;
    font-weight: 850;
}

body#page-course-view-topics .course-content [data-action="toggle-manual-completion"] .fa-check,
body#page-course-view-preview .course-content [data-action="toggle-manual-completion"] .fa-check {
    margin-right: 6px;
}

body#page-course-view-topics .course-content .moove-completion-label,
body#page-course-view-preview .course-content .moove-completion-label {
    display: inline-block;
    vertical-align: middle;
}

body#page-course-view-topics .course-content [data-toggletype="manual:undo"],
body#page-course-view-preview .course-content [data-toggletype="manual:undo"] {
    border-color: #2f9e64 !important;
    color: #166534 !important;
    background: #eefbf3 !important;
}

body#page-course-view-topics .course-content [data-toggletype="manual:mark-done"],
body#page-course-view-preview .course-content [data-toggletype="manual:mark-done"] {
    border-color: #8fb4ee !important;
    color: #1d4ed8 !important;
    background: #eff6ff !important;
}

body#page-course-view-topics .section-summary-activities,
body#page-course-view-preview .section-summary-activities {
    margin: 14px 0 0 12px;
}

@media (max-width: 767.98px) {
    body#page-course-view-topics #page-content,
    body#page-course-view-preview #page-content {
        padding: 0 10px;
    }

    body#page-course-view-topics #region-main > .card.page-surface,
    body#page-course-view-preview #region-main > .card.page-surface,
    body#page-course-view-topics .moove-course-progress-card,
    body#page-course-view-preview .moove-course-progress-card,
    body#page-course-view-topics .course-content ul.topics > li.section,
    body#page-course-view-preview .course-content ul.topics > li.section,
    body#page-course-view-topics .course-content ul.weeks > li.section,
    body#page-course-view-preview .course-content ul.weeks > li.section {
        border-radius: 18px !important;
    }

    body#page-course-view-topics .moove-course-progress-card__header,
    body#page-course-view-preview .moove-course-progress-card__header {
        align-items: flex-start;
        flex-direction: column;
        gap: 12px;
    }

    body#page-course-view-topics .moove-course-progress-card__count,
    body#page-course-view-preview .moove-course-progress-card__count {
        white-space: normal;
    }

    body#page-course-view-topics .course-content .single-section .sectionname,
    body#page-course-view-preview .course-content .single-section .sectionname,
    body#page-course-view-topics .course-content .section .sectionname,
    body#page-course-view-preview .course-content .section .sectionname,
    body#page-course-view-topics .course-content .section-title,
    body#page-course-view-preview .course-content .section-title {
        font-size: 20px !important;
    }
}

/* Course activity page refresh. */
body.path-mod {
    background: #f3f7fc !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

body.path-mod #page-wrapper {
    background: linear-gradient(180deg, #f8fbff 0%, #eef4fb 44%, #f3f7fc 100%) !important;
}

body.path-mod #page,
body.path-mod #page.container-fluid,
body.path-mod #page.drawers,
body.path-mod #page-wrapper {
    width: 100% !important;
    max-width: 100vw !important;
    margin-left: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body.path-mod #page.drawers,
body.path-mod #page-header.row,
body.path-mod #page-content.row,
body.path-mod #page-content,
body.path-mod #page-footer {
    width: 100%;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body.path-mod #page-content,
body.path-mod #page-header,
body.path-mod .page-context-header {
    width: 100%;
    max-width: 1160px;
    margin-left: auto;
    margin-right: auto;
}

body.path-mod #page-header.row,
body.path-mod #page-content.row {
    margin-left: auto !important;
    margin-right: auto !important;
}

body.path-mod #page-header > .col-12,
body.path-mod #page-content > #region-main-box {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body.path-mod #region-main-box {
    float: none;
    margin: 0 auto;
}

body.path-mod #region-main > .card.page-surface {
    border: 1px solid #d9e5f4 !important;
    border-radius: 28px !important;
    background: rgba(255, 255, 255, 0.98) !important;
    box-shadow: 0 18px 48px rgba(21, 48, 82, 0.08) !important;
}

body.path-mod #region-main > .card.page-surface > .card-body {
    padding: clamp(22px, 3vw, 36px) !important;
}

body.path-mod .page-context-header {
    margin-bottom: 16px;
    border-color: #d9e5f4;
    border-radius: 24px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(238, 246, 255, 0.94)) !important;
    box-shadow: none;
}

body.path-mod .page-header-headings h1,
body.path-mod #page-header h1 {
    margin-bottom: 10px;
    color: #0f172a;
    font-size: clamp(28px, 3.7vw, 46px);
    line-height: 1.1;
}

body.path-mod .breadcrumb {
    gap: 8px;
    flex-wrap: wrap;
}

body.path-mod .breadcrumb-item,
body.path-mod .breadcrumb-item a {
    color: #334155;
}

body.path-mod #nav-drawer {
    box-shadow: none !important;
}

body.path-mod #nav-drawer.closed,
body.path-mod #nav-drawer.closed + #nav-drawer-footer {
    border-right: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

body.path-mod #nav-drawer-footer,
body.path-mod #nav-drawer:not(.closed) + #nav-drawer-footer,
body.path-mod #nav-drawer.closed + #nav-drawer-footer {
    display: none !important;
}

body.path-mod #region-main [data-region="activity-information"] {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    align-items: stretch;
    gap: 12px 14px;
    margin: 0 0 24px;
    padding: 18px 20px;
    border: 1px solid #d9e5f4;
    border-radius: 22px;
    background: linear-gradient(135deg, #f7fbff 0%, #edf5ff 100%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72);
}

body.path-mod #region-main [data-region="activity-information"] [data-region="activity-dates"] {
    display: flex;
    flex-wrap: wrap;
    gap: 14px 18px;
    width: 100%;
    padding-bottom: 14px;
    margin: 0 !important;
}

body.path-mod #region-main [data-region="activity-information"] [data-region="activity-dates"] > div {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 40px;
    padding: 0 14px;
    border: 1px solid #dbe6f4;
    border-radius: 999px;
    color: #35506e;
    background: rgba(255, 255, 255, 0.88);
    font-size: 13px;
    font-weight: 700;
    line-height: 1.3;
}

body.path-mod #region-main [data-region="activity-information"] [data-region="activity-dates"] strong {
    color: #0f2d64;
    font-weight: 850;
}

body.path-mod #region-main [data-region="completion-info"] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    width: 100%;
    padding-top: 14px;
    border-top: 1px solid #d9e5f4;
}

body.path-mod #region-main [data-region="completion-info"] [data-action="toggle-manual-completion"],
body.path-mod #region-main [data-region="completion-info"] button[data-toggletype="manual:mark-done"][disabled] {
    min-height: 40px;
    padding: 0 16px !important;
    border-radius: 999px !important;
    font-size: 13px;
    font-weight: 850;
}

body.path-mod #region-main [data-region="completion-info"] [data-toggletype="manual:undo"] {
    border-color: #2f9e64 !important;
    color: #166534 !important;
    background: #eefbf3 !important;
}

body.path-mod #region-main [data-region="completion-info"] [data-toggletype="manual:mark-done"] {
    border-color: #8fb4ee !important;
    color: #1d4ed8 !important;
    background: #eff6ff !important;
}

body.path-mod #region-main [data-region="completion-info"] .fa-check {
    margin-right: 6px;
}

body.path-mod #region-main .moove-completion-label {
    display: inline-block;
    vertical-align: middle;
}

body.path-mod #region-main h2 {
    color: #0f172a;
    font-size: clamp(28px, 3.2vw, 44px);
    font-weight: 850;
    line-height: 1.12;
}

body.path-mod #region-main hr {
    margin: 26px 0;
    border-color: #e1eaf5;
}

body.path-mod #region-main p,
body.path-mod #region-main li {
    color: #1f334d;
    line-height: 1.7;
}

body.path-mod #region-main a {
    text-decoration-color: rgba(37, 99, 235, 0.35);
    text-decoration-thickness: 1px;
}

body.path-mod #region-main #intro,
body.path-mod #region-main .mod_introbox {
    margin: 0 0 24px;
    padding: 22px 24px;
    border: 1px solid #e3ebf6;
    border-radius: 20px;
    background: #fafdff;
}

body#page-mod-assign-view .submissionstatustable {
    margin-top: 28px;
}

body#page-mod-assign-view .submissionstatustable > h3 {
    margin: 0 0 16px;
    color: #0f172a;
    font-size: clamp(24px, 2.5vw, 32px);
    font-weight: 850;
    line-height: 1.18;
}

body#page-mod-assign-view .submissionsummarytable {
    margin: 0;
    overflow: hidden;
    border: 1px solid #dbe6f4;
    border-radius: 22px;
    background: #ffffff;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72);
}

body#page-mod-assign-view .submissionsummarytable .generaltable {
    width: 100%;
    margin: 0;
    border-collapse: separate;
    border-spacing: 0;
    background: transparent;
}

body#page-mod-assign-view .submissionsummarytable .generaltable tbody tr td {
    padding: 18px 16px;
    border-top: 1px solid #e8eef7;
    vertical-align: middle;
    background: #ffffff;
}

body#page-mod-assign-view .submissionsummarytable .generaltable tbody tr:first-child td {
    border-top: 0;
}

body#page-mod-assign-view .submissionsummarytable .generaltable tbody tr td.c0 {
    width: 30%;
    min-width: 180px;
    color: #0f2d64;
    background: #f7faff;
    font-weight: 850;
}

body#page-mod-assign-view .submissionsummarytable .generaltable tbody tr td.c1 {
    color: #1e293b;
    font-weight: 600;
}

body#page-mod-assign-view td.submissionstatus,
body#page-mod-assign-view td.submissionstatusdraft,
body#page-mod-assign-view td.submissionstatussubmitted,
body#page-mod-assign-view td.submissionlocked,
body#page-mod-assign-view td.submissionreopened,
body#page-mod-assign-view td.submissiongraded,
body#page-mod-assign-view td.submissionnotgraded,
body#page-mod-assign-view td.latesubmission,
body#page-mod-assign-view td.earlysubmission,
body#page-mod-assign-view td.overdue {
    font-weight: 850 !important;
}

body#page-mod-assign-view td.submissionstatus,
body#page-mod-assign-view td.submissionnotgraded,
body#page-mod-assign-view td.submissionreopened {
    color: #334155 !important;
    background: #f4f7fb !important;
}

body#page-mod-assign-view td.submissionstatusdraft,
body#page-mod-assign-view td.submissionlocked {
    color: #7a5518 !important;
    background: #fff7e6 !important;
}

body#page-mod-assign-view td.submissionstatussubmitted,
body#page-mod-assign-view td.submissiongraded,
body#page-mod-assign-view td.earlysubmission {
    color: #166534 !important;
    background: #eefbf3 !important;
}

body#page-mod-assign-view td.latesubmission,
body#page-mod-assign-view td.overdue {
    color: #b42318 !important;
    background: #fff1f2 !important;
}

body#page-mod-assign-view .submissionaction {
    margin-top: 18px;
    padding: 20px 22px;
    border: 1px solid #dbe6f4;
    border-radius: 20px;
    background: #f8fbff;
}

body#page-mod-assign-view .submissionaction .singlebutton {
    margin: 0;
}

body.path-mod #region-main .singlebutton .btn,
body.path-mod #region-main .singlebutton button,
body.path-mod #region-main .singlebutton input[type="submit"] {
    min-height: 44px;
    padding: 0 22px;
    border: 0;
    border-radius: 999px;
    color: #ffffff;
    background: linear-gradient(135deg, #2563eb 0%, #2f80ed 100%);
    box-shadow: 0 12px 24px rgba(37, 99, 235, 0.18);
    font-size: 15px;
    font-weight: 850;
    line-height: 44px;
    -webkit-text-fill-color: #ffffff;
}

body.path-mod #region-main .singlebutton .btn:hover,
body.path-mod #region-main .singlebutton button:hover,
body.path-mod #region-main .singlebutton input[type="submit"]:hover {
    color: #ffffff !important;
    transform: translateY(-1px);
    box-shadow: 0 14px 28px rgba(37, 99, 235, 0.22);
    -webkit-text-fill-color: #ffffff;
}

body#page-mod-assign-view .submithelp {
    margin-top: 14px;
    padding: 0;
    color: #5b6d85;
    background: transparent;
    font-size: 14px;
    line-height: 1.6;
}

body#page-mod-assign-view .commentscontainer {
    margin-top: 8px;
}

body#page-mod-assign-view .commentscontainer .mdl-left {
    float: none;
    width: 100%;
}

body#page-mod-assign-view .commentscontainer .showcommentsnonjs {
    display: none;
}

body#page-mod-assign-view .commentscontainer .comment-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 44px;
    padding: 0 16px;
    border: 1px solid #d8e5f4;
    border-radius: 16px;
    background: linear-gradient(135deg, #ffffff 0%, #f7fbff 100%);
    color: #1d4ed8 !important;
    text-decoration: none !important;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06);
    font-size: 15px;
    font-weight: 800;
    transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

body#page-mod-assign-view .commentscontainer .comment-link:hover {
    border-color: #bfd2ec;
    box-shadow: 0 14px 28px rgba(15, 23, 42, 0.1);
    transform: translateY(-1px);
}

body#page-mod-assign-view .commentscontainer .comment-link img.icon {
    width: 16px;
    height: 16px;
}

body#page-mod-assign-view .commentscontainer .comment-ctrl {
    margin-top: 14px;
}

body#page-mod-assign-view .commentscontainer .comment-area {
    display: flex;
    max-width: 620px;
    flex-direction: column;
    gap: 14px;
    padding: 18px;
    border: 1px solid #dbe6f4;
    border-radius: 20px;
    background: linear-gradient(180deg, #fbfdff 0%, #f4f8ff 100%);
}

body#page-mod-assign-view .commentscontainer .comment-area .db {
    width: 100%;
}

body#page-mod-assign-view .commentscontainer .comment-area textarea {
    width: 100%;
    min-height: 132px;
    padding: 16px 18px;
    border: 1px solid #d4e0f1;
    border-radius: 16px;
    background: #ffffff;
    color: #64748b;
    box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.03);
    font-size: 15px;
    line-height: 1.65;
    resize: vertical;
}

body#page-mod-assign-view .commentscontainer .comment-area textarea:focus {
    outline: none;
    border-color: #8fb4ee;
    color: #0f172a;
    box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.12);
}

body#page-mod-assign-view .commentscontainer .comment-area .fd {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

body#page-mod-assign-view .commentscontainer .comment-area .fd > span {
    display: none;
}

body#page-mod-assign-view .commentscontainer .comment-area .fd a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0 18px;
    border: 1px solid #d2dff1;
    border-radius: 999px;
    text-decoration: none !important;
    font-size: 14px;
    font-weight: 800;
    transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease, background-color 0.18s ease;
}

body#page-mod-assign-view .commentscontainer .comment-area .fd a:first-child {
    border-color: transparent;
    color: #ffffff !important;
    background: linear-gradient(135deg, #2563eb 0%, #2f80ed 100%);
    box-shadow: 0 12px 24px rgba(37, 99, 235, 0.18);
}

body#page-mod-assign-view .commentscontainer .comment-area .fd a:first-child:hover {
    transform: translateY(-1px);
    box-shadow: 0 14px 28px rgba(37, 99, 235, 0.22);
}

body#page-mod-assign-view .commentscontainer .comment-area .fd a:last-child {
    color: #35506e !important;
    background: #ffffff;
}

body#page-mod-assign-view .commentscontainer .comment-area .fd a:last-child:hover {
    border-color: #bfd2ec;
    background: #f8fbff;
}

body.path-mod .moove-activity-navigation-slim {
    display: flex;
    justify-content: flex-end;
    width: 100%;
    max-width: 1160px;
    margin: 26px auto 6px;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

body.path-mod .moove-next-activity {
    display: inline-flex;
    width: min(100%, 360px);
    min-width: min(100%, 360px);
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    min-height: 64px;
    padding: 10px 24px;
    border: 0 !important;
    border-radius: 22px;
    background: linear-gradient(135deg, #2563eb 0%, #2f80ed 100%) !important;
    background-color: #2563eb !important;
    background-image: linear-gradient(135deg, #2563eb 0%, #2f80ed 100%) !important;
    color: #ffffff !important;
    text-decoration: none !important;
    box-shadow: 0 12px 24px rgba(37, 99, 235, 0.18) !important;
    transition: box-shadow 0.18s ease, transform 0.18s ease, background-color 0.18s ease;
    -webkit-text-fill-color: #ffffff !important;
    opacity: 1 !important;
    filter: none !important;
}

body.path-mod .moove-next-activity:hover {
    color: #ffffff !important;
    background: linear-gradient(135deg, #255de0 0%, #2b74dc 100%) !important;
    background-color: #255de0 !important;
    background-image: linear-gradient(135deg, #255de0 0%, #2b74dc 100%) !important;
    box-shadow: 0 14px 28px rgba(37, 99, 235, 0.22) !important;
    transform: translateY(-1px);
    -webkit-text-fill-color: #ffffff !important;
}

body.path-mod .moove-next-activity__eyebrow {
    color: rgba(255, 255, 255, 0.76) !important;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.2;
    text-align: center;
    -webkit-text-fill-color: rgba(255, 255, 255, 0.76) !important;
}

body.path-mod .moove-next-activity__title {
    color: #ffffff !important;
    font-size: 16px;
    font-weight: 850;
    line-height: 1.3;
    word-break: break-word;
    text-align: center;
    -webkit-text-fill-color: #ffffff !important;
}

body.path-mod .activity-navigation {
    width: 100%;
    max-width: 1160px;
    margin: 26px auto 6px;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

body.path-mod .activity-navigation .card-body {
    display: flex;
    justify-content: flex-end;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

body.path-mod .activity-navigation .mdl-align,
body.path-mod .activity-navigation form,
body.path-mod .activity-navigation select.custom-select,
body.path-mod .activity-navigation .custom-select,
body.path-mod .activity-navigation .moove-activity-jump {
    display: none !important;
}

body.path-mod .activity-navigation.is-next-only #prev-activity,
body.path-mod .activity-navigation.is-prev-only #next-activity {
    display: none !important;
}

body.path-mod .activity-navigation #prev-activity,
body.path-mod .activity-navigation #next-activity {
    float: none !important;
    width: auto !important;
    max-width: 100%;
    text-align: right;
}

body.path-mod .activity-navigation #prev-activity {
    text-align: left;
    margin-right: auto;
}

body.path-mod .activity-navigation #next-activity {
    margin-left: auto;
}

body.path-mod .activity-navigation .nav-guide,
body.path-mod .activity-navigation .moove-activity-nav__eyebrow,
body.path-mod .moove-next-activity__eyebrow {
    display: block;
    margin-bottom: 2px;
    color: rgba(255, 255, 255, 0.76) !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    text-align: center;
    -webkit-text-fill-color: rgba(255, 255, 255, 0.76);
}

body.path-mod .activity-navigation a {
    display: inline-flex;
    width: min(100%, 360px);
    min-width: min(100%, 360px);
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    min-height: 92px;
    padding: 18px 24px;
    border: 0;
    border-radius: 22px;
    background: linear-gradient(135deg, #2563eb 0%, #2f80ed 100%);
    color: #ffffff !important;
    text-decoration: none !important;
    box-shadow: 0 12px 24px rgba(37, 99, 235, 0.18);
    transition: box-shadow 0.18s ease, transform 0.18s ease, background-color 0.18s ease;
    -webkit-text-fill-color: #ffffff;
    opacity: 1 !important;
    font-size: 18px !important;
    font-weight: 850 !important;
    line-height: 1.3 !important;
    text-align: center !important;
}

body.path-mod .activity-navigation a:hover {
    color: #ffffff !important;
    box-shadow: 0 14px 28px rgba(37, 99, 235, 0.22);
    transform: translateY(-1px);
    -webkit-text-fill-color: #ffffff;
}

body.path-mod .activity-navigation .row {
    align-items: stretch;
    margin: 0 !important;
}

body.path-mod .activity-navigation .col-md-4 {
    display: flex;
    margin-bottom: 12px;
    padding: 0 !important;
}

body.path-mod .activity-navigation .float-left,
body.path-mod .activity-navigation .float-right,
body.path-mod .activity-navigation .mdl-align {
    display: flex;
    width: 100%;
    float: none !important;
}

body.path-mod .activity-navigation .moove-activity-nav__link {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    justify-content: center;
    gap: 6px;
    min-height: 92px;
    padding: 16px 18px;
    border: 1px solid #dbe6f4;
    border-radius: 20px;
    background: #f8fbff;
    color: #0f172a !important;
    text-decoration: none !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72);
    transition: border-color 0.18s ease, background 0.18s ease, transform 0.18s ease;
}

body.path-mod .activity-navigation .moove-activity-nav__link:hover {
    border-color: #bfd2ec;
    background: #f3f8ff;
    transform: translateY(-1px);
}

body.path-mod .activity-navigation .moove-activity-nav__link.is-next {
    align-items: flex-end;
    text-align: right;
}

body.path-mod .activity-navigation .moove-activity-nav__eyebrow {
    color: #5b6d85;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.2;
}

body.path-mod .activity-navigation .moove-activity-nav__title {
    color: #ffffff !important;
    font-size: 18px !important;
    font-weight: 850 !important;
    line-height: 1.3 !important;
    word-break: break-word;
    text-align: center;
    -webkit-text-fill-color: #ffffff;
}

body.path-mod .activity-navigation .moove-activity-jump {
    position: relative;
    width: 100%;
}

body.path-mod .activity-navigation .moove-activity-jump__toggle {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 92px;
    padding: 16px 48px 16px 18px;
    border: 1px solid #dbe6f4;
    border-radius: 20px;
    background: #ffffff;
    color: #1e293b;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72);
    font-size: 16px;
    font-weight: 850;
    line-height: 1.32;
    text-align: left;
    cursor: pointer;
}

body.path-mod .activity-navigation .moove-activity-jump__toggle::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 18px;
    width: 10px;
    height: 10px;
    border-right: 2px solid #2a4c91;
    border-bottom: 2px solid #2a4c91;
    transform: translateY(-70%) rotate(45deg);
    transition: transform 0.18s ease;
}

body.path-mod .activity-navigation .moove-activity-jump.is-open .moove-activity-jump__toggle::after {
    transform: translateY(-30%) rotate(-135deg);
}

body.path-mod .activity-navigation .moove-activity-jump__menu {
    position: absolute;
    top: calc(100% + 10px);
    left: 0;
    z-index: 40;
    display: none;
    width: 100%;
    max-height: 320px;
    overflow: auto;
    padding: 10px;
    border: 1px solid #dbe6f4;
    border-radius: 22px;
    background: #ffffff;
    box-shadow: 0 18px 38px rgba(18, 47, 80, 0.14);
}

body.path-mod .activity-navigation .moove-activity-jump.is-open .moove-activity-jump__menu {
    display: block;
}

body.path-mod .activity-navigation .moove-activity-jump__item {
    display: block;
    padding: 14px 16px;
    border-radius: 16px;
    color: #1e293b;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.3;
    text-decoration: none !important;
}

body.path-mod .activity-navigation .moove-activity-jump__item:hover,
body.path-mod .activity-navigation .moove-activity-jump__item:focus,
body.path-mod .activity-navigation .moove-activity-jump__item.is-current {
    color: #1e40af;
    background: #eef4ff;
}

body.path-mod .activity-navigation .moove-native-select-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    border: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

@media (max-width: 767.98px) {
    body.path-mod #page-content {
        padding: 0 10px;
    }

    body.path-mod #region-main > .card.page-surface,
    body.path-mod .page-context-header,
    body.path-mod #region-main [data-region="activity-information"],
    body#page-mod-assign-view .submissionsummarytable,
    body#page-mod-assign-view .submissionaction,
    body.path-mod .activity-navigation,
    body.path-mod .activity-navigation .moove-activity-nav__link,
    body.path-mod .activity-navigation .moove-activity-jump__toggle,
    body.path-mod .activity-navigation .moove-activity-jump__menu {
        border-radius: 18px !important;
    }

    body.path-mod #region-main [data-region="activity-information"] {
        align-items: flex-start;
        flex-direction: column;
    }

    body.path-mod #region-main [data-region="completion-info"] {
        justify-content: stretch;
    }

    body.path-mod #region-main [data-region="completion-info"] [data-action="toggle-manual-completion"],
    body.path-mod #region-main [data-region="completion-info"] button[data-toggletype="manual:mark-done"][disabled] {
        width: 100%;
        justify-content: center;
    }

    body.path-mod .moove-activity-navigation-slim {
        margin-top: 20px;
        justify-content: stretch;
    }

    body.path-mod .moove-next-activity {
        width: 100%;
        min-width: 0;
        border-radius: 18px !important;
    }

    body.path-mod .activity-navigation .col-md-4 {
        margin-bottom: 10px;
    }

    body.path-mod .activity-navigation .moove-activity-nav__link,
    body.path-mod .activity-navigation .moove-activity-jump__toggle {
        min-height: 78px;
    }

    body#page-mod-assign-view .submissionsummarytable .generaltable,
    body#page-mod-assign-view .submissionsummarytable .generaltable tbody,
    body#page-mod-assign-view .submissionsummarytable .generaltable tr,
    body#page-mod-assign-view .submissionsummarytable .generaltable td {
        display: block;
        width: 100% !important;
    }

    body#page-mod-assign-view .submissionsummarytable .generaltable tbody tr {
        border-top: 1px solid #e8eef7;
    }

    body#page-mod-assign-view .submissionsummarytable .generaltable tbody tr:first-child {
        border-top: 0;
    }

    body#page-mod-assign-view .submissionsummarytable .generaltable tbody tr td {
        border-top: 0;
    }

    body#page-mod-assign-view .submissionsummarytable .generaltable tbody tr td.c0 {
        padding-bottom: 6px;
    }

    body#page-mod-assign-view .submissionsummarytable .generaltable tbody tr td.c1 {
        padding-top: 0;
    }
}

#page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="filter"] > .dropdown,
#page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="filter"] > .d-flex {
    margin: 0 !important;
}

#page-my-index .block_myoverview .myoverview-filter {
    position: relative;
    flex: 0 0 auto;
}

#page-my-index .block_myoverview .myoverview-filter-grouping {
    width: 252px;
}

#page-my-index .block_myoverview .myoverview-filter-sorting {
    width: 220px;
}

#page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
}

#page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="course-view-content"],
#page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="course-view-content"] > [data-region="paged-content-container"],
#page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="course-view-content"] [data-region="page-container"],
#page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="course-view-content"] [data-region="paged-content-page"],
#page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="course-view-content"] [data-region="empty-message"] {
    width: 100%;
    min-height: var(--dashboard-content-min-height);
}

#page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="course-view-content"],
#page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="course-view-content"] > [data-region="paged-content-container"],
#page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="course-view-content"] [data-region="page-container"] {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
}

#page-my-index .block_myoverview.card,
#page-my-index .block_recentlyaccessedcourses.card {
    min-height: var(--dashboard-panel-min-height);
}

#page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="course-view-content"] [data-region="empty-message"]:not(.hidden) {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    text-align: center;
}

#page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="course-view-content"] [data-region="empty-message"].hidden,
#page-my-index .block_recentlyaccessedcourses [data-region="empty-message"].hidden {
    display: none !important;
}

#page-my-index .block_myoverview .btn-outline-secondary,
#page-my-index .block_recentlyaccessedcourses [data-region="paging-bar-container"] .btn {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    width: 100%;
    min-height: 48px;
    padding: 0 18px;
    border: 1px solid #d5e0f0 !important;
    border-radius: 17px !important;
    background: #ffffff !important;
    color: #172033 !important;
    box-shadow: 0 8px 22px rgba(21, 48, 82, 0.06);
    font-weight: 800;
    line-height: 1.2;
    text-align: left;
}

#page-my-index .block_myoverview .btn-outline-secondary:hover,
#page-my-index .block_myoverview .btn-outline-secondary:focus,
#page-my-index .block_recentlyaccessedcourses [data-region="paging-bar-container"] .btn:hover,
#page-my-index .block_recentlyaccessedcourses [data-region="paging-bar-container"] .btn:focus {
    border-color: #b9c9e2 !important;
    background: #ffffff !important;
    box-shadow: 0 12px 28px rgba(21, 48, 82, 0.10);
    color: #101827 !important;
}

#page-my-index .block_myoverview .btn-outline-secondary .icon,
#page-my-index .block_recentlyaccessedcourses [data-region="paging-bar-container"] .icon {
    margin: 0;
}

#page-my-index .block_myoverview .myoverview-filter-toggle .icon {
    display: none;
}

#page-my-index .block_myoverview .myoverview-filter-label {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

#page-my-index .block_myoverview .btn-outline-secondary.dropdown-toggle::after {
    flex: 0 0 auto;
    margin-left: auto;
    border-top-color: #2457ad;
    transition: transform var(--ui-transition);
}

#page-my-index .block_myoverview .btn-outline-secondary[aria-expanded="true"] {
    border-color: #b8c7dc !important;
    box-shadow: 0 0 0 1px rgba(184, 199, 220, 0.72), 0 12px 26px rgba(21, 48, 82, 0.12);
}

#page-my-index .block_myoverview .btn-outline-secondary[aria-expanded="true"]::after {
    transform: rotate(180deg);
}

#page-my-index .block_myoverview .dropdown-menu {
    width: 100%;
    min-width: 100%;
    margin-top: 8px;
    padding: 6px;
    border: 1px solid #d5e0f0;
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 18px 40px rgba(18, 47, 80, 0.14);
    backdrop-filter: none;
    overflow: hidden;
}

#page-my-index .block_myoverview .dropdown-menu,
#page-my-index .block_myoverview .dropdown-menu li {
    list-style: none !important;
    margin: 0 !important;
}

#page-my-index .block_myoverview .dropdown-menu li {
    padding: 0 !important;
}

#page-my-index .block_myoverview .dropdown-menu ul,
#page-my-index .block_myoverview .dropdown-menu li::before,
#page-my-index .block_myoverview .dropdown-menu li::marker,
#page-my-index .block_myoverview .dropdown-item::before,
#page-my-index .block_myoverview .dropdown-item.active::before,
#page-my-index .block_myoverview .dropdown-item[aria-current="true"]::before {
    content: none !important;
    display: none !important;
}

#page-my-index .block_myoverview .dropdown-menu .dropdown-divider {
    display: none;
    margin: 0;
    padding: 0 !important;
    border-top: 0;
}

#page-my-index .block_myoverview .dropdown-item {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    min-height: 44px;
    margin: 0 0 2px;
    border-radius: 14px;
    color: #172033;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.35;
    width: 100%;
    padding: 11px 14px;
    white-space: normal;
}

#page-my-index .block_myoverview .dropdown-item:hover,
#page-my-index .block_myoverview .dropdown-item:focus,
#page-my-index .block_myoverview .dropdown-item[aria-current="true"] {
    color: #183b82;
    background: #eef2f8;
    box-shadow: none;
}

#page-my-index .block_myoverview .dropdown-menu .moove-hidden-current-item {
    display: list-item !important;
}

#page-my-index .block_myoverview .dropdown-menu .moove-hidden-current-divider {
    display: none !important;
}

#page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="card-deck"] {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--dashboard-course-gap);
    align-items: stretch;
    margin: 0;
}

#page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="card-deck"] .dashboard-card {
    width: auto !important;
    min-width: 0;
    margin: 0 !important;
}

#page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="courses-view"][data-display="list"] [data-region="card-deck"] {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 26px;
    overflow: visible;
}

#page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="courses-view"][data-display="list"] [data-region="card-deck"] .dashboard-card {
    display: grid;
    grid-template-columns: minmax(340px, 42%) minmax(0, 1fr);
    grid-template-rows: auto 1fr auto;
    min-height: 300px;
    border-radius: 30px !important;
    overflow: visible;
    position: relative;
}

#page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="courses-view"][data-display="list"] [data-region="card-deck"] .dashboard-card > a {
    grid-column: 1;
    grid-row: 1 / span 3;
    display: block;
    height: 100%;
}

#page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="courses-view"][data-display="list"] [data-region="card-deck"] .dashboard-card .dashboard-card-img {
    height: 100%;
    min-height: 300px;
    border-radius: 30px 0 0 30px !important;
}

#page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="courses-view"][data-display="list"] [data-region="card-deck"] .dashboard-card .course-info-container {
    grid-column: 2;
    grid-row: 1 / span 2;
    justify-content: flex-start;
    gap: 18px;
    padding: 28px 30px 12px !important;
    position: relative;
}

#page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="courses-view"][data-display="list"] [data-region="card-deck"] .dashboard-card .course-info-container > .d-flex {
    height: 100%;
    gap: 18px;
    min-height: 100%;
    padding-right: 76px;
    position: relative;
}

#page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="courses-view"][data-display="list"] [data-region="card-deck"] .dashboard-card .w-100.text-truncate {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-width: 0;
}

#page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="courses-view"][data-display="list"] [data-region="card-deck"] .dashboard-card .coursename {
    font-size: 1.34rem;
    line-height: 1.38;
}

#page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="courses-view"][data-display="list"] [data-region="card-deck"] .dashboard-card .coursename .multiline {
    -webkit-line-clamp: 3;
}

#page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="courses-view"][data-display="list"] [data-region="card-deck"] .dashboard-card .coursemenubtn {
    width: 42px;
    height: 42px;
    margin-left: 0;
}

#page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="courses-view"][data-display="list"] [data-region="card-deck"] .dashboard-card .dropdown {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 30;
    margin-left: 0 !important;
}

#page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="courses-view"][data-display="list"] [data-region="card-deck"] .dashboard-card .dropdown.show {
    z-index: 60;
}

#page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="courses-view"][data-display="list"] [data-region="card-deck"] .dashboard-card .dropdown-menu {
    top: calc(100% + 10px);
    right: 0;
    left: auto;
}

#page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="courses-view"][data-display="list"] [data-region="card-deck"] .dashboard-card .dashboard-card-footer {
    grid-column: 2;
    grid-row: 3;
    margin-top: 0;
    padding: 0 30px 28px !important;
    background: transparent !important;
}

#page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="courses-view"][data-display="list"] [data-region="card-deck"] .dashboard-card .dashboard-card-footer .small {
    margin-top: 10px;
}

#page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="courses-view"][data-display="list"] [data-region="paged-content-page"] > .list-group,
#page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="courses-view"][data-display="list"] [data-region="paged-content-page"] > .course-list-grid {
    display: grid;
    gap: var(--dashboard-course-gap);
    margin: 0;
    padding: 0;
    list-style: none;
    background: transparent;
    border: 0;
}

#page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="course-view-content"] [data-region="paged-content-page"] > div[role="list"]:not([data-region="card-deck"]) {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--dashboard-course-gap);
    align-items: stretch;
    width: 100%;
    margin: 0;
    padding: 0;
}

#page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="courses-view"][data-display="summary"] [data-region="paged-content-page"] > div[role="list"] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--dashboard-course-gap);
    width: 100%;
    margin: 0;
    padding: 0;
}

#page-my-index .block_myoverview .course-summaryitem {
    height: 100%;
    margin-bottom: 0 !important;
    padding: 0 !important;
    border: 1px solid #dbe6f4;
    border-radius: 24px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    box-shadow: 0 20px 46px rgba(19, 45, 76, 0.10);
    overflow: hidden;
    transition: transform 0.24s ease, box-shadow 0.24s ease;
}

#page-my-index .block_myoverview .course-summaryitem[role="listitem"] {
    min-width: 0;
}

#page-my-index .block_myoverview .course-summaryitem:hover {
    transform: translateY(-6px);
    box-shadow: 0 26px 56px rgba(19, 45, 76, 0.16);
}

#page-my-index .block_myoverview .course-summaryitem > .d-flex {
    display: flex !important;
    flex-direction: column !important;
    height: 100%;
}

#page-my-index .block_myoverview .course-summaryitem > .d-flex > a {
    display: block;
    width: 100%;
    flex: 0 0 auto;
    text-decoration: none !important;
}

#page-my-index .block_myoverview .course-summaryitem .summaryimage {
    display: block;
    width: 100%;
    min-width: 100%;
    height: 210px;
    margin: 0 !important;
    margin-right: 0 !important;
    border-radius: 24px 24px 0 0 !important;
    background-position: center;
    background-size: cover;
    overflow: hidden;
}

#page-my-index .block_myoverview .course-summaryitem .summaryimage::after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background:
        linear-gradient(180deg, rgba(10, 22, 42, 0.02) 0%, rgba(10, 22, 42, 0.16) 100%),
        linear-gradient(135deg, rgba(39, 100, 216, 0.08), rgba(14, 159, 154, 0.02));
}

#page-my-index .block_myoverview .course-summaryitem .align-self-stretch.d-flex.flex-column.w-100 {
    display: flex !important;
    flex: 1 1 auto;
    flex-direction: column;
    padding: 20px 22px 20px;
}

#page-my-index .block_myoverview .course-summaryitem .text-muted.muted {
    display: flex;
    gap: 10px;
    align-items: center;
    margin-bottom: 12px !important;
}

#page-my-index .block_myoverview .course-summaryitem .text-muted.muted .pl-1.pr-1 {
    display: none !important;
}

#page-my-index .block_myoverview .course-summaryitem .categoryname {
    display: inline-flex;
    align-items: center;
    max-width: 100%;
    padding: 7px 12px;
    border: 1px solid rgba(39, 100, 216, 0.10);
    border-radius: 999px;
    background: var(--ui-primary-soft);
    color: var(--ui-primary) !important;
    font-size: 12px;
    font-weight: 800;
}

#page-my-index .block_myoverview .course-summaryitem .d-flex.mb-1 {
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 14px !important;
}

#page-my-index .block_myoverview .course-summaryitem .d-flex.mb-1 > .coursename {
    flex: 1 1 auto;
    min-width: 0;
}

#page-my-index .block_myoverview .course-summaryitem .coursename {
    display: block;
    margin: 0 !important;
    color: var(--ui-heading) !important;
    line-height: 1.45;
}

#page-my-index .block_myoverview .course-summaryitem .coursename h6,
#page-my-index .block_myoverview .course-summaryitem .coursename .h5 {
    display: -webkit-box;
    margin: 0;
    color: inherit !important;
    font-size: 1.08rem;
    font-weight: 800;
    line-height: 1.45;
    max-height: 2.9em;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

#page-my-index .block_myoverview .course-summaryitem .summary {
    margin-top: 2px;
    display: -webkit-box;
    color: #5d7694;
    font-size: 14px;
    line-height: 1.65;
    max-height: 6.6em;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
}

#page-my-index .block_myoverview .course-summaryitem .summary p,
#page-my-index .block_myoverview .course-summaryitem .summary ul,
#page-my-index .block_myoverview .course-summaryitem .summary ol {
    margin-bottom: 0;
}

#page-my-index .block_myoverview .course-summaryitem .ml-auto.mt-auto.w-50.pt-3 {
    width: 100% !important;
    margin-left: 0 !important;
    margin-top: auto !important;
    padding-top: 18px !important;
}

#page-my-index .block_myoverview .course-summaryitem .coursemenubtn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    margin-left: auto;
    border: 1px solid #dce8f7;
    border-radius: 14px;
    background: #f7fbff;
    color: var(--ui-primary) !important;
}

#page-my-index .block_myoverview .course-listitem {
    padding: 0 !important;
    border: 1px solid #dbe6f4 !important;
    border-radius: 28px !important;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    box-shadow: 0 20px 46px rgba(19, 45, 76, 0.10);
    overflow: hidden;
    transition: transform 0.24s ease, box-shadow 0.24s ease;
}

#page-my-index .block_myoverview .course-listitem:hover {
    transform: translateY(-6px);
    box-shadow: 0 26px 56px rgba(19, 45, 76, 0.16);
}

#page-my-index .block_myoverview .course-listitem-shell {
    display: flex;
    min-height: 232px;
    align-items: stretch;
}

#page-my-index .block_myoverview .course-listitem-media-link {
    flex: 0 0 360px;
    width: 360px;
    max-width: 38%;
    text-decoration: none !important;
}

#page-my-index .block_myoverview .course-listitem-media {
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 232px;
    background-position: center;
    background-size: cover;
    overflow: hidden;
}

#page-my-index .block_myoverview .course-listitem-media::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(10, 22, 42, 0.02) 0%, rgba(10, 22, 42, 0.16) 100%),
        linear-gradient(135deg, rgba(39, 100, 216, 0.08), rgba(14, 159, 154, 0.03));
}

#page-my-index .block_myoverview .course-listitem-body {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-width: 0;
    padding: 24px 26px 22px;
}

#page-my-index .block_myoverview .course-listitem-header {
    display: flex;
    gap: 18px;
    align-items: flex-start;
}

#page-my-index .block_myoverview .course-listitem-copy {
    flex: 1 1 auto;
    min-width: 0;
}

#page-my-index .block_myoverview .course-listitem .text-muted.muted {
    display: flex;
    gap: 10px;
    align-items: center;
    margin-bottom: 12px !important;
}

#page-my-index .block_myoverview .course-listitem .text-muted.muted .pl-1.pr-1 {
    display: none !important;
}

#page-my-index .block_myoverview .course-listitem .categoryname {
    display: inline-flex;
    align-items: center;
    max-width: 100%;
    padding: 7px 12px;
    border: 1px solid rgba(39, 100, 216, 0.10);
    border-radius: 999px;
    background: var(--ui-primary-soft);
    color: var(--ui-primary) !important;
    font-size: 12px;
    font-weight: 800;
}

#page-my-index .block_myoverview .course-listitem .coursename {
    display: block;
    margin: 0 !important;
    color: var(--ui-heading) !important;
    text-decoration: none !important;
}

#page-my-index .block_myoverview .course-listitem .course-listitem-title {
    display: -webkit-box;
    overflow: hidden;
    color: inherit !important;
    font-size: 1.24rem;
    font-weight: 800;
    line-height: 1.4;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

#page-my-index .block_myoverview .course-listitem .course-listitem-actions {
    display: flex;
    flex: 0 0 auto;
    align-items: flex-start;
    justify-content: flex-end;
}

#page-my-index .block_myoverview .course-listitem .course-listitem-actions > .dropdown,
#page-my-index .block_myoverview .course-listitem .course-listitem-actions > .ml-auto.dropdown {
    margin-left: 0 !important;
}

#page-my-index .block_myoverview .course-listitem .course-listitem-progress {
    width: 100%;
    margin-top: auto;
    padding-top: 22px;
}

#page-my-index .block_myoverview .course-listitem .coursemenubtn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border: 1px solid #dce8f7;
    border-radius: 14px;
    background: #f7fbff;
    color: var(--ui-primary) !important;
}

#page-my-index .block_myoverview .course-listitem > .row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 40%) 42px;
    gap: 22px;
    align-items: center;
    margin: 0;
    padding: 24px 26px;
}

#page-my-index .block_myoverview .course-listitem > .row > [class*="col-"] {
    max-width: none;
    flex: none;
    width: auto;
    padding: 0 !important;
}

#page-my-index .block_myoverview .course-listitem > .row > .d-flex.align-items-center,
#page-my-index .block_myoverview .course-listitem > .row > [class*="col-"].d-flex.align-items-center {
    align-items: flex-start !important;
}

#page-my-index .block_recentlyaccessedcourses [data-region="paging-bar-container"] {
    justify-content: flex-end;
    margin-bottom: 20px !important;
}

#page-my-index .block_recentlyaccessedcourses [data-region="paging-control-container"] {
    margin-left: auto;
}

#page-my-index .block_recentlyaccessedcourses [data-region="paging-bar"] .pagination {
    display: inline-flex;
    gap: 8px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

#page-my-index .block_recentlyaccessedcourses [data-region="paging-bar"] [data-page],
#page-my-index .block_recentlyaccessedcourses [data-region="paging-bar"] [data-control="first"],
#page-my-index .block_recentlyaccessedcourses [data-region="paging-bar"] [data-control="last"],
#page-my-index .block_recentlyaccessedcourses [data-region="paging-bar"] [data-dots] {
    display: none !important;
}

#page-my-index .block_recentlyaccessedcourses [data-region="paging-bar"] .page-item {
    margin: 0;
    display: block !important;
}

#page-my-index .block_recentlyaccessedcourses [data-region="paging-bar"] .page-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 0;
    border: 1px solid #d8e3f3;
    border-radius: 14px !important;
    background: #ffffff;
    color: var(--ui-primary);
    box-shadow: none;
    opacity: 1;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

#page-my-index .block_recentlyaccessedcourses [data-region="paging-bar"] .page-link:hover,
#page-my-index .block_recentlyaccessedcourses [data-region="paging-bar"] .page-link:focus,
#page-my-index .block_recentlyaccessedcourses [data-region="paging-bar"] .page-link:active {
    border-color: rgba(39, 100, 216, 0.28);
    background: #eef5ff;
    color: var(--ui-primary) !important;
    box-shadow: none;
    outline: 0;
}

#page-my-index .block_recentlyaccessedcourses [data-region="paging-bar"] .page-link .icon,
#page-my-index .block_recentlyaccessedcourses [data-region="paging-bar"] .page-link svg {
    opacity: 1 !important;
    visibility: visible !important;
    color: currentColor !important;
    fill: currentColor;
    stroke: currentColor;
}

#page-my-index .block_recentlyaccessedcourses [data-region="paging-bar"] .page-item.disabled .page-link {
    opacity: 1;
    box-shadow: none;
    background: #f6f8fc;
    color: #9eb5d8 !important;
    border-color: #d8e3f3;
}

#page-my-index .block_recentlyaccessedcourses [data-region="card-deck"] {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: stretch;
    justify-content: flex-start !important;
    gap: 24px;
    padding-bottom: 4px;
    transition: transform 260ms ease, opacity 260ms ease;
    will-change: transform, opacity;
}

#page-my-index .block_recentlyaccessedcourses [data-region="view-content"] {
    overflow: hidden;
    min-height: var(--dashboard-content-min-height);
    width: 100%;
}

#page-my-index .block_recentlyaccessedcourses .block-recentlyaccessedcourses[data-region="recentlyaccessedcourses"] {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
}

#page-my-index .block_recentlyaccessedcourses [data-region="empty-message"]:not(.hidden) {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    min-height: var(--dashboard-content-min-height);
    text-align: center;
}

#page-my-index .block_recentlyaccessedcourses [data-region="card-deck"].moove-recent-slide-out-next {
    transform: translateX(-56px);
    opacity: 0;
}

#page-my-index .block_recentlyaccessedcourses [data-region="card-deck"].moove-recent-slide-out-prev {
    transform: translateX(56px);
    opacity: 0;
}

#page-my-index .block_recentlyaccessedcourses [data-region="card-deck"].moove-recent-slide-prep-next {
    transform: translateX(56px);
    opacity: 0;
}

#page-my-index .block_recentlyaccessedcourses [data-region="card-deck"].moove-recent-slide-prep-prev {
    transform: translateX(-56px);
    opacity: 0;
}

#page-my-index .block_recentlyaccessedcourses .dashboard-card {
    flex: 0 0 calc(50% - 12px);
    width: calc(50% - 12px) !important;
    min-width: 0;
    max-width: none;
    margin: 0 !important;
    box-shadow: none;
}

#page-my-index .dashboard-card {
    display: flex;
    flex-direction: column;
    min-height: 374px;
    overflow: hidden;
    position: relative;
    border-radius: 28px !important;
    border: 1px solid rgba(214, 226, 243, 0.9) !important;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(247, 251, 255, 0.98) 100%) !important;
    box-shadow: 0 24px 54px rgba(19, 45, 76, 0.12);
}

#page-my-index .dashboard-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 32px 72px rgba(19, 45, 76, 0.16);
}

#page-my-index .dashboard-card::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    padding: 1px;
    background: linear-gradient(135deg, rgba(79, 139, 255, 0.16), rgba(22, 184, 169, 0.12), rgba(255, 255, 255, 0));
    -webkit-mask:
        linear-gradient(#fff 0 0) content-box,
        linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
}

#page-my-index .dashboard-card a[href] {
    text-decoration: none !important;
}

#page-my-index .dashboard-card .dashboard-card-img {
    position: relative;
    height: var(--dashboard-cover-height);
    background-position: center;
    background-size: cover;
    border-top-left-radius: inherit !important;
    border-top-right-radius: inherit !important;
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
    overflow: hidden;
}

#page-my-index .dashboard-card .dashboard-card-img::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(10, 22, 42, 0.04) 0%, rgba(10, 22, 42, 0.28) 100%),
        linear-gradient(135deg, rgba(39, 100, 216, 0.10), rgba(14, 159, 154, 0.06));
}

#page-my-index .dashboard-card .course-info-container {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 16px;
    padding: 22px 24px 10px !important;
    border-bottom-left-radius: inherit;
    border-bottom-right-radius: inherit;
}

#page-my-index .dashboard-card .course-info-container > .d-flex {
    align-items: flex-start !important;
}

#page-my-index .dashboard-card .w-100.text-truncate {
    min-width: 0;
    overflow: hidden;
    white-space: normal;
    text-overflow: clip;
}

#page-my-index .dashboard-card .text-muted.muted {
    gap: 10px;
    align-items: center;
    margin-bottom: 16px !important;
}

#page-my-index .dashboard-card .text-muted.muted .pl-1.pr-1 {
    display: none !important;
}

#page-my-index .dashboard-card .categoryname {
    display: inline-flex;
    align-items: center;
    max-width: 100%;
    padding: 8px 13px;
    border: 1px solid rgba(39, 100, 216, 0.12);
    border-radius: 999px;
    background: linear-gradient(180deg, #f5f9ff 0%, #edf5ff 100%);
    color: var(--ui-primary) !important;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.02em;
    text-transform: none;
}

#page-my-index .dashboard-card .coursename {
    display: block;
    max-width: 100%;
    margin: 0 !important;
    color: var(--ui-heading) !important;
    font-size: 1.12rem;
    font-weight: 800;
    line-height: 1.35;
}

#page-my-index .block_recentlyaccessedcourses .dashboard-card .coursename {
    max-height: calc(1.35em * 2);
    overflow: hidden;
    text-overflow: clip;
    word-break: break-word;
    overflow-wrap: anywhere;
}

#page-my-index .dashboard-card .coursename > .text-truncate {
    display: -webkit-box;
    overflow: hidden;
    white-space: normal;
    text-overflow: clip;
    word-break: break-word;
    overflow-wrap: anywhere;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

#page-my-index .dashboard-card .coursename .multiline {
    display: -webkit-box;
    overflow: hidden;
    white-space: normal;
    text-overflow: clip;
    word-break: break-word;
    overflow-wrap: anywhere;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

#page-my-index .dashboard-card .coursename:hover,
#page-my-index .dashboard-card:hover .coursename,
#page-my-index .dashboard-card .coursename:focus {
    color: var(--ui-heading) !important;
}

#page-my-index .dashboard-card .coursename .icon {
    margin-right: 8px;
    color: #f3b331;
}

#page-my-index .dashboard-card .coursemenubtn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    margin-left: 14px;
    border: 1px solid #dce8f7;
    border-radius: 14px;
    background: #f7fbff;
    color: var(--ui-primary) !important;
    box-shadow: none;
}

#page-my-index .dashboard-card .coursemenubtn:hover,
#page-my-index .dashboard-card .coursemenubtn:focus {
    border-color: rgba(39, 100, 216, 0.24);
    background: #eef5ff;
}

#page-my-index .dashboard-card .coursemenubtn .icon {
    margin: 0;
}

#page-my-index .dashboard-card .dropdown-menu {
    margin-top: 10px;
    padding: 8px;
    border: 1px solid #dbe7f5;
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 18px 34px rgba(19, 45, 76, 0.12);
}

#page-my-index .dashboard-card .dropdown-item {
    border-radius: 10px;
    color: #24415f;
    font-weight: 700;
    padding: 10px 14px;
}

#page-my-index .dashboard-card .dropdown-item:hover,
#page-my-index .dashboard-card .dropdown-item:focus {
    color: var(--ui-primary);
    background: #eef5ff;
}

#page-my-index .dashboard-card .dashboard-card-footer {
    margin-top: auto;
    padding: 30px 24px 30px;
    border-top: 0 !important;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #ffffff 32%) !important;
    border-bottom-left-radius: inherit;
    border-bottom-right-radius: inherit;
    overflow: visible;
}

#page-my-index .dashboard-card .dashboard-card-footer .small {
    margin-top: 12px;
    color: #617c99;
    font-size: 13px;
    font-weight: 700;
}

#page-my-index .dashboard-card .progress {
    height: 12px;
    margin-top: 10px;
    border-radius: 999px;
    background: #e6eef8;
    box-shadow: inset 0 1px 2px rgba(15, 35, 62, 0.08);
}

#page-my-index .dashboard-card .progress-bar {
    box-shadow: 0 6px 16px rgba(39, 100, 216, 0.24);
}

#page-my-index .block_recentlyaccessedcourses.card {
    background:
        radial-gradient(circle at 90% 14%, rgba(80, 145, 255, 0.08), transparent 20%),
        linear-gradient(180deg, #ffffff 0%, #fbfdff 100%) !important;
}

#page-my-index .block_recentlyaccessedcourses .card-title,
#page-my-index .block_myoverview .card-title {
    font-size: clamp(1.28rem, 1.08rem + 0.5vw, 1.56rem) !important;
    letter-spacing: -0.03em;
}

#page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="filter"] {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

#page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="filter"] > * {
    min-width: 0;
    margin: 0 !important;
}

#page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="filter"] > .dropdown,
#page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="filter"] > .d-flex {
    position: relative;
}

#page-my-index .block_myoverview .btn-outline-secondary {
    min-height: 54px;
    padding: 0 18px;
    border: 1px solid #d5e1f2 !important;
    border-radius: 20px !important;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.92), 0 8px 18px rgba(20, 46, 83, 0.08);
    color: #2f5fbd !important;
    font-size: 15px;
    font-weight: 800;
}

#page-my-index .block_myoverview .dropdown.show > .btn-outline-secondary,
#page-my-index .block_myoverview .btn-outline-secondary[aria-expanded="true"] {
    border-color: #70839a !important;
    background: linear-gradient(180deg, #ffffff 0%, #f5f8fe 100%) !important;
    box-shadow:
        0 0 0 3px rgba(111, 129, 150, 0.88),
        inset 0 0 0 2px rgba(255, 255, 255, 0.96),
        0 12px 26px rgba(20, 46, 83, 0.12) !important;
}

#page-my-index .block_myoverview #groupingdropdown,
#page-my-index .block_myoverview #sortingdropdown {
    justify-content: flex-start;
    gap: 10px;
}

#page-my-index .block_myoverview .myoverview-filter {
    position: relative;
    min-width: 0;
}

#page-my-index .block_myoverview .myoverview-filter-grouping {
    flex: 0 1 236px;
}

#page-my-index .block_myoverview .myoverview-filter-sorting {
    flex: 0 1 196px;
}

#page-my-index .block_myoverview .myoverview-filter-display {
    flex: 0 1 172px;
}

#page-my-index .block_myoverview .myoverview-filter-toggle {
    display: flex !important;
    align-items: center;
    gap: 10px;
    width: 100%;
}

#page-my-index .block_myoverview .myoverview-filter-label {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

#page-my-index .block_myoverview .myoverview-filter-toggle .icon {
    flex: 0 0 auto;
}

#page-my-index .block_myoverview .myoverview-filter-menu {
    margin-top: 12px;
}

@media (max-width: 991.98px) {
    #page-my-index {
        --dashboard-cover-height: 236px;
    }

    #page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="card-deck"] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="course-view-content"] [data-region="paged-content-page"] > div[role="list"]:not([data-region="card-deck"]) {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="courses-view"][data-display="summary"] [data-region="paged-content-page"] > div[role="list"] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="courses-view"][data-display="list"] [data-region="card-deck"] .dashboard-card {
        grid-template-columns: minmax(280px, 40%) minmax(0, 1fr);
        min-height: 276px;
    }

    #page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="courses-view"][data-display="list"] [data-region="card-deck"] .dashboard-card .dashboard-card-img {
        min-height: 276px;
    }

    #page-my-index .block_myoverview .course-listitem-media-link {
        flex-basis: 300px;
        width: 300px;
        max-width: 42%;
    }

    #page-my-index .block_myoverview .course-listitem > .row {
        grid-template-columns: minmax(0, 1fr) minmax(260px, 38%) 42px;
    }
}

@media (max-width: 767.98px) {
    #page-my-index {
        --dashboard-panel-min-height: 0;
        --dashboard-content-min-height: 420px;
        --dashboard-cover-height: 214px;
    }

    #page-my-index .block_myoverview.card,
    #page-my-index .block_recentlyaccessedcourses.card {
        min-height: 0;
    }

    #page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="filter"] {
        align-items: stretch !important;
    }

    #page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="filter"] > * {
        width: 100%;
    }

    #page-my-index .block_myoverview .btn-outline-secondary {
        justify-content: space-between;
        width: 100%;
    }

    #page-my-index .dashboard-card .dashboard-card-img {
        height: var(--dashboard-cover-height);
    }

    #page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="card-deck"],
    #page-my-index .block_recentlyaccessedcourses [data-region="card-deck"] {
        grid-template-columns: minmax(0, 1fr);
    }

    #page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="course-view-content"] [data-region="paged-content-page"] > div[role="list"]:not([data-region="card-deck"]) {
        grid-template-columns: minmax(0, 1fr);
    }

    #page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="courses-view"][data-display="summary"] [data-region="paged-content-page"] > div[role="list"] {
        grid-template-columns: minmax(0, 1fr);
    }

    #page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="courses-view"][data-display="list"] [data-region="card-deck"] .dashboard-card {
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: auto auto auto;
        min-height: 0;
    }

    #page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="courses-view"][data-display="list"] [data-region="card-deck"] .dashboard-card > a {
        grid-column: 1;
        grid-row: 1;
    }

    #page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="courses-view"][data-display="list"] [data-region="card-deck"] .dashboard-card .dashboard-card-img {
        min-height: 220px;
        border-radius: 30px 30px 0 0 !important;
    }

    #page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="courses-view"][data-display="list"] [data-region="card-deck"] .dashboard-card .course-info-container {
        grid-column: 1;
        grid-row: 2;
        padding: 20px 20px 8px !important;
    }

    #page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="courses-view"][data-display="list"] [data-region="card-deck"] .dashboard-card .course-info-container > .d-flex {
        padding-right: 64px;
    }

    #page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="courses-view"][data-display="list"] [data-region="card-deck"] .dashboard-card .dashboard-card-footer {
        grid-column: 1;
        grid-row: 3;
        padding: 0 20px 20px !important;
    }

    #page-my-index .block_myoverview .course-summaryitem .summaryimage {
        height: 184px;
    }

    #page-my-index .block_recentlyaccessedcourses .dashboard-card {
        flex-basis: 100%;
        width: 100%;
    }

    #page-my-index .block_myoverview .course-listitem-shell {
        flex-direction: column;
        min-height: 0;
    }

    #page-my-index .block_myoverview .course-listitem-media-link {
        width: 100%;
        max-width: none;
        flex-basis: auto;
    }

    #page-my-index .block_myoverview .course-listitem-media {
        min-height: 220px;
    }

    #page-my-index .block_myoverview .course-listitem-body {
        padding: 20px 20px 18px;
    }

    #page-my-index .block_myoverview .course-listitem > .row {
        grid-template-columns: minmax(0, 1fr);
        gap: 14px;
        padding: 20px;
    }
}

/* Dashboard refresh safeguards. Keep the modern cards compact and balanced. */
#page-my-index {
    --dashboard-panel-min-height: 0;
    --dashboard-content-min-height: 0;
    --dashboard-course-gap: 30px;
}

#page-my-index .block_myoverview.card,
#page-my-index .block_recentlyaccessedcourses.card {
    overflow: hidden;
    border: 1px solid #dbe6f4 !important;
    border-radius: 32px !important;
    background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%) !important;
    box-shadow: 0 22px 48px rgba(20, 45, 76, 0.10) !important;
}

#page-my-index .block_myoverview.card > .card-body,
#page-my-index .block_recentlyaccessedcourses.card > .card-body {
    padding: 28px 30px 30px !important;
}

#page-my-index .block_myoverview .card-title,
#page-my-index .block_recentlyaccessedcourses .card-title {
    margin-bottom: 20px !important;
    font-size: clamp(1.18rem, 1rem + 0.35vw, 1.42rem) !important;
}

#page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="course-view-content"],
#page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="course-view-content"] > [data-region="paged-content-container"],
#page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="course-view-content"] [data-region="page-container"],
#page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="course-view-content"] [data-region="paged-content-page"],
#page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="course-view-content"] [data-region="empty-message"],
#page-my-index .block_recentlyaccessedcourses [data-region="view-content"] {
    min-height: 0 !important;
}

#page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="course-view-content"] [data-region="empty-message"]:not(.hidden),
#page-my-index .block_recentlyaccessedcourses [data-region="empty-message"]:not(.hidden) {
    min-height: 340px !important;
}

#page-my-index .block_recentlyaccessedcourses [data-region="card-deck"] {
    gap: 28px !important;
}

#page-my-index .block_recentlyaccessedcourses .dashboard-card,
#page-my-index .block_myoverview .course-summaryitem,
#page-my-index .block_myoverview .course-listitem {
    height: 100%;
}

body:not(.notloggedin) nav.navbar .popover-region .popover-region-content-container {
    min-height: 250px;
}

body:not(.notloggedin) nav.navbar .popover-region .popover-region-content-container .loading-icon,
body:not(.notloggedin) nav.navbar .popover-region .popover-region-content-container .icon-loading {
    margin: 54px auto 0;
}

/* My dashboard app-shell refresh */
#page-my-index #page-content {
    max-width: 1440px;
}

#page-my-index #page-header {
    display: none !important;
}

#page-my-index #region-main > .card,
#page-my-index .mymaincontent {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

#page-my-index #region-main > .card > .card-body,
#page-my-index .mymaincontent > .card-body {
    padding: 0 !important;
}

#page-my-index .dashboard-app-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(320px, 0.8fr);
    gap: 22px;
    align-items: stretch;
    margin-bottom: 30px;
    padding: clamp(24px, 3vw, 34px);
    overflow: hidden;
    border: 1px solid rgba(205, 221, 241, 0.94);
    border-radius: 32px;
    background:
        radial-gradient(circle at 18% 14%, rgba(39, 100, 216, 0.13), transparent 26%),
        radial-gradient(circle at 86% 18%, rgba(14, 159, 154, 0.16), transparent 24%),
        linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(244, 249, 255, 0.95));
    box-shadow: 0 28px 72px rgba(17, 39, 67, 0.12);
}

#page-my-index .dashboard-app-hero__content,
#page-my-index .dashboard-app-hero__visual {
    position: relative;
    z-index: 1;
}

#page-my-index .dashboard-app-hero__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
}

#page-my-index .dashboard-app-hero__eyebrow {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    margin-bottom: 14px;
    padding: 8px 14px;
    border: 1px solid rgba(39, 100, 216, 0.12);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.72);
    color: var(--ui-primary);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

#page-my-index .dashboard-app-hero__title {
    margin: 0;
    color: var(--ui-heading);
    font-size: clamp(2rem, 1.35rem + 1.8vw, 3.4rem);
    font-weight: 900;
    letter-spacing: -0.05em;
    line-height: 1.02;
}

#page-my-index .dashboard-app-hero__lead {
    max-width: 700px;
    margin: 16px 0 0;
    color: #5f7591;
    font-size: 1.02rem;
    line-height: 1.75;
}

#page-my-index .dashboard-app-hero__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 22px;
}

#page-my-index .dashboard-app-hero__actions {
    display: flex;
    flex: 1 0 100%;
    justify-content: flex-start;
    margin-top: 8px;
}

#page-my-index .dashboard-app-hero__actions .singlebutton,
#page-my-index .dashboard-app-hero__actions form {
    margin: 0;
}

#page-my-index .dashboard-app-hero__actions .btn,
#page-my-index .dashboard-app-hero__actions input[type="submit"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0 18px;
    border: 0;
    border-radius: 16px;
    background: linear-gradient(135deg, var(--ui-primary), #4f8bff);
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff;
    text-shadow: 0 1px 0 rgba(14, 37, 67, 0.18);
    box-shadow: 0 18px 34px rgba(39, 100, 216, 0.22);
    font-weight: 800;
}

#page-my-index .dashboard-app-hero__actions .btn:hover,
#page-my-index .dashboard-app-hero__actions .btn:focus,
#page-my-index .dashboard-app-hero__actions .btn:active,
#page-my-index .dashboard-app-hero__actions .btn.active,
#page-my-index .dashboard-app-hero__actions .btn:not(:disabled):not(.disabled):active,
#page-my-index .dashboard-app-hero__actions input[type="submit"]:hover,
#page-my-index .dashboard-app-hero__actions input[type="submit"]:focus,
#page-my-index .dashboard-app-hero__actions input[type="submit"]:active {
    background: linear-gradient(135deg, var(--ui-primary-hover), #3b79ee);
    background-color: var(--ui-primary-hover) !important;
    border-color: transparent !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff;
    text-shadow: 0 1px 0 rgba(14, 37, 67, 0.22);
    box-shadow: 0 18px 34px rgba(39, 100, 216, 0.22);
}

#page-my-index .dashboard-app-hero__actions .btn *,
#page-my-index .dashboard-app-hero__actions input[type="submit"] {
    color: inherit !important;
}

#page-my-index .dashboard-app-hero__chip {
    display: inline-flex;
    align-items: center;
    padding: 10px 14px;
    border: 1px solid rgba(216, 227, 243, 0.92);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.88);
    color: #375273;
    font-size: 13px;
    font-weight: 800;
    box-shadow: 0 12px 28px rgba(19, 45, 76, 0.08);
}

#page-my-index .dashboard-app-hero__visual {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 250px;
}

#page-my-index .dashboard-app-hero__orb {
    position: absolute;
    border-radius: 999px;
    filter: blur(0);
}

#page-my-index .dashboard-app-hero__orb--large {
    width: 280px;
    height: 280px;
    background: radial-gradient(circle at 30% 30%, rgba(79, 139, 255, 0.44), rgba(79, 139, 255, 0.05) 68%, rgba(79, 139, 255, 0) 72%);
    animation: dashboardHeroFloat 8s ease-in-out infinite;
}

#page-my-index .dashboard-app-hero__orb--small {
    top: 12%;
    right: 14%;
    width: 134px;
    height: 134px;
    background: radial-gradient(circle at 30% 30%, rgba(22, 184, 169, 0.34), rgba(22, 184, 169, 0.04) 70%, rgba(22, 184, 169, 0) 74%);
    animation: dashboardHeroFloat 6.5s ease-in-out infinite reverse;
}

#page-my-index .dashboard-app-hero__glass {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: min(100%, 320px);
    padding: 26px 24px;
    border: 1px solid rgba(255, 255, 255, 0.54);
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.54);
    box-shadow: 0 26px 70px rgba(18, 43, 73, 0.16);
    backdrop-filter: blur(18px);
}

#page-my-index .dashboard-app-hero__glass-tag {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    padding: 7px 12px;
    border-radius: 999px;
    background: rgba(39, 100, 216, 0.10);
    color: var(--ui-primary);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

#page-my-index .dashboard-app-hero__glass-title {
    color: #0f2948;
    font-size: clamp(1.8rem, 1.35rem + 1vw, 2.5rem);
    font-weight: 900;
    letter-spacing: -0.04em;
}

#page-my-index .dashboard-app-hero__glass-copy {
    color: #5e7694;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.01em;
}

#page-my-index .block.block_myoverview,
#page-my-index .block.block_recentlyaccessedcourses {
    margin-bottom: 30px;
}

#page-my-index .block_myoverview.card,
#page-my-index .block_recentlyaccessedcourses.card {
    backdrop-filter: blur(14px);
}

#page-my-index .block_myoverview .card-title,
#page-my-index .block_recentlyaccessedcourses .card-title {
    position: relative;
    padding-bottom: 14px;
}

#page-my-index .block_myoverview .card-title::after,
#page-my-index .block_recentlyaccessedcourses .card-title::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 68px;
    height: 4px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--ui-primary), var(--ui-accent));
}

#page-my-index .dashboard-card,
#page-my-index .block_myoverview .course-summaryitem,
#page-my-index .block_myoverview .course-listitem {
    box-shadow: 0 18px 48px rgba(17, 39, 67, 0.10);
}

#page-my-index .dashboard-card .dashboard-card-img::before,
#page-my-index .block_myoverview .course-summaryitem .summaryimage::before,
#page-my-index .block_myoverview .course-listitem-media::before {
    content: "";
    position: absolute;
    inset: auto 16px 16px auto;
    width: 74px;
    height: 74px;
    border-radius: 22px;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.26), rgba(255, 255, 255, 0.02));
    backdrop-filter: blur(10px);
    opacity: 0.78;
}

#page-my-index .block_myoverview .btn-outline-secondary,
#page-my-index .block_recentlyaccessedcourses [data-region="paging-bar-container"] .btn {
    min-height: 48px;
    padding: 0 18px;
    border-radius: 16px !important;
}

#page-my-index .block_myoverview .dropdown-menu,
#page-my-index .dashboard-card .dropdown-menu {
    backdrop-filter: blur(18px);
}

@keyframes dashboardHeroFloat {
    0%,
    100% {
        transform: translate3d(0, 0, 0) scale(1);
    }

    50% {
        transform: translate3d(0, -12px, 0) scale(1.02);
    }
}

@media (max-width: 991.98px) {
    #page-my-index .dashboard-app-hero {
        grid-template-columns: minmax(0, 1fr);
    }

    #page-my-index .dashboard-app-hero__visual {
        min-height: 220px;
    }
}

@media (max-width: 767.98px) {
    #page-my-index .dashboard-app-hero {
        gap: 18px;
        padding: 22px 18px;
        border-radius: 24px;
    }

    #page-my-index .dashboard-app-hero__lead {
        font-size: 0.96rem;
        line-height: 1.7;
    }

    #page-my-index .dashboard-app-hero__actions {
        margin-top: 2px;
    }

    #page-my-index .dashboard-app-hero__visual {
        min-height: 180px;
    }

    #page-my-index .dashboard-app-hero__orb--large {
        width: 220px;
        height: 220px;
    }

    #page-my-index .dashboard-app-hero__glass {
        width: 100%;
        padding: 20px 18px;
        border-radius: 22px;
    }
}

@media (max-width: 991.98px) {
    #page-my-index {
        --dashboard-course-gap: 24px;
    }

    #page-my-index #page-content {
        padding-left: 16px;
        padding-right: 16px;
    }

    #page-my-index .dashboard-app-hero {
        margin-bottom: 26px;
    }

    #page-my-index .block_recentlyaccessedcourses [data-region="card-deck"],
    #page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="card-deck"],
    #page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="course-view-content"] [data-region="paged-content-page"] > div[role="list"]:not([data-region="card-deck"]),
    #page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="courses-view"][data-display="summary"] [data-region="paged-content-page"] > div[role="list"] {
        gap: 22px !important;
    }
}

@media (max-width: 767.98px) {
    #page-my-index {
        --dashboard-course-gap: 18px;
        --dashboard-cover-height: 200px;
    }

    #page-my-index #page-content {
        padding-left: 12px;
        padding-right: 12px;
    }

    #page-my-index .dashboard-app-hero {
        margin-bottom: 24px;
        padding: 20px 16px;
        border-radius: 24px;
    }

    #page-my-index .dashboard-app-hero__title {
        font-size: clamp(2.05rem, 10.8vw, 3rem);
    }

    #page-my-index .dashboard-app-hero__lead {
        max-width: none;
        margin-top: 12px;
        font-size: 0.94rem;
        line-height: 1.65;
    }

    #page-my-index .dashboard-app-hero__chips {
        gap: 8px;
        margin-top: 18px;
    }

    #page-my-index .dashboard-app-hero__chip {
        padding: 9px 12px;
        font-size: 12px;
    }

    #page-my-index .dashboard-app-hero__actions {
        width: 100%;
    }

    #page-my-index .dashboard-app-hero__actions .singlebutton,
    #page-my-index .dashboard-app-hero__actions form {
        width: 100%;
    }

    #page-my-index .dashboard-app-hero__actions .btn,
    #page-my-index .dashboard-app-hero__actions input[type="submit"] {
        width: 100%;
        min-height: 46px;
        padding: 0 16px;
    }

    #page-my-index .dashboard-app-hero__visual {
        min-height: 160px;
    }

    #page-my-index .dashboard-app-hero__glass {
        width: 100%;
        max-width: none;
        gap: 10px;
        padding: 18px 16px;
        border-radius: 22px;
    }

    #page-my-index .dashboard-app-hero__glass-title {
        font-size: clamp(1.8rem, 9vw, 2.3rem);
    }

    #page-my-index .block_myoverview.card,
    #page-my-index .block_recentlyaccessedcourses.card {
        margin-bottom: 24px;
        border-radius: 24px !important;
    }

    #page-my-index .block_myoverview.card > .card-body,
    #page-my-index .block_recentlyaccessedcourses.card > .card-body {
        padding: 20px 16px 22px !important;
    }

    #page-my-index .block_myoverview .card-title,
    #page-my-index .block_recentlyaccessedcourses .card-title {
        margin-bottom: 18px !important;
        padding-bottom: 12px;
        font-size: 1.18rem !important;
    }

    #page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="filter"] {
        gap: 10px;
        margin-bottom: 18px;
    }

    #page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="filter"] > .dropdown,
    #page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="filter"] > .d-flex,
    #page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="filter"] > * {
        width: 100%;
        min-width: 0;
    }

    #page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="filter"] > .d-flex {
        display: block !important;
    }

    #page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="filter"] > .d-flex > .dropdown {
        width: 100%;
    }

    #page-my-index .block_myoverview .myoverview-filter {
        width: 100%;
    }

    #page-my-index .block_myoverview .btn-outline-secondary {
        min-height: 46px;
        padding: 0 14px;
        border-radius: 14px !important;
        font-size: 14px;
    }

    #page-my-index .block_myoverview .dropdown-menu {
        width: min(100%, calc(100vw - 40px));
        min-width: 0;
        padding: 12px 8px;
        border-radius: 20px;
    }

    #page-my-index .block_myoverview .dropdown-item {
        min-height: 42px;
        padding: 11px 12px;
        font-size: 14px;
    }

    #page-my-index .block_recentlyaccessedcourses [data-region="card-deck"],
    #page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="card-deck"],
    #page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="course-view-content"] [data-region="paged-content-page"] > div[role="list"]:not([data-region="card-deck"]),
    #page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="courses-view"][data-display="summary"] [data-region="paged-content-page"] > div[role="list"] {
        gap: 18px !important;
    }

    #page-my-index .dashboard-card,
    #page-my-index .block_myoverview .course-summaryitem,
    #page-my-index .block_myoverview .course-listitem {
        border-radius: 24px !important;
    }

    #page-my-index .dashboard-card .dashboard-card-img,
    #page-my-index .block_recentlyaccessedcourses .dashboard-card .dashboard-card-img {
        height: 200px;
        min-height: 200px;
        border-radius: 24px 24px 0 0 !important;
    }

    #page-my-index .dashboard-card .course-info-container {
        padding: 18px 16px 12px;
    }

    #page-my-index .dashboard-card .course-info-container > .d-flex {
        align-items: flex-start;
        gap: 10px;
    }

    #page-my-index .dashboard-card .coursename {
        font-size: 1.18rem;
        line-height: 1.3;
    }

    #page-my-index .dashboard-card .coursename .multiline {
        -webkit-line-clamp: 3;
    }

    #page-my-index .dashboard-card .dashboard-card-footer {
        padding: 0 16px 18px !important;
    }

    #page-my-index .dashboard-card .dashboard-card-footer .small {
        font-size: 13px;
    }

    #page-my-index .dashboard-card .progress {
        height: 10px;
    }

    #page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="courses-view"][data-display="list"] [data-region="card-deck"] .dashboard-card {
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: auto auto auto;
        min-height: 0;
    }

    #page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="courses-view"][data-display="list"] [data-region="card-deck"] .dashboard-card .course-info-container {
        padding: 18px 16px 10px !important;
    }

    #page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="courses-view"][data-display="list"] [data-region="card-deck"] .dashboard-card .dashboard-card-footer {
        padding: 0 16px 18px !important;
    }

    #page-my-index .block_myoverview .course-summaryitem > .d-flex {
        flex-direction: column;
    }

    #page-my-index .block_myoverview .course-summaryitem .summaryimage {
        width: 100%;
        height: 190px;
        border-radius: 22px 22px 0 0;
    }

    #page-my-index .block_myoverview .course-summaryitem .align-self-stretch.d-flex.flex-column.w-100 {
        padding: 18px 16px 18px;
    }

    #page-my-index .block_myoverview .course-summaryitem .d-flex.mb-1 {
        align-items: flex-start;
        gap: 10px;
    }

    #page-my-index .block_myoverview .course-summaryitem .ml-auto.mt-auto.w-50.pt-3 {
        width: 100% !important;
        margin-left: 0 !important;
        padding-top: 16px;
    }

    #page-my-index .block_myoverview .course-listitem-shell {
        flex-direction: column;
    }

    #page-my-index .block_myoverview .course-listitem-media {
        min-height: 190px;
        border-radius: 22px 22px 0 0;
    }

    #page-my-index .block_myoverview .course-listitem-body {
        padding: 18px 16px;
    }

    #page-my-index .block_myoverview .course-listitem-header {
        align-items: flex-start;
        gap: 10px;
    }

    #page-my-index .block_myoverview .course-listitem-title {
        font-size: 1.05rem;
    }

    #page-my-index .block_recentlyaccessedcourses [data-region="paging-bar-container"] {
        margin-top: 18px;
    }

    #page-my-index .block_recentlyaccessedcourses [data-region="paging-bar"] .page-link {
        width: 42px;
        height: 42px;
    }
}

@media (max-width: 575.98px) {
    #page-my-index #page-content {
        padding-left: 10px;
        padding-right: 10px;
    }

    #page-my-index .dashboard-app-hero {
        padding: 18px 14px;
        border-radius: 22px;
    }

    #page-my-index .dashboard-app-hero__eyebrow {
        padding: 7px 12px;
        font-size: 11px;
        letter-spacing: 0.12em;
    }

    #page-my-index .dashboard-app-hero__title {
        font-size: clamp(1.9rem, 10.5vw, 2.6rem);
    }

    #page-my-index .dashboard-app-hero__visual {
        min-height: 148px;
    }

    #page-my-index .dashboard-app-hero__orb--large {
        width: 180px;
        height: 180px;
    }

    #page-my-index .dashboard-app-hero__orb--small {
        right: 8%;
        width: 96px;
        height: 96px;
    }

    #page-my-index .dashboard-app-hero__glass {
        padding: 16px 14px;
        border-radius: 20px;
    }

    #page-my-index .block_myoverview.card > .card-body,
    #page-my-index .block_recentlyaccessedcourses.card > .card-body {
        padding: 18px 14px 20px !important;
    }

    #page-my-index .dashboard-card .dashboard-card-img,
    #page-my-index .block_recentlyaccessedcourses .dashboard-card .dashboard-card-img {
        height: 184px;
        min-height: 184px;
    }

    #page-my-index .block_myoverview .course-summaryitem .summaryimage,
    #page-my-index .block_myoverview .course-listitem-media {
        height: 176px;
        min-height: 176px;
    }

    #page-my-index .dashboard-card .course-info-container,
    #page-my-index .block_myoverview .course-listitem-body,
    #page-my-index .block_myoverview .course-summaryitem .align-self-stretch.d-flex.flex-column.w-100 {
        padding-left: 14px;
        padding-right: 14px;
    }

    #page-my-index .dashboard-card .dashboard-card-footer {
        padding: 0 14px 16px !important;
    }
}

@media (max-width: 767.98px) {
    html,
    body {
        overflow-x: hidden;
    }

    body {
        font-size: 14px;
    }

    #page-wrapper,
    #page,
    #page.container-fluid,
    #page.drawers {
        width: 100% !important;
        max-width: 100vw !important;
        margin-left: 0 !important;
    }

    #page.container-fluid {
        padding: 8px 0 18px !important;
    }

    body.pagelayout-mydashboard #page,
    body.pagelayout-mypublic #page,
    body.pagelayout-frontpage:not(.notloggedin) #page,
    body.pagelayout-standard #page,
    body.pagelayout-admin #page,
    body.pagelayout-course #page,
    body.pagelayout-incourse #page,
    body.pagelayout-report #page {
        margin-left: 0 !important;
        transform: none !important;
    }

    nav.navbar {
        padding: 8px 10px;
    }

    nav.navbar .drawer-toggle .nav-link,
    nav.navbar .drawer-toggle button,
    body:not(.notloggedin) nav.navbar .lang-menu .nav-link,
    body:not(.notloggedin) nav.navbar .popover-region-toggle,
    body:not(.notloggedin) nav.navbar .usermenu .dropdown > a.dropdown-toggle {
        width: 40px;
        min-width: 40px;
        height: 40px;
        padding: 0 !important;
    }

    nav.navbar .navbar-brand {
        margin-right: 8px;
    }

    .frontpage-course-search {
        width: min(100%, calc(100vw - 188px));
        min-width: 0;
    }

    body:not(.notloggedin) nav.navbar .navbar-nav.ml-auto {
        gap: 2px;
    }

    #nav-drawer,
    #nav-drawer.closed {
        position: fixed !important;
        top: var(--ui-navbar-height) !important;
        left: 0 !important;
        width: min(88vw, 320px) !important;
        max-width: min(88vw, 320px) !important;
        height: calc(100dvh - var(--ui-navbar-height)) !important;
        padding: 12px 10px 20px !important;
        overflow-x: hidden;
        overflow-y: auto;
        border-right: 1px solid rgba(219, 227, 239, 0.95);
        border-radius: 0 24px 24px 0;
        background: #ffffff;
        z-index: 1055 !important;
    }

    #nav-drawer-footer,
    #nav-drawer:not(.closed) + #nav-drawer-footer,
    #nav-drawer.closed + #nav-drawer-footer {
        display: none !important;
    }

    #nav-drawer.closed {
        transform: translateX(-110%) !important;
        opacity: 1 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        box-shadow: none !important;
    }

    body.drawer-open-left #nav-drawer,
    body.drawer-open-left #nav-drawer.closed {
        transform: translateX(0) !important;
        visibility: visible !important;
        pointer-events: auto !important;
        box-shadow: 18px 0 42px rgba(20, 35, 56, 0.18) !important;
    }

    body.drawer-open-left #nav-drawer.closed .list-group .list-group-item {
        width: 100% !important;
        min-height: 50px !important;
        margin: 0 !important;
    }

    body.drawer-open-left #nav-drawer.closed .list-group .list-group-item > a {
        justify-content: flex-start !important;
        width: 100% !important;
        height: auto !important;
        min-height: 50px !important;
        padding: 0 14px !important;
    }

    body.drawer-open-left #nav-drawer.closed .list-group .list-group-item > a .text {
        display: block !important;
        flex: 1 1 auto;
        min-width: 0;
        margin-left: 0 !important;
        white-space: normal;
    }

    #nav-drawer.closed .list-group .list-group-item:hover > a,
    #nav-drawer.closed .list-group .list-group-item.active:hover > a {
        position: static !important;
        width: 100% !important;
        padding: 0 14px !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    #nav-drawer.closed .list-group .list-group-item:hover > ul {
        position: static !important;
        top: auto !important;
        left: auto !important;
        width: 100% !important;
        max-height: none !important;
        margin-top: 8px;
        padding: 0 0 0 12px !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    body:not(.notloggedin) nav.navbar .popover-region .popover-region-container,
    body:not(.notloggedin) nav.navbar .usermenu .dropdown-menu,
    body:not(.notloggedin) nav.navbar .lang-menu .dropdown-menu,
    body:not(.notloggedin) nav.navbar .lang-menu .lang-selector-menu {
        position: fixed !important;
        top: calc(var(--ui-navbar-height) + 8px) !important;
        right: 12px !important;
        left: 12px !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: calc(100vw - 24px) !important;
        max-height: calc(100dvh - var(--ui-navbar-height) - 20px) !important;
        overflow: auto;
        margin: 0 !important;
        transform: none !important;
        border-radius: 24px !important;
    }

    body:not(.notloggedin) nav.navbar .popover-region.collapsed .popover-region-container,
    body:not(.notloggedin) nav.navbar .popover-region .popover-region-container[aria-hidden="true"],
    body:not(.notloggedin) nav.navbar .usermenu .dropdown-menu:not(.show),
    body:not(.notloggedin) nav.navbar .lang-menu .dropdown-menu:not(.show),
    body:not(.notloggedin) nav.navbar .lang-menu .lang-selector-menu:not(.show) {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }

    body:not(.notloggedin) nav.navbar .popover-region:not(.collapsed) .popover-region-container,
    body:not(.notloggedin) nav.navbar .popover-region .popover-region-container[aria-hidden="false"],
    body:not(.notloggedin) nav.navbar .usermenu .dropdown.show .dropdown-menu,
    body:not(.notloggedin) nav.navbar .usermenu .dropdown-menu.show,
    body:not(.notloggedin) nav.navbar .lang-menu .show > .dropdown-menu,
    body:not(.notloggedin) nav.navbar .lang-menu .dropdown-menu.show,
    body:not(.notloggedin) nav.navbar .lang-menu .show > .lang-selector-menu,
    body:not(.notloggedin) nav.navbar .lang-menu .lang-selector-menu.show {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
    }

    body:not(.notloggedin) nav.navbar .popover-region .popover-region-content-container {
        min-height: 220px !important;
        max-height: min(60vh, calc(100dvh - var(--ui-navbar-height) - 116px)) !important;
    }

    body:not(.notloggedin) .drawer.drawer-right {
        width: min(94vw, 360px) !important;
        max-width: 94vw !important;
    }

    body#page-site-index.notloggedin nav.navbar {
        gap: 8px;
    }

    body#page-site-index.notloggedin nav.navbar .frontpage-course-search {
        flex: 1 1 auto;
        width: auto;
        max-width: none;
        min-width: 0;
        margin-right: 0;
    }

    body#page-site-index.notloggedin nav.navbar .frontpage-course-search input {
        font-size: 13px;
    }

    body#page-site-index.notloggedin nav.navbar .frontpage-course-search button {
        flex: 0 0 44px !important;
        width: 44px !important;
    }

    body#page-site-index.notloggedin #page.frontpage-guest-page {
        margin-top: var(--ui-navbar-height, 72px) !important;
    }

    body#page-site-index.notloggedin #page.frontpage-guest-page #page-header.frontpage-guest-header {
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 18px 12px 24px !important;
        border-radius: 0 0 28px 28px;
        background-position: center top !important;
        background-size: cover !important;
    }

    body#page-site-index.notloggedin #page.frontpage-guest-page #page-header.frontpage-guest-header > #loginbox.d-none.d-lg-block,
    body#page-site-index.notloggedin #page.frontpage-guest-page #intro.hidden-sm-down,
    body#page-site-index.notloggedin #page.frontpage-guest-page #boxForm.d-none.d-lg-block {
        display: block !important;
    }

    body#page-site-index.notloggedin #page.frontpage-guest-page #page-header.frontpage-guest-header > #loginbox.row {
        position: relative !important;
        inset: auto !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 16px;
        min-height: 0 !important;
        padding: 0 !important;
    }

    body#page-site-index.notloggedin #page.frontpage-guest-page #mooveslideshow,
    body#page-site-index.notloggedin #page.frontpage-guest-page #mooveslideshow .carousel-inner,
    body#page-site-index.notloggedin #page.frontpage-guest-page #mooveslideshow .carousel-item {
        height: auto !important;
        min-height: 0 !important;
    }

    body#page-site-index.notloggedin #page.frontpage-guest-page #mooveslideshow .carousel-indicators {
        display: none !important;
    }

    body#page-site-index.notloggedin #page.frontpage-guest-page #page-header.frontpage-guest-header > #loginbox.row > #intro,
    body#page-site-index.notloggedin #page.frontpage-guest-page #mooveslideshow .carousel-caption {
        position: relative !important;
        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;
        width: 100% !important;
        max-width: none !important;
        padding: 0 !important;
        transform: none !important;
    }

    body#page-site-index.notloggedin #page.frontpage-guest-page #mooveslideshow .carousel-caption.animated {
        transform: none !important;
    }

    body#page-site-index.notloggedin #page.frontpage-guest-page #page-header.frontpage-guest-header > #loginbox:not(.row),
    body#page-site-index.notloggedin #page.frontpage-guest-page #page-header.frontpage-guest-header > #loginbox.row > #boxForm {
        position: relative !important;
        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        transform: none !important;
    }

    body#page-site-index.notloggedin #page.frontpage-guest-page #mooveslideshow .carousel-caption .title,
    body#page-site-index.notloggedin #page.frontpage-guest-page #intro h1 {
        width: 100% !important;
        padding: 22px 18px 20px !important;
        border-radius: 24px !important;
        font-size: clamp(1.72rem, 7.4vw, 2.34rem) !important;
        line-height: 1.14 !important;
    }

    body#page-site-index.notloggedin #page.frontpage-guest-page .frontpage-hero-title span {
        white-space: normal !important;
    }

    body#page-site-index.notloggedin #page.frontpage-guest-page #intro h2,
    body#page-site-index.notloggedin #page.frontpage-guest-page #mooveslideshow .carousel-caption .caption {
        margin-top: 12px;
        padding: 0 4px;
        color: rgba(255, 255, 255, 0.92) !important;
        font-size: 0.92rem;
        line-height: 1.5;
    }

    body#page-site-index.notloggedin #page.frontpage-guest-page #boxForm,
    body#page-site-index.notloggedin #page.frontpage-guest-page .hero-login-card {
        border-radius: 24px !important;
        background: rgba(255, 255, 255, 0.94) !important;
        box-shadow: 0 18px 38px rgba(19, 41, 70, 0.16) !important;
        backdrop-filter: blur(16px);
    }

    body#page-site-index.notloggedin #page.frontpage-guest-page #boxForm .card-body {
        min-height: 0 !important;
        padding: 22px 18px 20px !important;
    }

    body#page-site-index.notloggedin #page.frontpage-guest-page #boxForm h3 {
        margin-bottom: 20px !important;
        font-size: clamp(1.48rem, 6vw, 1.92rem) !important;
        white-space: normal !important;
    }

    body#page-site-index.notloggedin #page.frontpage-guest-page #boxForm .input-group {
        height: auto !important;
        margin-bottom: 14px !important;
    }

    body#page-site-index.notloggedin #page.frontpage-guest-page #boxForm .input-group-addon {
        width: 48px !important;
        min-width: 48px !important;
        height: 46px !important;
    }

    body#page-site-index.notloggedin #page.frontpage-guest-page #boxForm .form-control {
        height: 46px !important;
        min-height: 46px !important;
        font-size: 15px;
    }

    body#page-site-index.notloggedin #page.frontpage-guest-page #boxForm .btn-primary,
    body#page-site-index.notloggedin #page.frontpage-guest-page #boxForm .btn-register {
        min-height: 46px !important;
    }

    body#page-site-index.notloggedin #page.frontpage-guest-page .frontpage-marketing {
        padding: 22px 0 34px !important;
    }

    body#page-site-index.notloggedin #page.frontpage-guest-page .frontpage-marketing .container {
        padding-right: 12px !important;
        padding-left: 12px !important;
    }

    body#page-site-index.notloggedin #page.frontpage-guest-page .frontpage-marketing .card-deck {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 14px !important;
    }

    body#page-site-index.notloggedin #page.frontpage-guest-page .frontpage-marketing .card.frontpage-feature-card,
    body#page-site-index.notloggedin #page.frontpage-guest-page .frontpage-marketing .card.frontpage-feature-card:hover {
        min-height: 0 !important;
        border-radius: 24px !important;
    }

    body#page-site-index.notloggedin #page.frontpage-guest-page .frontpage-marketing .card.frontpage-feature-card::before {
        top: 14px !important;
        left: 14px !important;
        width: 62px !important;
        height: 62px !important;
        border-radius: 20px !important;
    }

    body#page-site-index.notloggedin #page.frontpage-guest-page .frontpage-marketing .card-body {
        grid-template-rows: auto auto auto auto !important;
        row-gap: 14px !important;
        padding: 22px 16px 18px !important;
    }

    body#page-site-index.notloggedin #page.frontpage-guest-page .frontpage-marketing .card img {
        width: 128px !important;
        height: 128px !important;
        padding: 10px !important;
        border-radius: 24px !important;
    }

    body#page-site-index.notloggedin #page.frontpage-guest-page .frontpage-marketing .card h2 {
        font-size: 1.6rem !important;
    }

    body#page-site-index.notloggedin #page.frontpage-guest-page .frontpage-marketing .card h3 {
        min-height: 0 !important;
        padding: 12px 14px !important;
        font-size: 13px !important;
        line-height: 1.35 !important;
    }

    body#page-site-index.notloggedin #page.frontpage-guest-page .frontpage-marketing .card p {
        padding: 16px 14px 18px !important;
        font-size: 14px !important;
        line-height: 1.62 !important;
    }

    #page-my-index #page-content {
        max-width: none;
        padding-left: 8px;
        padding-right: 8px;
    }

    #page-my-index #region-main-box,
    #page-my-index #region-main,
    #page-my-index .mymaincontent {
        min-width: 0;
        overflow: visible;
    }

    #page-my-index .dashboard-app-hero {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 12px;
        margin-bottom: 16px;
        padding: 14px 12px;
        border-radius: 20px;
        overflow: hidden;
    }

    #page-my-index .dashboard-app-hero__content,
    #page-my-index .dashboard-app-hero__visual,
    #page-my-index .dashboard-app-hero__actions,
    #page-my-index .dashboard-app-hero__actions .singlebutton,
    #page-my-index .dashboard-app-hero__actions form {
        min-width: 0;
        width: 100%;
    }

    #page-my-index .dashboard-app-hero__eyebrow {
        max-width: 100%;
        margin-bottom: 10px;
        padding: 6px 10px;
        font-size: 10px;
        letter-spacing: 0.12em;
        white-space: normal;
    }

    #page-my-index .dashboard-app-hero__title {
        font-size: clamp(1.72rem, 9.2vw, 2.4rem);
        line-height: 1.03;
    }

    #page-my-index .dashboard-app-hero__lead {
        max-width: none;
        margin-top: 10px;
        font-size: 0.88rem;
        line-height: 1.56;
        word-break: break-word;
    }

    #page-my-index .dashboard-app-hero__chips {
        gap: 7px;
        margin-top: 14px;
    }

    #page-my-index .dashboard-app-hero__chip {
        padding: 7px 11px;
        font-size: 11px;
    }

    #page-my-index .dashboard-app-hero__actions .btn,
    #page-my-index .dashboard-app-hero__actions input[type="submit"] {
        display: flex !important;
        width: 100%;
        max-width: 100% !important;
        min-height: 44px;
        padding: 9px 14px;
        box-sizing: border-box;
        font-size: 14px;
        line-height: 1.2;
        white-space: normal;
        text-align: center;
        word-break: break-word;
        overflow-wrap: anywhere;
    }

    #page-my-index .dashboard-app-hero__visual {
        min-height: 126px;
        overflow: hidden;
    }

    #page-my-index .dashboard-app-hero__orb--large {
        width: 154px;
        height: 154px;
    }

    #page-my-index .dashboard-app-hero__orb--small {
        right: 8%;
        width: 82px;
        height: 82px;
    }

    #page-my-index .dashboard-app-hero__glass {
        width: 100%;
        max-width: none;
        gap: 8px;
        padding: 14px 12px;
        border-radius: 18px;
    }

    #page-my-index .dashboard-app-hero__glass-title {
        font-size: clamp(1.5rem, 8vw, 2rem);
    }

    #page-my-index .block_myoverview.card,
    #page-my-index .block_recentlyaccessedcourses.card {
        margin-bottom: 16px;
        border-radius: 20px !important;
    }

    #page-my-index .block_myoverview.card > .card-body,
    #page-my-index .block_recentlyaccessedcourses.card > .card-body {
        padding: 14px 12px 16px !important;
    }

    #page-my-index .block_myoverview .card-title,
    #page-my-index .block_recentlyaccessedcourses .card-title {
        margin-bottom: 12px !important;
        padding-bottom: 8px;
        font-size: 1rem !important;
        word-break: break-word;
    }

    #page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="filter"] {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
        margin-bottom: 16px;
    }

    #page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="filter"] > * {
        width: 100%;
        min-width: 0;
    }

    #page-my-index .block_myoverview .btn-outline-secondary {
        display: flex !important;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        min-height: 54px;
        padding: 0 14px;
        border: 1px solid #d5e1f2 !important;
        border-radius: 20px !important;
        background: linear-gradient(180deg, #ffffff, #f7fbff) !important;
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.92), 0 8px 18px rgba(20, 46, 83, 0.08);
        color: #2f5fbd !important;
        font-size: 14px;
        font-weight: 800;
        text-align: left;
    }

    #page-my-index .block_myoverview .myoverview-filter-toggle {
        width: 100%;
    }

    #page-my-index .block_myoverview .btn-outline-secondary .icon {
        flex: 0 0 auto;
        margin-right: 8px;
        color: currentColor;
    }

    #page-my-index .block_myoverview .btn-outline-secondary.dropdown-toggle::after {
        margin-left: auto;
    }

    #page-my-index .block_myoverview .dropdown.show > .btn-outline-secondary,
    #page-my-index .block_myoverview .btn-outline-secondary[aria-expanded="true"] {
        border-color: #70839a !important;
        box-shadow:
            0 0 0 3px rgba(111, 129, 150, 0.88),
            inset 0 0 0 2px rgba(255, 255, 255, 0.96),
            0 12px 26px rgba(20, 46, 83, 0.12) !important;
    }

    #page-my-index .block_myoverview .dropdown-menu {
        width: min(280px, calc(100vw - 28px));
        min-width: 260px;
        padding: 10px;
        border: 1px solid #dbe6f5;
        border-radius: 24px;
        background: rgba(255, 255, 255, 0.98);
        box-shadow: 0 22px 42px rgba(18, 44, 84, 0.14);
        backdrop-filter: blur(20px);
    }

    #page-my-index .block_myoverview .myoverview-filter-menu li {
        padding: 0 !important;
    }

    #page-my-index .block_myoverview .myoverview-filter-grouping .myoverview-filter-menu,
    #page-my-index .block_myoverview #groupingdropdown + .dropdown-menu {
        left: 0 !important;
        right: auto !important;
    }

    #page-my-index .block_myoverview .myoverview-filter-sorting .myoverview-filter-menu,
    #page-my-index .block_myoverview #sortingdropdown + .dropdown-menu {
        left: auto !important;
        right: 0 !important;
    }

    #page-my-index .block_myoverview .dropdown-item {
        min-height: 52px;
        padding: 14px 16px;
        border: 1px solid transparent !important;
        border-radius: 18px;
        color: #24344d;
        font-size: 14px;
        font-weight: 800;
        line-height: 1.25;
        white-space: normal;
    }

    #page-my-index .block_myoverview .dropdown-item[aria-current="true"] {
        border-color: #dbe5f3 !important;
        background: linear-gradient(180deg, #eef2f8, #e9eef7);
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.94);
        color: #2f5fbd;
    }

    #page-my-index .block_myoverview .dropdown-item:hover,
    #page-my-index .block_myoverview .dropdown-item:focus {
        border-color: #d7e3f7;
        background: #f4f8ff;
        color: #254d9c;
    }

    #page-my-index .block_myoverview .dropdown-divider {
        display: none;
    }

    #page-my-index .block_recentlyaccessedcourses [data-region="card-deck"],
    #page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="card-deck"],
    #page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="course-view-content"] [data-region="paged-content-page"] > div[role="list"]:not([data-region="card-deck"]),
    #page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="courses-view"][data-display="summary"] [data-region="paged-content-page"] > div[role="list"] {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 12px !important;
    }

    #page-my-index .block_recentlyaccessedcourses [data-region="card-deck"] > *,
    #page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="card-deck"] > * {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    #page-my-index .dashboard-card,
    #page-my-index .block_myoverview .course-summaryitem,
    #page-my-index .block_myoverview .course-listitem {
        width: 100% !important;
        height: auto;
        overflow: hidden;
        border-radius: 20px !important;
    }

    #page-my-index .dashboard-card .dashboard-card-img,
    #page-my-index .block_recentlyaccessedcourses .dashboard-card .dashboard-card-img,
    #page-my-index .block_myoverview .course-summaryitem .summaryimage,
    #page-my-index .block_myoverview .course-listitem-media,
    #page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="courses-view"][data-display="list"] [data-region="card-deck"] .dashboard-card .dashboard-card-img {
        width: 100%;
        height: 138px;
        min-height: 138px;
        object-fit: cover;
        border-radius: 20px 20px 0 0 !important;
    }

    #page-my-index .dashboard-card .course-info-container,
    #page-my-index .block_myoverview .course-listitem-body,
    #page-my-index .block_myoverview .course-summaryitem .align-self-stretch.d-flex.flex-column.w-100,
    #page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="courses-view"][data-display="list"] [data-region="card-deck"] .dashboard-card .course-info-container {
        min-width: 0;
        padding: 12px 10px 8px !important;
    }

    #page-my-index .dashboard-card .coursename,
    #page-my-index .block_myoverview .course-listitem-title {
        min-width: 0;
        font-size: 0.96rem;
        line-height: 1.24;
        word-break: break-word;
    }

    #page-my-index .block_recentlyaccessedcourses .dashboard-card .coursename {
        max-height: calc(1.24em * 2);
    }

    #page-my-index .dashboard-card .dashboard-card-footer,
    #page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="courses-view"][data-display="list"] [data-region="card-deck"] .dashboard-card .dashboard-card-footer {
        padding: 0 10px 12px !important;
    }

    #page-my-index .dashboard-card .progress {
        height: 9px;
    }
}

@media (max-width: 575.98px) {
    #page-my-index #page-content {
        padding-left: 6px;
        padding-right: 6px;
    }

    #page-my-index .dashboard-app-hero {
        padding: 12px 10px;
    }

    #page-my-index .dashboard-app-hero__title {
        font-size: clamp(1.54rem, 9vw, 2.08rem);
    }

    #page-my-index .dashboard-app-hero__lead {
        font-size: 0.84rem;
    }

    #page-my-index .dashboard-app-hero__actions .btn,
    #page-my-index .dashboard-app-hero__actions input[type="submit"] {
        min-height: 42px;
        padding: 8px 12px;
        font-size: 13px;
    }

    #page-my-index .block_myoverview.card > .card-body,
    #page-my-index .block_recentlyaccessedcourses.card > .card-body {
        padding: 12px 10px 14px !important;
    }

    #page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="filter"] {
        grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr) !important;
        gap: 8px !important;
    }

    #page-my-index .block_myoverview .btn-outline-secondary {
        min-height: 50px;
        padding: 0 10px;
        font-size: 13px;
    }

    #page-my-index .block_myoverview .btn-outline-secondary .icon {
        margin-right: 6px;
        font-size: 14px;
    }

    #page-my-index .block_myoverview .btn-outline-secondary.dropdown-toggle::after {
        margin-left: 6px;
    }

    #page-my-index .block_myoverview .dropdown-menu {
        width: min(240px, calc(100vw - 24px));
        min-width: 0;
    }
}

/* Keep course action menus above cards instead of clipping them inside panels. */
#page-my-index .block_recentlyaccessedcourses > .card-body > .card-title:first-child {
    display: none !important;
}

#page-my-index .block_recentlyaccessedcourses [data-region="recentlyaccessedcourses-view"],
#page-my-index .block_recentlyaccessedcourses [data-region="view-content"],
#page-my-index .block_recentlyaccessedcourses [data-region="card-deck"],
#page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="course-view-content"],
#page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="paged-content-container"],
#page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="page-container"],
#page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="paged-content-page"],
#page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="card-deck"],
#page-my-index .block_myoverview .course-list-grid {
    overflow: visible !important;
}

#page-my-index .dashboard-card,
#page-my-index .block_myoverview .course-summaryitem,
#page-my-index .block_myoverview .course-listitem {
    position: relative;
    overflow: visible !important;
    isolation: isolate;
}

#page-my-index .dashboard-card .dropdown,
#page-my-index .block_myoverview .course-summaryitem .dropdown,
#page-my-index .block_myoverview .course-listitem .dropdown,
#page-my-index .dashboard-card .ml-auto.dropdown,
#page-my-index .block_myoverview .course-summaryitem .ml-auto.dropdown,
#page-my-index .block_myoverview .course-listitem .ml-auto.dropdown {
    position: relative;
}

#page-my-index .dashboard-card .dropdown.show,
#page-my-index .block_myoverview .course-summaryitem .dropdown.show,
#page-my-index .block_myoverview .course-listitem .dropdown.show,
#page-my-index .dashboard-card .ml-auto.dropdown.show,
#page-my-index .block_myoverview .course-summaryitem .ml-auto.dropdown.show,
#page-my-index .block_myoverview .course-listitem .ml-auto.dropdown.show {
    z-index: 40;
}

#page-my-index .dashboard-card .dropdown-menu,
#page-my-index .block_myoverview .course-summaryitem .dropdown-menu,
#page-my-index .block_myoverview .course-listitem .dropdown-menu {
    z-index: 50;
}

/* Logged-in site front page redesign. */
body#page-site-index:not(.notloggedin) {
    background:
        radial-gradient(circle at top left, rgba(116, 229, 255, 0.18), transparent 28%),
        radial-gradient(circle at top right, rgba(54, 118, 255, 0.12), transparent 24%),
        linear-gradient(180deg, #f4f8ff 0%, #edf3fb 100%);
}

body#page-site-index:not(.notloggedin) #page.frontpage-learning-page {
    padding: 0 0 56px;
}

body#page-site-index:not(.notloggedin) .frontpage-learning-shell {
    max-width: 1520px;
    margin: 0 auto;
    padding: 24px 28px 64px;
}

body#page-site-index:not(.notloggedin) .frontpage-learning-hero {
    position: relative;
    display: flex;
    gap: 20px;
    align-items: center;
    justify-content: flex-start;
    overflow: hidden;
    margin-bottom: 24px;
    padding: clamp(18px, 2.2vw, 28px);
    border: 1px solid #d8e6f7;
    border-radius: 30px;
    background: linear-gradient(135deg, #ffffff 0%, #f2f7ff 46%, #dff7ff 100%);
    box-shadow: 0 20px 56px rgba(19, 49, 84, 0.10);
    isolation: isolate;
}

body#page-site-index:not(.notloggedin) .frontpage-learning-hero::before {
    content: "";
    position: absolute;
    inset: auto -8% -42% auto;
    width: 360px;
    height: 360px;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(74, 196, 255, 0.24) 0%, rgba(74, 196, 255, 0) 70%);
    pointer-events: none;
}

body#page-site-index:not(.notloggedin) .frontpage-learning-hero__copy {
    position: relative;
    z-index: 1;
    display: flex;
    flex: 0 1 680px;
    flex-direction: column;
    justify-content: center;
    gap: 12px;
    max-width: 680px;
    min-width: 0;
}

body#page-site-index:not(.notloggedin) .frontpage-learning-hero__eyebrow {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    padding: 7px 12px;
    border-radius: 999px;
    background: rgba(24, 110, 255, 0.08);
    color: #1e5bd6;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

body#page-site-index:not(.notloggedin) .frontpage-learning-hero__title {
    max-width: 28ch;
    margin: 0;
    color: #102849;
    font-size: clamp(1.5rem, 1.04rem + 0.86vw, 2.2rem);
    font-weight: 900;
    line-height: 1.1;
    letter-spacing: -0.04em;
    text-wrap: balance;
}

body#page-site-index:not(.notloggedin) .frontpage-learning-hero__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

body#page-site-index:not(.notloggedin) .frontpage-learning-hero__chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 9px 14px;
    border: 1px solid rgba(173, 201, 236, 0.8);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.82);
    color: #315072;
    font-size: 0.84rem;
    font-weight: 700;
    line-height: 1;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
}

body#page-site-index:not(.notloggedin) .frontpage-learning-hero__visual {
    position: relative;
    flex: 0 0 clamp(180px, 20vw, 230px);
    width: clamp(180px, 20vw, 230px);
    min-height: 156px;
    margin-left: 4px;
    border-radius: 24px;
    background:
        radial-gradient(circle at top right, rgba(128, 237, 255, 0.42), transparent 30%),
        linear-gradient(155deg, #103760 0%, #185383 44%, #1fb7c8 100%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2);
}

body#page-site-index:not(.notloggedin) .frontpage-learning-hero__panel {
    position: absolute;
    top: 14px;
    left: 14px;
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: 6px;
    max-width: 98px;
    padding: 11px 13px;
    border: 1px solid rgba(198, 233, 255, 0.3);
    border-radius: 18px;
    background: rgba(8, 27, 51, 0.34);
    backdrop-filter: blur(18px);
    color: #ffffff;
}

body#page-site-index:not(.notloggedin) .frontpage-learning-hero__panel-tag {
    color: rgba(214, 238, 255, 0.82);
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

body#page-site-index:not(.notloggedin) .frontpage-learning-hero__panel-title {
    font-size: clamp(1rem, 0.9rem + 0.25vw, 1.35rem);
    font-weight: 900;
    line-height: 1;
    letter-spacing: -0.04em;
}

body#page-site-index:not(.notloggedin) .frontpage-learning-hero__panel-line {
    width: 34px;
    height: 4px;
    border-radius: 999px;
    background: linear-gradient(90deg, #9de7ff 0%, #58b8ff 100%);
}

body#page-site-index:not(.notloggedin) .frontpage-learning-hero__orb,
body#page-site-index:not(.notloggedin) .frontpage-learning-hero__grid {
    position: absolute;
    pointer-events: none;
}

body#page-site-index:not(.notloggedin) .frontpage-learning-hero__orb {
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.12);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.24);
}

body#page-site-index:not(.notloggedin) .frontpage-learning-hero__orb--one {
    right: 14px;
    bottom: 14px;
    width: 56px;
    height: 56px;
}

body#page-site-index:not(.notloggedin) .frontpage-learning-hero__orb--two {
    right: 28px;
    top: 16px;
    width: 24px;
    height: 24px;
    background: rgba(121, 229, 255, 0.16);
}

body#page-site-index:not(.notloggedin) .frontpage-learning-hero__grid {
    inset: 0;
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.07) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.07) 1px, transparent 1px);
    background-size: 34px 34px;
    mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.5), transparent 92%);
}

body#page-site-index:not(.notloggedin) .frontpage-learning-main,
body#page-site-index:not(.notloggedin) .frontpage-learning-surface,
body#page-site-index:not(.notloggedin) .frontpage-learning-maincontent {
    overflow: visible;
}

body#page-site-index:not(.notloggedin) .frontpage-learning-surface {
    position: relative;
    padding: clamp(20px, 2.6vw, 36px);
    border: 1px solid #d8e6f7;
    border-radius: 36px;
    background: rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(18px);
    box-shadow: 0 22px 64px rgba(16, 40, 73, 0.1);
}

body#page-site-index:not(.notloggedin) .frontpage-learning-maincontent > br {
    display: none;
}

body#page-site-index:not(.notloggedin) .frontpage-learning-maincontent > div[id^="frontpage-"],
body#page-site-index:not(.notloggedin) .frontpage-learning-maincontent > #site-news-forum {
    margin: 0 0 28px;
    padding: clamp(20px, 2.4vw, 30px);
    border: 1px solid #dbe7f6;
    border-radius: 30px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    box-shadow: 0 18px 46px rgba(17, 43, 74, 0.08);
}

body#page-site-index:not(.notloggedin) .frontpage-learning-maincontent > div[id^="frontpage-"]:last-child,
body#page-site-index:not(.notloggedin) .frontpage-learning-maincontent > #site-news-forum:last-child {
    margin-bottom: 0;
}

body#page-site-index:not(.notloggedin) .frontpage-learning-maincontent > div[id^="frontpage-"] > h2,
body#page-site-index:not(.notloggedin) .frontpage-learning-maincontent > #site-news-forum > h2 {
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 0 0 24px;
    color: #102849;
    font-size: clamp(1.45rem, 1.12rem + 0.8vw, 2.05rem);
    font-weight: 900;
    letter-spacing: -0.03em;
}

body#page-site-index:not(.notloggedin) .frontpage-learning-maincontent > div[id^="frontpage-"] > h2::after,
body#page-site-index:not(.notloggedin) .frontpage-learning-maincontent > #site-news-forum > h2::after {
    content: "";
    flex: 1 1 auto;
    min-width: 48px;
    height: 1px;
    background: linear-gradient(90deg, rgba(69, 127, 255, 0.3) 0%, rgba(69, 127, 255, 0) 100%);
}

body#page-site-index:not(.notloggedin) #frontpage-available-course-list .courses,
body#page-site-index:not(.notloggedin) #frontpage-course-list .courses {
    margin: 0;
}

body#page-site-index:not(.notloggedin) .frontpage-course-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
    gap: 22px;
}

body#page-site-index:not(.notloggedin) .frontpage-course-grid > .moove-course-card {
    min-width: 0;
}

body#page-site-index:not(.notloggedin) .moove-course-card.frontpage-course-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    height: 100%;
    overflow: hidden;
    border: 1px solid #d8e4f2;
    border-radius: 20px;
    background: #ffffff;
    box-shadow: 0 16px 38px rgba(21, 43, 72, 0.09);
    transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
}

body#page-site-index:not(.notloggedin) .moove-course-card.frontpage-course-card:hover {
    transform: translateY(-4px);
    border-color: #bdd8fb;
    box-shadow: 0 22px 50px rgba(21, 43, 72, 0.14);
}

body#page-site-index:not(.notloggedin) .moove-course-card__media {
    position: relative;
    overflow: hidden;
    min-height: 178px;
    aspect-ratio: 16 / 9;
    background: linear-gradient(135deg, #d9ebff 0%, #edf7ff 100%);
}

body#page-site-index:not(.notloggedin) .moove-course-card__media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(12, 25, 45, 0.02) 0%, rgba(12, 25, 45, 0.16) 100%);
    pointer-events: none;
}

body#page-site-index:not(.notloggedin) .moove-course-card__media > a,
body#page-site-index:not(.notloggedin) .moove-course-card__media img {
    display: block;
    width: 100%;
    height: 100%;
    color: transparent;
    font-size: 0;
}

body#page-site-index:not(.notloggedin) .moove-course-card__media img.card-img-top {
    object-fit: cover;
    border-radius: 0;
}

body#page-site-index:not(.notloggedin) .moove-course-card__media-glow {
    position: absolute;
    right: 16px;
    bottom: 16px;
    width: 68px;
    height: 68px;
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.26) 0%, rgba(255, 255, 255, 0.08) 100%);
    backdrop-filter: blur(12px);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.3);
    opacity: 0.78;
}

body#page-site-index:not(.notloggedin) .moove-course-card__content {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
}

body#page-site-index:not(.notloggedin) .moove-course-card.frontpage-course-card .card-body {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 13px;
    padding: 18px 20px 14px;
}

body#page-site-index:not(.notloggedin) .moove-course-card__meta {
    display: none;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

body#page-site-index:not(.notloggedin) .moove-course-card__category,
body#page-site-index:not(.notloggedin) .moove-course-card__status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 8px 14px;
    border-radius: 999px;
    font-size: 0.82rem;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
}

body#page-site-index:not(.notloggedin) .moove-course-card__category {
    max-width: calc(100% - 128px);
    border: 1px solid #d6e5f8;
    background: #f3f8ff;
}

body#page-site-index:not(.notloggedin) .moove-course-card__category a {
    overflow: hidden;
    color: #2456bf;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body#page-site-index:not(.notloggedin) .moove-course-card__status {
    flex: 0 0 auto;
}

body#page-site-index:not(.notloggedin) .moove-course-card__status.is-ready {
    color: #0d7b74;
    background: rgba(38, 202, 176, 0.12);
}

body#page-site-index:not(.notloggedin) .moove-course-card__status.is-progress {
    color: #1f57c5;
    background: rgba(57, 119, 255, 0.12);
}

body#page-site-index:not(.notloggedin) .moove-course-card__status.is-complete {
    color: #11683f;
    background: rgba(52, 199, 89, 0.14);
}

body#page-site-index:not(.notloggedin) .moove-course-card__status.is-upcoming {
    color: #9a5b00;
    background: rgba(255, 190, 46, 0.18);
}

body#page-site-index:not(.notloggedin) .moove-course-card.frontpage-course-card .card-title {
    margin: 0;
    color: #102849;
    font-size: 1.05rem;
    font-weight: 900;
    line-height: 1.24;
    letter-spacing: 0;
}

body#page-site-index:not(.notloggedin) .moove-course-card.frontpage-course-card .card-title a {
    display: -webkit-box;
    overflow: hidden;
    color: inherit;
    text-decoration: none;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

body#page-site-index:not(.notloggedin) .moove-course-card.frontpage-course-card .card-title a:hover,
body#page-site-index:not(.notloggedin) .moove-course-card.frontpage-course-card .card-title a:focus {
    color: #1453c2;
}

body#page-site-index:not(.notloggedin) .moove-course-card__summary {
    margin: 0;
    color: #5c6f86;
    font-size: 0.86rem;
    line-height: 1.48;
}

body#page-site-index:not(.notloggedin) .moove-course-card__summary > * {
    display: -webkit-box;
    margin: 0;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

body#page-site-index:not(.notloggedin) .moove-course-card__customfields {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

body#page-site-index:not(.notloggedin) .moove-course-card__customfields dl {
    display: contents;
}

body#page-site-index:not(.notloggedin) .moove-course-card__customfields dt {
    display: none;
}

body#page-site-index:not(.notloggedin) .moove-course-card__customfields dd,
body#page-site-index:not(.notloggedin) .moove-course-card__customfields .customfield {
    margin: 0;
    padding: 7px 10px;
    border: 1px solid #d6e4f7;
    border-radius: 999px;
    background: rgba(240, 247, 255, 0.92);
    color: #315072;
    font-size: 0.78rem;
    font-weight: 700;
}

body#page-site-index:not(.notloggedin) .moove-course-card__progress {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: auto;
    padding: 12px 14px;
    border: 1px solid #d7e4f2;
    border-radius: 14px;
    background: #f7fbff;
}

body#page-site-index:not(.notloggedin) .moove-course-card__progress-meta {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    min-height: 18px;
    gap: 0;
    color: #46617f;
}

body#page-site-index:not(.notloggedin) .moove-course-card__progress-label {
    display: none;
}

body#page-site-index:not(.notloggedin) .moove-course-card__progress-value {
    color: #12345a;
    font-size: 0.9rem;
    font-weight: 900;
    line-height: 1;
}

body#page-site-index:not(.notloggedin) .moove-course-card__progress-track {
    position: relative;
    overflow: hidden;
    width: 100%;
    height: 8px;
    border-radius: 999px;
    background: rgba(181, 202, 228, 0.45);
}

body#page-site-index:not(.notloggedin) .moove-course-card__progress-fill {
    position: absolute;
    inset: 0 auto 0 0;
    border-radius: inherit;
    background: linear-gradient(90deg, #235ee7 0%, #11c5b6 100%);
}

body#page-site-index:not(.notloggedin) .moove-course-card.frontpage-course-card .card-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 0 20px 20px;
    border-top: 0;
    background: transparent;
}

body#page-site-index:not(.notloggedin) .moove-course-card__footer-meta {
    display: flex;
    align-items: center;
    min-width: 0;
}

body#page-site-index:not(.notloggedin) .moove-course-card__icons {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    color: #5d7493;
}

body#page-site-index:not(.notloggedin) .moove-course-card__icons .icon {
    width: 18px;
    height: 18px;
}

body#page-site-index:not(.notloggedin) .moove-course-card__cta.btn {
    min-width: 116px;
    padding: 10px 16px;
    border: 0;
    border-radius: 12px;
    background: #2b63dc;
    box-shadow: 0 12px 24px rgba(34, 94, 231, 0.22);
    color: #ffffff;
    font-size: 0.88rem;
    font-weight: 800;
}

body#page-site-index:not(.notloggedin) .moove-course-card__cta.btn:hover,
body#page-site-index:not(.notloggedin) .moove-course-card__cta.btn:focus {
    box-shadow: 0 18px 34px rgba(34, 94, 231, 0.3);
    color: #ffffff;
    transform: translateY(-1px);
}

body#page-site-index:not(.notloggedin) .moove-course-card .course-contacts {
    position: absolute;
    left: 18px;
    bottom: 18px;
    z-index: 2;
    display: flex;
    align-items: center;
    gap: 8px;
}

body#page-site-index:not(.notloggedin) .moove-course-card .course-contacts .contact {
    display: inline-flex;
    width: 40px;
    height: 40px;
    padding: 3px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.84);
    backdrop-filter: blur(10px);
    box-shadow: 0 10px 24px rgba(14, 30, 53, 0.18);
}

body#page-site-index:not(.notloggedin) .moove-course-card .course-contacts .contact img {
    width: 100%;
    height: 100%;
    border-radius: 999px;
    object-fit: cover;
}

body#page-site-index:not(.notloggedin) #region-main-settings-menu {
    top: 0;
    z-index: 6;
}

@media (max-width: 1199.98px) {
    body#page-site-index:not(.notloggedin) .frontpage-learning-hero {
        flex-direction: column;
        align-items: stretch;
    }

    body#page-site-index:not(.notloggedin) .frontpage-learning-hero__copy {
        flex-basis: auto;
        max-width: none;
    }

    body#page-site-index:not(.notloggedin) .frontpage-learning-hero__title {
        max-width: none;
    }

    body#page-site-index:not(.notloggedin) .frontpage-learning-hero__visual {
        min-height: 190px;
        max-width: 320px;
        width: 100%;
        flex-basis: auto;
    }
}

@media (max-width: 767.98px) {
    body#page-site-index:not(.notloggedin) .frontpage-learning-shell {
        padding: 18px 14px 40px;
    }

    body#page-site-index:not(.notloggedin) .frontpage-learning-hero,
    body#page-site-index:not(.notloggedin) .frontpage-learning-surface,
    body#page-site-index:not(.notloggedin) .frontpage-learning-maincontent > div[id^="frontpage-"],
    body#page-site-index:not(.notloggedin) .frontpage-learning-maincontent > #site-news-forum,
    body#page-site-index:not(.notloggedin) .moove-course-card.frontpage-course-card {
        border-radius: 18px;
    }

    body#page-site-index:not(.notloggedin) .frontpage-learning-hero {
        padding: 24px 20px;
        gap: 20px;
    }

    body#page-site-index:not(.notloggedin) .frontpage-learning-hero__chips {
        gap: 10px;
    }

    body#page-site-index:not(.notloggedin) .frontpage-learning-hero__chip {
        padding: 10px 14px;
        font-size: 0.88rem;
    }

    body#page-site-index:not(.notloggedin) .frontpage-learning-hero__visual {
        min-height: 220px;
    }

    body#page-site-index:not(.notloggedin) .frontpage-learning-hero__panel {
        top: 20px;
        left: 20px;
        max-width: 180px;
        padding: 18px;
    }

    body#page-site-index:not(.notloggedin) .frontpage-learning-surface {
        padding: 18px;
    }

    body#page-site-index:not(.notloggedin) .frontpage-learning-maincontent > div[id^="frontpage-"],
    body#page-site-index:not(.notloggedin) .frontpage-learning-maincontent > #site-news-forum {
        padding: 18px;
        margin-bottom: 18px;
    }

    body#page-site-index:not(.notloggedin) .frontpage-learning-maincontent > div[id^="frontpage-"] > h2,
    body#page-site-index:not(.notloggedin) .frontpage-learning-maincontent > #site-news-forum > h2 {
        margin-bottom: 18px;
        font-size: 1.32rem;
    }

    body#page-site-index:not(.notloggedin) .frontpage-course-grid {
        gap: 16px;
    }

    body#page-site-index:not(.notloggedin) .moove-course-card__media {
        min-height: 160px;
    }

    body#page-site-index:not(.notloggedin) .moove-course-card.frontpage-course-card .card-body {
        gap: 12px;
        padding: 16px 16px 12px;
    }

    body#page-site-index:not(.notloggedin) .moove-course-card__meta {
        align-items: flex-start;
        flex-direction: column;
    }

    body#page-site-index:not(.notloggedin) .moove-course-card__category {
        max-width: 100%;
    }

    body#page-site-index:not(.notloggedin) .moove-course-card__progress {
        padding: 11px 12px;
    }

    body#page-site-index:not(.notloggedin) .moove-course-card.frontpage-course-card .card-footer {
        align-items: stretch;
        flex-direction: column;
        padding: 0 16px 16px;
    }

    body#page-site-index:not(.notloggedin) .moove-course-card__footer-meta,
    body#page-site-index:not(.notloggedin) .moove-course-card.frontpage-course-card .card-footer .pull-right {
        width: 100%;
    }

body#page-site-index:not(.notloggedin) .moove-course-card__cta.btn {
        width: 100%;
    }
}

/* Dashboard and frontpage text-fit refinements. */
body#page-site-index:not(.notloggedin) .frontpage-learning-page > header#page-header,
body#page-site-index:not(.notloggedin) .frontpage-learning-page > #page-header {
    display: none !important;
}

#page-my-index .dashboard-app-hero__title {
    max-width: 14.5em;
    font-size: clamp(1.9rem, 1.3rem + 1.25vw, 2.85rem);
    line-height: 1.08;
    text-wrap: balance;
}

#page-my-index .dashboard-app-hero__actions {
    margin-top: 20px;
}

#page-my-index .dashboard-progress-copy {
    display: none !important;
}

#page-my-index .dashboard-progress-label {
    display: none;
    letter-spacing: 0;
    text-transform: uppercase;
}

#page-my-index .dashboard-progress-value {
    color: #13355b;
    font-size: 0.88rem;
    font-weight: 900;
}

#page-my-index .dashboard-progress-complete {
    display: none !important;
}

#page-my-index .dashboard-card .progress,
#page-my-index .course-listitem .progress,
#page-my-index .course-summaryitem .progress {
    position: relative;
    height: 10px;
    padding: 2px;
    overflow: visible;
    border: 1px solid rgba(24, 77, 128, 0.12);
    border-radius: 999px;
    background: #f6fbff;
    box-shadow: inset 0 1px 2px rgba(16, 42, 76, 0.08);
}

#page-my-index .dashboard-card .progress .progress-bar,
#page-my-index .course-listitem .progress .progress-bar,
#page-my-index .course-summaryitem .progress .progress-bar {
    border-radius: 999px;
    background: linear-gradient(90deg, #2563eb 0%, #14b8a6 100%);
    box-shadow: 0 8px 18px rgba(37, 99, 235, 0.22);
    overflow: visible;
}

#page-my-index .dashboard-progress-marker {
    position: absolute;
    top: -6px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 48px;
    height: 24px;
    padding: 0 10px;
    border-radius: 999px;
    background: linear-gradient(90deg, #1d4ed8 0%, #0ea5a4 100%);
    box-shadow: 0 8px 18px rgba(37, 99, 235, 0.24);
    color: #ffffff;
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.01em;
    line-height: 1;
    white-space: nowrap;
    pointer-events: none;
    transform: translate(-50%, -100%);
}

#page-my-index .dashboard-progress-marker::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -5px;
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 6px solid #1297c1;
}

body#page-site-index:not(.notloggedin) .moove-course-card__meta {
    display: none !important;
}

body#page-site-index:not(.notloggedin) .moove-course-card__category,
body#page-site-index:not(.notloggedin) .moove-course-card__status {
    min-height: 36px;
    line-height: 1.2;
    text-align: center;
    white-space: normal;
}

body#page-site-index:not(.notloggedin) .moove-course-card__category {
    max-width: 100%;
}

body#page-site-index:not(.notloggedin) .moove-course-card__category a {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    white-space: normal;
    text-wrap: balance;
}

body#page-site-index:not(.notloggedin) .moove-course-card.frontpage-course-card .card-title {
    min-height: calc(1.24em * 3);
    font-size: 1.05rem;
    line-height: 1.24;
    letter-spacing: 0;
    text-wrap: balance;
}

body#page-site-index:not(.notloggedin) .moove-course-card.frontpage-course-card .card-title a {
    -webkit-line-clamp: 3;
}

body#page-site-index:not(.notloggedin) .moove-course-card__summary {
    font-size: 0.86rem;
    line-height: 1.48;
}

body#page-site-index:not(.notloggedin) .moove-course-card__summary > * {
    -webkit-line-clamp: 2;
}

body#page-site-index:not(.notloggedin) .moove-course-card__progress {
    margin-top: auto;
}

body#page-site-index:not(.notloggedin) .moove-course-card__progress-meta {
    flex-wrap: nowrap;
    justify-content: flex-end;
    gap: 0;
}

body#page-site-index:not(.notloggedin) .moove-course-card__progress-label {
    display: none;
}

@media (max-width: 767.98px) {
    #page-my-index .dashboard-app-hero__title {
        max-width: none;
        font-size: clamp(1.65rem, 1.15rem + 1.4vw, 2.3rem);
    }

    #page-my-index .dashboard-progress-copy {
        display: none !important;
    }

    #page-my-index .dashboard-card .progress,
    #page-my-index .course-listitem .progress,
    #page-my-index .course-summaryitem .progress {
        height: 8px;
        margin-top: 8px;
    }

    #page-my-index .dashboard-progress-marker {
        top: -5px;
        min-width: 42px;
        height: 22px;
        padding: 0 8px;
        font-size: 0.68rem;
    }

    #page-my-index .dashboard-card {
        min-height: 0;
    }

    #page-my-index .dashboard-card .dashboard-card-footer {
        padding: 24px 18px 24px;
    }

    body#page-site-index:not(.notloggedin) .moove-course-card.frontpage-course-card .card-title {
        min-height: 0;
        font-size: 1rem;
    }

    body#page-site-index:not(.notloggedin) .moove-course-card__progress-label {
        display: none;
    }
}

body#page-site-index:not(.notloggedin) .frontpage-learning-hero {
    position: relative;
    display: flex;
    gap: clamp(28px, 4vw, 56px);
    align-items: center;
    justify-content: space-between;
    overflow: hidden;
    margin-bottom: 28px;
    padding: clamp(30px, 4vw, 42px);
    border: 1px solid #d8e6f7;
    border-radius: 34px;
    background: linear-gradient(135deg, #ffffff 0%, #f2f7ff 46%, #dff7ff 100%);
    box-shadow: 0 28px 72px rgba(17, 39, 67, 0.12);
    isolation: isolate;
}

body#page-site-index:not(.notloggedin) .frontpage-learning-hero::before {
    content: "";
    position: absolute;
    inset: auto -8% -44% auto;
    width: 360px;
    height: 360px;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(74, 196, 255, 0.24) 0%, rgba(74, 196, 255, 0) 70%);
    pointer-events: none;
}

body#page-site-index:not(.notloggedin) .frontpage-learning-hero__copy,
body#page-site-index:not(.notloggedin) .frontpage-learning-hero__visual {
    position: relative;
    z-index: 1;
    min-width: 0;
}

body#page-site-index:not(.notloggedin) .frontpage-learning-hero__copy {
    display: flex;
    flex: 1 1 620px;
    flex-direction: column;
    justify-content: center;
    gap: 14px;
    max-width: 640px;
}

body#page-site-index:not(.notloggedin) .frontpage-learning-hero__eyebrow {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    padding: 8px 14px;
    border-radius: 999px;
    background: rgba(24, 110, 255, 0.08);
    color: var(--ui-primary, #2764d8);
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
}

body#page-site-index:not(.notloggedin) .frontpage-learning-hero__title {
    max-width: 560px;
    margin: 0;
    color: #102849;
    font-size: 3.9rem;
    font-weight: 900;
    line-height: 1.02;
    letter-spacing: 0;
    text-wrap: balance;
}

body#page-site-index:not(.notloggedin) .frontpage-learning-hero__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 6px;
}

body#page-site-index:not(.notloggedin) .frontpage-learning-hero__chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 15px;
    border: 1px solid rgba(173, 201, 236, 0.8);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.82);
    color: #315072;
    font-size: 0.84rem;
    font-weight: 700;
    line-height: 1;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
}

body#page-site-index:not(.notloggedin) .frontpage-learning-hero__visual {
    display: flex;
    flex: 1 1 360px;
    align-items: center;
    justify-content: flex-end;
    min-height: 300px;
    padding-right: clamp(8px, 2vw, 28px);
}

body#page-site-index:not(.notloggedin) .frontpage-learning-hero__panel {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: min(100%, 320px);
    padding: 28px 24px;
    border: 1px solid rgba(255, 255, 255, 0.54);
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.54);
    box-shadow: 0 26px 70px rgba(18, 43, 73, 0.16);
    backdrop-filter: blur(18px);
}

body#page-site-index:not(.notloggedin) .frontpage-learning-hero__panel-tag {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    padding: 7px 12px;
    border-radius: 999px;
    background: rgba(39, 100, 216, 0.10);
    color: var(--ui-primary, #2764d8);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
}

body#page-site-index:not(.notloggedin) .frontpage-learning-hero__panel-title {
    color: #0f2948;
    font-size: 2.55rem;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0;
}

body#page-site-index:not(.notloggedin) .frontpage-learning-hero__panel-copy {
    color: #5e7694;
    font-size: 0.95rem;
    font-weight: 700;
    letter-spacing: 0;
}

body#page-site-index:not(.notloggedin) .frontpage-learning-hero__panel-line,
body#page-site-index:not(.notloggedin) .frontpage-learning-hero__grid {
    display: none;
}

body#page-site-index:not(.notloggedin) .frontpage-learning-hero__orb {
    position: absolute;
    border-radius: 999px;
    pointer-events: none;
}

body#page-site-index:not(.notloggedin) .frontpage-learning-hero__orb--one {
    top: 50%;
    right: 36px;
    width: clamp(250px, 27vw, 360px);
    height: clamp(250px, 27vw, 360px);
    background: radial-gradient(circle at 30% 30%, rgba(79, 139, 255, 0.46), rgba(79, 139, 255, 0.08) 66%, rgba(79, 139, 255, 0) 72%);
    transform: translateY(-54%);
}

body#page-site-index:not(.notloggedin) .frontpage-learning-hero__orb--two {
    top: 18px;
    right: 0;
    width: clamp(160px, 18vw, 220px);
    height: clamp(160px, 18vw, 220px);
    background: radial-gradient(circle at 30% 30%, rgba(22, 184, 169, 0.32), rgba(22, 184, 169, 0.05) 70%, rgba(22, 184, 169, 0) 76%);
}

@media (max-width: 1199.98px) {
    body#page-site-index:not(.notloggedin) .frontpage-learning-hero {
        flex-direction: column;
        align-items: stretch;
        gap: 26px;
    }

    body#page-site-index:not(.notloggedin) .frontpage-learning-hero__copy {
        flex-basis: auto;
        max-width: none;
    }

    body#page-site-index:not(.notloggedin) .frontpage-learning-hero__title {
        max-width: 620px;
        font-size: 3.35rem;
    }

    body#page-site-index:not(.notloggedin) .frontpage-learning-hero__visual {
        min-height: 220px;
        padding-right: 0;
        justify-content: center;
    }

    body#page-site-index:not(.notloggedin) .frontpage-learning-hero__panel {
        margin: 0 auto;
    }

    body#page-site-index:not(.notloggedin) .frontpage-learning-hero__orb--one {
        right: 50%;
        width: 280px;
        height: 280px;
        transform: translate(50%, -54%);
    }

    body#page-site-index:not(.notloggedin) .frontpage-learning-hero__orb--two {
        top: 12px;
        right: 16%;
    }
}

@media (max-width: 767.98px) {
    body#page-site-index:not(.notloggedin) .frontpage-learning-hero {
        gap: 20px;
        padding: 24px 20px;
        border-radius: 24px;
    }

    body#page-site-index:not(.notloggedin) .frontpage-learning-hero__eyebrow {
        max-width: 100%;
        padding: 7px 12px;
        font-size: 0.68rem;
    }

    body#page-site-index:not(.notloggedin) .frontpage-learning-hero__title {
        max-width: none;
        font-size: 2.85rem;
    }

    body#page-site-index:not(.notloggedin) .frontpage-learning-hero__chips {
        gap: 8px;
    }

    body#page-site-index:not(.notloggedin) .frontpage-learning-hero__chip {
        padding: 9px 13px;
        font-size: 0.8rem;
    }

    body#page-site-index:not(.notloggedin) .frontpage-learning-hero__visual {
        min-height: 180px;
    }

    body#page-site-index:not(.notloggedin) .frontpage-learning-hero__panel {
        width: 100%;
        max-width: none;
        padding: 20px 18px;
        border-radius: 24px;
    }

    body#page-site-index:not(.notloggedin) .frontpage-learning-hero__panel-title {
        font-size: 2.2rem;
    }

    body#page-site-index:not(.notloggedin) .frontpage-learning-hero__panel-copy {
        font-size: 0.88rem;
    }

    body#page-site-index:not(.notloggedin) .frontpage-learning-hero__orb--one {
        width: 220px;
        height: 220px;
    }

    body#page-site-index:not(.notloggedin) .frontpage-learning-hero__orb--two {
        top: 10px;
        right: 6%;
        width: 120px;
        height: 120px;
    }
}

/* Final dashboard dropdown polish. Keep this late in the file to win older overrides. */
#page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="filter"] {
    display: flex !important;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px !important;
    margin-bottom: 28px;
}

#page-my-index .block_myoverview .myoverview-filter {
    position: relative;
    flex: 0 0 auto;
    min-width: 0;
}

#page-my-index .block_myoverview .myoverview-filter-grouping {
    width: 252px;
}

#page-my-index .block_myoverview .myoverview-filter-sorting {
    width: 220px;
}

#page-my-index .block_myoverview .myoverview-filter-display {
    width: 180px;
}

#page-my-index .block_myoverview .myoverview-filter-toggle.btn-outline-secondary {
    display: flex !important;
    align-items: center;
    justify-content: space-between !important;
    gap: 10px;
    width: 100%;
    min-height: 48px;
    padding: 0 18px;
    border: 1px solid #d5e0f0 !important;
    border-radius: 17px !important;
    background: #ffffff !important;
    box-shadow: 0 8px 22px rgba(21, 48, 82, 0.06) !important;
    color: #172033 !important;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.2;
    text-align: left;
}

#page-my-index .block_myoverview .myoverview-filter-toggle.btn-outline-secondary:hover,
#page-my-index .block_myoverview .myoverview-filter-toggle.btn-outline-secondary:focus {
    border-color: #b9c9e2 !important;
    background: #ffffff !important;
    box-shadow: 0 12px 28px rgba(21, 48, 82, 0.10) !important;
    color: #101827 !important;
}

#page-my-index .block_myoverview .dropdown.show > .myoverview-filter-toggle.btn-outline-secondary,
#page-my-index .block_myoverview .myoverview-filter-toggle.btn-outline-secondary[aria-expanded="true"] {
    border-color: #b8c7dc !important;
    background: #ffffff !important;
    box-shadow: 0 0 0 1px rgba(184, 199, 220, 0.72), 0 12px 26px rgba(21, 48, 82, 0.12) !important;
}

#page-my-index .block_myoverview .myoverview-filter-toggle .icon {
    display: none !important;
}

#page-my-index .block_myoverview .myoverview-filter-label {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

#page-my-index .block_myoverview .myoverview-filter-toggle.dropdown-toggle::after {
    flex: 0 0 auto;
    margin-left: auto;
    border-top-color: #2457ad;
    transition: transform var(--ui-transition);
}

#page-my-index .block_myoverview .myoverview-filter-toggle.dropdown-toggle[aria-expanded="true"]::after {
    transform: rotate(180deg);
}

#page-my-index .block_myoverview .myoverview-filter-menu.dropdown-menu {
    left: 0 !important;
    right: auto !important;
    width: 100%;
    min-width: 100%;
    margin-top: 8px;
    padding: 6px;
    border: 1px solid #d5e0f0;
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 18px 40px rgba(18, 47, 80, 0.14);
    backdrop-filter: none;
    overflow: hidden;
}

#page-my-index .block_myoverview .myoverview-filter-menu,
#page-my-index .block_myoverview .myoverview-filter-menu li {
    list-style: none !important;
    margin: 0 !important;
}

#page-my-index .block_myoverview .myoverview-filter-menu li {
    padding: 0 !important;
}

#page-my-index .block_myoverview .myoverview-filter-menu .dropdown-divider {
    display: none !important;
}

#page-my-index .block_myoverview .myoverview-filter-menu .dropdown-item {
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 44px;
    margin: 0 0 2px;
    padding: 11px 14px;
    border: 0 !important;
    border-radius: 14px;
    color: #172033;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.35;
    white-space: normal;
}

#page-my-index .block_myoverview .myoverview-filter-menu .dropdown-item:hover,
#page-my-index .block_myoverview .myoverview-filter-menu .dropdown-item:focus,
#page-my-index .block_myoverview .myoverview-filter-menu .dropdown-item[aria-current="true"] {
    color: #183b82;
    background: #eef2f8;
    box-shadow: none;
}

#page-my-index .block_myoverview .myoverview-filter-menu .moove-hidden-current-item {
    display: list-item !important;
}

#page-my-index .block_myoverview .myoverview-filter-menu .moove-hidden-current-divider {
    display: none !important;
}

#page-my-index .block_recentlyaccessedcourses [data-region="paging-bar-container"] .btn {
    width: auto;
    justify-content: center;
}

/* Dashboard edit-mode and course action menu fixes. */
#page-my-index .dashboard-app-hero__actions {
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}

#page-my-index .dashboard-app-hero__actions .singlebutton,
#page-my-index .dashboard-app-hero__actions form {
    flex: 0 0 auto;
}

#page-my-index.editing #region-main,
#page-my-index.editing .mymaincontent,
#page-my-index.editing .mymaincontent > .card-body,
#page-my-index.editing .block,
#page-my-index.editing .block > .card-body,
#page-my-index.editing .card-text.content,
#page-my-index.editing .block_myoverview .block-myoverview[data-region="myoverview"],
#page-my-index.editing .block_recentlyaccessedcourses .block-recentlyaccessedcourses[data-region="recentlyaccessedcourses"] {
    overflow: visible !important;
}

#page-my-index.editing .block {
    position: relative;
    z-index: 1;
}

#page-my-index.editing .block:hover,
#page-my-index.editing .block:focus-within {
    z-index: 900;
}

#page-my-index.editing .block .block-controls {
    position: relative;
    z-index: 920;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 5px;
    margin-top: -4px;
    margin-left: 12px;
}

#page-my-index.editing .block .block-controls .action-menu,
#page-my-index.editing .block .block-controls .action-menu > .d-flex,
#page-my-index.editing .block .block-controls .action-menu-item,
#page-my-index.editing .block .block-controls .action-menu-trigger,
#page-my-index.editing .block .block-controls .dropdown {
    position: relative;
    overflow: visible !important;
}

#page-my-index.editing .block .block-controls .action-menu > .d-flex {
    align-items: center;
    gap: 4px;
}

#page-my-index.editing .block .block-controls .action-menu-item > a,
#page-my-index.editing .block .block-controls .action-menu-trigger > .dropdown > a.dropdown-toggle {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    padding: 0;
    border: 1px solid #c9d8eb;
    border-radius: 10px;
    background: #ffffff;
    color: #2457ad !important;
    box-shadow: 0 8px 18px rgba(21, 48, 82, 0.10);
}

#page-my-index.editing .block .block-controls .action-menu-trigger > .dropdown > a.dropdown-toggle::after,
#page-my-index.editing .block .block-controls .action-menu-trigger > .dropdown > a.dropdown-toggle .caret {
    display: none !important;
}

#page-my-index.editing .block .block-controls .action-menu-item > a:hover,
#page-my-index.editing .block .block-controls .action-menu-item > a:focus,
#page-my-index.editing .block .block-controls .action-menu-trigger > .dropdown > a.dropdown-toggle:hover,
#page-my-index.editing .block .block-controls .action-menu-trigger > .dropdown > a.dropdown-toggle:focus,
#page-my-index.editing .block .block-controls .action-menu-trigger > .dropdown.show > a.dropdown-toggle {
    border-color: #9eb4d4;
    background: #f2f7ff;
    color: #183b82 !important;
    box-shadow: 0 10px 22px rgba(21, 48, 82, 0.14);
}

#page-my-index.editing .block .block-controls .icon,
#page-my-index.editing .block .block-controls img.icon,
#page-my-index.editing .block .block-controls .iconsmall {
    width: 17px;
    height: 17px;
    margin: 0;
    color: currentColor;
}

#page-my-index.editing .block .block-controls .dropdown-menu {
    right: 0 !important;
    left: auto !important;
    top: 100% !important;
    transform: none !important;
    width: auto !important;
    min-width: min(330px, calc(100vw - 48px)) !important;
    max-width: calc(100vw - 48px);
    margin-top: 8px;
    padding: 8px;
    border: 1px solid #d5e0f0;
    border-radius: 17px;
    background: #ffffff;
    box-shadow: 0 20px 44px rgba(18, 47, 80, 0.18);
    overflow: visible !important;
    z-index: 980 !important;
}

#page-my-index.editing .block .block-controls .dropdown-menu .dropdown-item {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 42px;
    margin: 0 0 2px;
    padding: 10px 12px;
    border: 0 !important;
    border-radius: 12px;
    color: #172033;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.35;
    white-space: normal;
}

#page-my-index.editing .block .block-controls .dropdown-menu .dropdown-item:hover,
#page-my-index.editing .block .block-controls .dropdown-menu .dropdown-item:focus {
    color: #183b82;
    background: #eef2f8;
}

#page-my-index.editing .block .block-controls .dropdown-menu .dropdown-item .icon,
#page-my-index.editing .block .block-controls .dropdown-menu .dropdown-item img.icon {
    flex: 0 0 auto;
    margin: 0;
}

#page-my-index.editing .block .block-controls .dropdown-divider {
    display: none !important;
}

#page-my-index .block_myoverview,
#page-my-index .block_myoverview.card,
#page-my-index .block_myoverview.card > .card-body,
#page-my-index .block_myoverview .card-text.content,
#page-my-index .block_myoverview .block-myoverview[data-region="myoverview"],
#page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="course-view-content"],
#page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="paged-content-container"],
#page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="page-container"],
#page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="paged-content-page"],
#page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="card-deck"],
#page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="courses-view"],
#page-my-index .block_myoverview .course-list-grid {
    overflow: visible !important;
}

#page-my-index .dashboard-card {
    position: relative;
    z-index: 1;
    overflow: hidden !important;
    isolation: isolate !important;
}

#page-my-index .block_myoverview .course-summaryitem,
#page-my-index .block_myoverview .course-listitem {
    position: relative;
    z-index: 1;
    overflow: visible !important;
    isolation: auto !important;
}

#page-my-index .dashboard-card:focus-within,
#page-my-index .dashboard-card:has(.dropdown.show),
#page-my-index .block_myoverview .course-summaryitem:focus-within,
#page-my-index .block_myoverview .course-summaryitem:has(.dropdown.show),
#page-my-index .block_myoverview .course-listitem:focus-within,
#page-my-index .block_myoverview .course-listitem:has(.dropdown.show) {
    z-index: 1250 !important;
}

#page-my-index .dashboard-card > a,
#page-my-index .dashboard-card .dashboard-card-img,
#page-my-index .block_myoverview .course-summaryitem .summaryimage,
#page-my-index .block_myoverview .course-listitem-media {
    overflow: hidden;
}

#page-my-index .dashboard-card:focus-within,
#page-my-index .dashboard-card:has(.dropdown.show) {
    overflow: visible !important;
}

#page-my-index .dashboard-card > a {
    display: block;
    border-top-left-radius: inherit;
    border-top-right-radius: inherit;
}

#page-my-index .dashboard-card .ml-auto.dropdown,
#page-my-index .dashboard-card .dropdown,
#page-my-index .block_myoverview .course-summaryitem .ml-auto.dropdown,
#page-my-index .block_myoverview .course-summaryitem .dropdown,
#page-my-index .block_myoverview .course-listitem .ml-auto.dropdown,
#page-my-index .block_myoverview .course-listitem .dropdown {
    position: relative;
    flex: 0 0 auto;
    width: max-content;
    z-index: 80;
    overflow: visible !important;
}

#page-my-index .dashboard-card .dropdown.show,
#page-my-index .block_myoverview .course-summaryitem .dropdown.show,
#page-my-index .block_myoverview .course-listitem .dropdown.show,
#page-my-index .dashboard-card .ml-auto.dropdown.show,
#page-my-index .block_myoverview .course-summaryitem .ml-auto.dropdown.show,
#page-my-index .block_myoverview .course-listitem .ml-auto.dropdown.show {
    z-index: 1260 !important;
}

#page-my-index .dashboard-card .dropdown-menu,
#page-my-index .block_myoverview .course-summaryitem .dropdown-menu,
#page-my-index .block_myoverview .course-listitem .dropdown-menu {
    right: 0 !important;
    left: auto !important;
    top: 100% !important;
    transform: none !important;
    width: auto !important;
    min-width: 245px !important;
    max-width: min(300px, calc(100vw - 48px));
    margin-top: 8px;
    padding: 8px;
    border: 1px solid #d5e0f0;
    border-radius: 17px;
    background: #ffffff;
    box-shadow: 0 20px 44px rgba(18, 47, 80, 0.18);
    overflow: visible !important;
    z-index: 1270 !important;
}

body#page-my-index .mymaincontent.page-surface,
body#page-my-index .block_myoverview.card,
body#page-my-index .block_recentlyaccessedcourses.card {
    box-shadow: none !important;
}

body#page-my-index,
body#page-my-index #page-wrapper {
    background: var(--ui-bg) !important;
}

body#page-my-index #nav-drawer.closed,
body#page-my-index #nav-drawer-footer {
    background: transparent !important;
    box-shadow: none !important;
}

#page-my-index .dashboard-card .dropdown-item,
#page-my-index .block_myoverview .course-summaryitem .dropdown-item,
#page-my-index .block_myoverview .course-listitem .dropdown-item {
    display: flex;
    align-items: center;
    min-height: 42px;
    width: 100%;
    margin: 0 0 2px;
    padding: 10px 12px;
    border: 0 !important;
    border-radius: 12px;
    color: #172033;
    font-size: 14px;
    font-weight: 750;
    line-height: 1.35;
    white-space: normal;
}

#page-my-index .dashboard-card .dropdown-item:hover,
#page-my-index .dashboard-card .dropdown-item:focus,
#page-my-index .block_myoverview .course-summaryitem .dropdown-item:hover,
#page-my-index .block_myoverview .course-summaryitem .dropdown-item:focus,
#page-my-index .block_myoverview .course-listitem .dropdown-item:hover,
#page-my-index .block_myoverview .course-listitem .dropdown-item:focus {
    color: #183b82;
    background: #eef2f8;
}

#page-my-index .moodle-dialogue-base {
    z-index: 11990 !important;
}

#page-my-index .moodle-dialogue-base .moodle-dialogue-lightbox {
    z-index: 11990 !important;
}

#page-my-index .moodle-dialogue-base .moodle-dialogue {
    z-index: 12000 !important;
}

#page-my-index .moodle-dialogue-base .moodle-dialogue-lightbox {
    background: rgba(17, 24, 39, 0.42);
}

#page-my-index .moodle-dialogue-base .moodle-dialogue-wrap {
    overflow: hidden;
    border: 1px solid #d5e0f0;
    border-radius: 20px;
    background: #ffffff;
    box-shadow: 0 28px 72px rgba(17, 39, 67, 0.22);
}

#page-my-index .moodle-dialogue-base .moodle-dialogue-wrap .moodle-dialogue-hd {
    align-items: center;
    padding: 18px 20px;
    border-bottom: 1px solid #e1e9f5;
}

#page-my-index .moodle-dialogue-base .moodle-dialogue-wrap .moodle-dialogue-hd h5 {
    color: #101827;
    font-size: 1.28rem;
    font-weight: 800;
    line-height: 1.25;
}

#page-my-index .moodle-dialogue-base .closebutton {
    width: 36px;
    height: 36px;
    margin: 0 0 0 auto;
    padding: 0;
    border-radius: 12px;
    color: #475569;
}

#page-my-index .moodle-dialogue-base .closebutton:hover,
#page-my-index .moodle-dialogue-base .closebutton:focus {
    background: #eef2f8;
    color: #172033;
}

#page-my-index .moodle-dialogue-base .moodle-dialogue .moodle-dialogue-bd {
    padding: 12px 18px 18px;
}

#page-my-index .moodle-dialogue-base .moodle-dialogue .moodle-dialogue-bd a {
    display: block;
    margin: 2px 0;
    padding: 10px 12px;
    border-radius: 12px;
    color: #172033;
    font-weight: 700;
    text-decoration: none;
}

#page-my-index .moodle-dialogue-base .moodle-dialogue .moodle-dialogue-bd a:hover,
#page-my-index .moodle-dialogue-base .moodle-dialogue .moodle-dialogue-bd a:focus {
    background: #eef2f8;
    color: #183b82;
}

@media (max-width: 767.98px) {
    #page-my-index .block_myoverview .block-myoverview[data-region="myoverview"] [data-region="filter"] {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px !important;
        margin-bottom: 16px;
    }

    #page-my-index .block_myoverview .myoverview-filter,
    #page-my-index .block_myoverview .myoverview-filter-grouping,
    #page-my-index .block_myoverview .myoverview-filter-sorting,
    #page-my-index .block_myoverview .myoverview-filter-display {
        width: 100%;
        min-width: 0;
    }

    #page-my-index .block_myoverview .myoverview-filter-toggle.btn-outline-secondary {
        min-height: 48px;
        padding: 0 14px;
        border-radius: 16px !important;
        font-size: 13px;
    }

    #page-my-index .block_myoverview .myoverview-filter-menu.dropdown-menu {
        width: min(100%, calc(100vw - 28px));
        min-width: 100%;
        padding: 6px;
        border-radius: 17px;
    }

    #page-my-index .block_myoverview .myoverview-filter-menu .dropdown-item {
        min-height: 42px;
        padding: 10px 12px;
        font-size: 13px;
    }

    #page-my-index .dashboard-app-hero__actions {
        gap: 8px;
    }

    #page-my-index.editing .block .block-controls {
        margin-top: 2px;
        margin-left: 8px;
    }

    #page-my-index.editing .block .block-controls .dropdown-menu,
    #page-my-index .dashboard-card .dropdown-menu,
    #page-my-index .block_myoverview .course-summaryitem .dropdown-menu,
    #page-my-index .block_myoverview .course-listitem .dropdown-menu {
        min-width: min(260px, calc(100vw - 36px)) !important;
        max-width: calc(100vw - 36px);
    }
}
