
/* ============================================================
   NUEV IMathAS Theme v5
   Complete non-question UI shell based on the NUEV prototype.
   Does not include proprietary font files. Uses Helvetica/system stack.
   ============================================================ */
:root {
  --nuev-font: "Helvetica Neue", Helvetica, -apple-system, BlinkMacSystemFont, "SF Pro Text", Arial, sans-serif;
  --nuev-display: "Helvetica Neue", Helvetica, -apple-system, BlinkMacSystemFont, "SF Pro Display", Arial, sans-serif;
  --nuev-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  --nuev-sky: #2FB8F8;
  --nuev-blue: #1A4482;
  --nuev-blue-50: #EEF2F9;
  --nuev-blue-100: #DCE5F2;
  --nuev-blue-200: #BACCE4;
  --nuev-blue-600: #1A4482;
  --nuev-blue-700: #163A6E;
  --nuev-blue-900: #0E2342;
  --nuev-blue-950: #081628;
  --nuev-bg: #F6F9FC;
  --nuev-surface: #FFFFFF;
  --nuev-surface-soft: rgba(255,255,255,.88);
  --nuev-muted: #EEF3F9;
  --nuev-border: #E1E8F1;
  --nuev-border-strong: #CBD6E3;
  --nuev-text: #0E1B30;
  --nuev-text-2: #33425A;
  --nuev-text-3: #6B7C92;
  --nuev-success: #15924F;
  --nuev-warning: #C9791A;
  --nuev-danger: #D33A36;
  --nuev-radius-sm: 8px;
  --nuev-radius: 12px;
  --nuev-radius-lg: 18px;
  --nuev-radius-xl: 24px;
  --nuev-pill: 999px;
  --nuev-shadow-xs: 0 1px 2px rgba(14,27,48,.06);
  --nuev-shadow-sm: 0 1px 3px rgba(14,27,48,.08), 0 1px 2px rgba(14,27,48,.04);
  --nuev-shadow: 0 8px 28px rgba(14,27,48,.09), 0 2px 7px rgba(14,27,48,.05);
  --nuev-shadow-lg: 0 24px 60px rgba(14,27,48,.14), 0 8px 18px rgba(14,27,48,.07);
  --nuev-ring: 0 0 0 3px rgba(26,68,130,.28);
  --nuev-max: 1240px;
}

html {
  min-height: 100%;
  background-color: #fff !important;
  text-size-adjust: none;
  -webkit-text-size-adjust: none;
}
body {
  min-height: 100vh !important;
  margin: 0 !important;
  padding: 0 !important;
  background-color: #fff !important;
  background-image:
    radial-gradient(circle at 15% 0%, rgba(47,184,248,.14), transparent 420px),
    linear-gradient(180deg, #fff 0%, var(--nuev-bg) 48%, #fff 100%) !important;
  background-repeat: no-repeat, no-repeat !important;
  background-position: top left, top left !important;
  background-size: 100vw 100vh, 100vw 100vh !important;
  background-attachment: fixed, fixed !important;
  color: var(--nuev-text) !important;
  font-family: var(--nuev-font) !important;
  font-size: 15px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
* { box-sizing: border-box; }
a, a:link, a:visited { color: var(--nuev-blue-700); }
a:hover { color: var(--nuev-blue-900); }
::selection { background: var(--nuev-blue-100); }

/* IMathAS frame */
.mainbody,
.headerwrapper { width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; background: transparent !important; border: 0 !important; }
.midwrapper { max-width: var(--nuev-max) !important; margin: 0 auto !important; padding: 28px 24px 64px !important; background: transparent !important; }
.footerwrapper { max-width: var(--nuev-max); margin: 0 auto; padding: 22px 24px 36px; color: var(--nuev-text-3); }
#headerlogo, .headerwrapper > #navlistcont, #navlistcont { display: none !important; }
.clear { clear: both; }

/* ======================= Critical top bar mirror ======================= */
.nuev5-appbar { position: sticky; top: 0; z-index: 1000; display: grid; grid-template-columns: minmax(210px, auto) minmax(0, 1fr) auto; gap: 18px; align-items: center; min-height: 64px; padding: 0 24px; background: rgba(255,255,255,.90); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); border-bottom: 1px solid var(--nuev-border); box-shadow: 0 1px 0 rgba(255,255,255,.85); }
.nuev5-brand { min-width: 0; display: inline-flex; align-items: center; gap: 9px; color: var(--nuev-text) !important; text-decoration: none !important; }
.nuev5-brand img { width: 30px !important; height: 30px !important; min-width: 30px !important; max-width: 30px !important; min-height: 30px !important; max-height: 30px !important; display: block !important; border-radius: 8px; object-fit: contain; }
.nuev5-brand-word { font-size: 18px; font-weight: 800; letter-spacing: -.03em; line-height: 1; }
.nuev5-slash { color: var(--nuev-border-strong); font-size: 18px; font-weight: 300; }
.nuev5-context { font-size: 13.5px; color: var(--nuev-text-2); font-weight: 650; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 240px; }
.nuev5-nav { display: flex; align-items: center; justify-content: center; gap: 4px; min-width: 0; overflow-x: auto; scrollbar-width: none; }
.nuev5-nav::-webkit-scrollbar { display: none; }
.nuev5-nav a { display: inline-flex !important; align-items: center !important; gap: 7px !important; height: 38px !important; padding: 0 12px !important; border-radius: var(--nuev-pill) !important; text-decoration: none !important; color: var(--nuev-text-2) !important; font-size: 13px !important; font-weight: 650 !important; white-space: nowrap !important; transition: background .16s ease, color .16s ease, transform .1s ease; }
.nuev5-nav a:hover, .nuev5-nav a:focus, .nuev5-nav a[aria-current="page"] { background: var(--nuev-blue-50) !important; color: var(--nuev-blue-700) !important; outline: 0; }
.nuev5-icon { width: 16px !important; height: 16px !important; min-width: 16px !important; max-width: 16px !important; min-height: 16px !important; max-height: 16px !important; flex: 0 0 16px !important; display: inline-block !important; vertical-align: -3px !important; }
.nuev5-actions { display: flex; align-items: center; justify-content: flex-end; gap: 10px; min-width: 0; }
.nuev5-role { height: 30px; display: inline-flex; align-items: center; padding: 0 10px; border-radius: var(--nuev-pill); background: var(--nuev-blue-50); color: var(--nuev-blue-700); font-size: 12px; font-weight: 800; }
.nuev5-user { position: relative; }
.nuev5-user summary { list-style: none; cursor: pointer; display: inline-flex; align-items: center; gap: 9px; border-radius: var(--nuev-pill); padding: 4px 8px 4px 4px; min-height: 40px; color: var(--nuev-text) !important; }
.nuev5-user summary::-webkit-details-marker { display: none; }
.nuev5-user summary:hover { background: var(--nuev-muted); }
.nuev5-avatar { width: 32px; height: 32px; border-radius: 50%; background: linear-gradient(135deg, var(--nuev-sky), var(--nuev-blue)); color: #fff; display: grid; place-items: center; font-size: 12px; font-weight: 800; box-shadow: 0 10px 26px rgba(26,68,130,.25); }
.nuev5-usertext { min-width: 0; line-height: 1.1; }
.nuev5-name { max-width: 136px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; font-weight: 800; }
.nuev5-sub { margin-top: 3px; font-size: 11px; color: var(--nuev-text-3); }
.nuev5-menu { position: absolute; right: 0; top: calc(100% + 9px); min-width: 230px; padding: 8px; border: 1px solid var(--nuev-border); border-radius: var(--nuev-radius); background: #fff; box-shadow: var(--nuev-shadow-lg); }
.nuev5-menu a, .nuev5-menu .nuev5-menu-label { display: flex; align-items: center; gap: 8px; width: 100%; min-height: 36px; padding: 0 10px; border-radius: 10px; text-decoration: none !important; color: var(--nuev-text-2) !important; font-size: 13px; font-weight: 650; }
.nuev5-menu a:hover { background: var(--nuev-blue-50); color: var(--nuev-blue-700) !important; }
.nuev5-menu hr { border: 0; border-top: 1px solid var(--nuev-border); margin: 7px 2px; }

/* ======================= Course app shell ======================= */
.nuev5-course-shell { display: grid !important; grid-template-columns: 304px minmax(0, 1fr) !important; gap: 28px !important; align-items: start; width: 100%; max-width: var(--nuev-max); margin: 0 auto; }
.nuev5-sidebar { position: sticky; top: 86px; display: grid; gap: 14px; }
.nuev5-card, .nuev5-panel, .nuev5-sidebox, .nuev5-hero, .nuev5-notice, .nuev5-dashboard-card, .nuev5-dashboard-panel { background: var(--nuev-surface-soft); border: 1px solid var(--nuev-border); border-radius: var(--nuev-radius-lg); box-shadow: var(--nuev-shadow-sm); }
.nuev5-course-id { overflow: hidden; }
.nuev5-course-cover { height: 92px; background: radial-gradient(circle at 82% 18%, rgba(255,255,255,.25), transparent 120px), linear-gradient(135deg, var(--nuev-sky) 0%, var(--nuev-blue) 100%); }
.nuev5-course-meta { padding: 18px; margin-top: -36px; }
.nuev5-course-badge { width: 64px; height: 64px; border-radius: 18px; background: #fff; display: grid; place-items: center; color: var(--nuev-blue); font-size: 27px; font-weight: 800; box-shadow: var(--nuev-shadow); margin-bottom: 14px; }
.nuev5-course-meta h2 { margin: 0 0 4px !important; font-size: 20px !important; line-height: 1.14 !important; letter-spacing: -.02em; }
.nuev5-course-meta p { margin: 0; color: var(--nuev-text-3); font-size: 13px; }
.nuev5-progress { margin-top: 16px; }
.nuev5-progress-row { display: flex; justify-content: space-between; gap: 12px; font-size: 12px; color: var(--nuev-text-3); font-weight: 700; margin-bottom: 8px; }
.nuev5-progress-track { height: 8px; overflow: hidden; border-radius: var(--nuev-pill); background: var(--nuev-muted); }
.nuev5-progress-fill { height: 100%; width: 42%; border-radius: inherit; background: linear-gradient(90deg, var(--nuev-blue), var(--nuev-sky)); }
.nuev5-sidebox { padding: 14px; }
.nuev5-sidetitle { margin: 2px 4px 9px; color: var(--nuev-blue); font-size: 11px; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.nuev5-sidelist { margin: 0 !important; padding: 0 !important; list-style: none !important; display: grid; gap: 3px; }
.nuev5-sidelist li { margin: 0 !important; padding: 0 !important; list-style: none !important; }
.nuev5-sidelist a { display: flex !important; align-items: center; gap: 9px; min-height: 38px; padding: 0 10px; border-radius: 11px; color: var(--nuev-text-2) !important; text-decoration: none !important; font-size: 13.5px; font-weight: 680; }
.nuev5-sidelist a:hover, .nuev5-sidelist a[aria-current="page"] { background: var(--nuev-blue-50); color: var(--nuev-blue-700) !important; }
.nuev5-main { min-width: 0; display: grid; gap: 18px; }
.nuev5-breadcrumb { color: var(--nuev-text-3); font-size: 13px; display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.nuev5-breadcrumb a { color: var(--nuev-text-3) !important; text-decoration: none; font-weight: 650; }
.nuev5-breadcrumb a:hover { color: var(--nuev-blue-700) !important; }
.nuev5-hero { padding: 28px; display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; }
.nuev5-overline { color: var(--nuev-blue); font-size: 11px; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; margin-bottom: 8px; }
.nuev5-hero h1 { margin: 0 !important; font-size: 38px !important; line-height: 1.08 !important; letter-spacing: -.035em; font-weight: 850 !important; color: var(--nuev-text) !important; }
.nuev5-hero p { margin: 12px 0 0; color: var(--nuev-text-2); font-size: 16px; max-width: 650px; }
.nuev5-actions-row { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; }
.nuev5-button, .nuev5-primary, .nuev5-secondary, a.abutton, .abutton { display: inline-flex !important; align-items: center; justify-content: center; gap: 8px; min-height: 38px; padding: 0 14px !important; border-radius: var(--nuev-pill) !important; border: 1px solid var(--nuev-border) !important; background: #fff !important; color: var(--nuev-text-2) !important; font-size: 13.5px !important; font-weight: 750 !important; text-decoration: none !important; box-shadow: var(--nuev-shadow-xs); }
.nuev5-primary { background: var(--nuev-blue) !important; border-color: var(--nuev-blue) !important; color: #fff !important; }
.nuev5-button:hover, .nuev5-secondary:hover, a.abutton:hover { background: var(--nuev-blue-50) !important; color: var(--nuev-blue-700) !important; }
.nuev5-primary:hover { background: var(--nuev-blue-700) !important; color: #fff !important; }
.nuev5-segments { display: inline-flex; align-items: center; gap: 3px; padding: 3px; border-radius: var(--nuev-pill); background: var(--nuev-muted); }
.nuev5-segments a { min-height: 32px; display: inline-flex; align-items: center; padding: 0 12px; border-radius: var(--nuev-pill); text-decoration: none !important; color: var(--nuev-text-2) !important; font-size: 12.5px; font-weight: 800; }
.nuev5-segments a.active, .nuev5-segments a[aria-current="page"] { background: #fff; color: var(--nuev-blue-700) !important; box-shadow: var(--nuev-shadow-xs); }
.nuev5-addbar, .nuev5-notice { padding: 14px 16px; }
.nuev5-addbar form, .nuev5-addbar p { margin: 0 !important; }

/* Native course items, transformed into cards */
div.item, div.itemgrey { background: #fff !important; border: 1px solid var(--nuev-border) !important; border-radius: var(--nuev-radius-lg) !important; box-shadow: var(--nuev-shadow-sm); padding: 16px !important; margin: 0 0 12px !important; transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
div.item:hover { transform: translateY(-2px); box-shadow: var(--nuev-shadow); border-color: var(--nuev-border-strong) !important; }
div.itemhdr { min-height: 34px !important; display: flex; align-items: center; gap: 12px; position: relative; }
div.itemhdricon { position: static !important; flex: 0 0 auto; width: 34px; height: 34px; display: grid; place-items: center; border-radius: 10px; background: var(--nuev-blue-50); color: var(--nuev-blue); }
div.itemhdricon img { width: 22px !important; height: 22px !important; max-width: 22px !important; max-height: 22px !important; object-fit: contain !important; }
div.title, div.itemhdr div.title { margin: 0 !important; font-size: 15px; font-weight: 800; color: var(--nuev-text); flex: 1 1 auto; min-width: 0; }
div.itemsum { margin: 10px 0 0 46px !important; color: var(--nuev-text-2); overflow: visible !important; }
div.block { background: #fff !important; border: 1px solid var(--nuev-border) !important; border-radius: var(--nuev-radius-lg) var(--nuev-radius-lg) 0 0 !important; padding: 14px 16px !important; margin: 16px 0 0 !important; box-shadow: var(--nuev-shadow-xs); }
div.block h2, div.block h3, div.block b { margin: 0 !important; font-size: 16px !important; color: var(--nuev-text); }
div.blockitems { background: rgba(255,255,255,.70) !important; border: 1px solid var(--nuev-border) !important; border-top: 0 !important; border-radius: 0 0 var(--nuev-radius-lg) var(--nuev-radius-lg) !important; padding: 14px !important; margin: 0 0 14px !important; }
.itemhdrdd { position: static !important; margin-left: auto; }
.dropdown-menu { border: 1px solid var(--nuev-border) !important; border-radius: var(--nuev-radius) !important; box-shadow: var(--nuev-shadow-lg) !important; padding: 8px !important; background: #fff !important; }
.dropdown-menu li a { border-radius: 9px; padding: 8px 10px !important; color: var(--nuev-text-2) !important; text-decoration: none !important; }
.dropdown-menu li a:hover { background: var(--nuev-blue-50) !important; color: var(--nuev-blue-700) !important; }

/* Global menus and pages */
#homelinkbox { float: none !important; display: flex !important; align-items: center; gap: 8px; justify-content: flex-end; padding: 0 !important; margin: 0 0 18px !important; }
#homelinkbox a { display: inline-flex; align-items: center; min-height: 34px; padding: 0 12px; border-radius: var(--nuev-pill); background: #fff; border: 1px solid var(--nuev-border); text-decoration: none; font-size: 13px; font-weight: 700; }
.pagetitle h1, .pagetitle h2 { font-family: var(--nuev-display) !important; color: var(--nuev-text) !important; letter-spacing: -.025em; }
.pagetitle h1 { font-size: 34px !important; line-height: 1.1 !important; margin: 0 0 18px !important; }
.pagetitle h2 { font-size: 26px !important; line-height: 1.18 !important; }
.breadcrumb, div.breadcrumb { background: rgba(255,255,255,.82) !important; border: 1px solid var(--nuev-border) !important; border-radius: var(--nuev-radius) !important; padding: 11px 14px !important; margin: 0 0 16px !important; box-shadow: var(--nuev-shadow-xs); }
#leftcontent { background: rgba(255,255,255,.84) !important; border: 1px solid var(--nuev-border) !important; border-radius: var(--nuev-radius-lg) !important; padding: 14px !important; box-shadow: var(--nuev-shadow-sm); }
#leftcontent p { margin: 0 0 14px !important; }
#leftcontent a { display: inline-flex; align-items: center; min-height: 28px; border-radius: 9px; padding: 2px 6px; text-decoration: none; }
#leftcontent a:hover { background: var(--nuev-blue-50); }
#centercontent { min-width: 0; }
.cpmid, .cp, div.signup, div.intro { background: #fff !important; border: 1px solid var(--nuev-border) !important; border-radius: var(--nuev-radius) !important; padding: 14px !important; box-shadow: var(--nuev-shadow-xs); }
ul.courselist { display: grid; gap: 10px; margin: 0 !important; padding: 0 !important; }
ul.courselist > li { list-style: none !important; background: #fff; border: 1px solid var(--nuev-border) !important; border-radius: var(--nuev-radius) !important; padding: 13px 14px !important; box-shadow: var(--nuev-shadow-xs); }
ul.courselist > li > a { font-weight: 800; font-size: 15px; text-decoration: none; }
#leftcolumn, #rightcolumn, #homefullwidth { display: grid; gap: 16px; }
#leftcolumn, #rightcolumn { width: auto !important; }

/* Tables and forms */
.nuev5-table-wrap { width: 100%; overflow: auto; border: 1px solid var(--nuev-border); border-radius: var(--nuev-radius-lg); background: #fff; box-shadow: var(--nuev-shadow-sm); margin: 14px 0; }
.nuev5-table-wrap > table { margin: 0 !important; border: 0 !important; width: 100%; }
table:not(.paddedtable):not(.p3longdiv):not(.longdiv) { border-collapse: separate !important; border-spacing: 0 !important; }
table:not(.paddedtable):not(.p3longdiv):not(.longdiv) th { background: var(--nuev-blue-50) !important; color: var(--nuev-blue-700) !important; font-size: 12px; text-transform: uppercase; letter-spacing: .08em; }
table:not(.paddedtable):not(.p3longdiv):not(.longdiv) th, table:not(.paddedtable):not(.p3longdiv):not(.longdiv) td { border-color: var(--nuev-border) !important; padding: 9px 11px !important; }
input[type=text], input[type=password], input[type=email], input[type=number], input[type=date], input[type=search], select, textarea { border: 1px solid var(--nuev-border-strong) !important; border-radius: 10px !important; background: #fff !important; color: var(--nuev-text) !important; min-height: 38px; padding: 7px 10px !important; font-family: var(--nuev-font) !important; font-size: 14px !important; }
textarea { min-height: 92px; }
input:focus, select:focus, textarea:focus { outline: none !important; border-color: var(--nuev-blue) !important; box-shadow: var(--nuev-ring) !important; }
input[type=submit], input[type=button], button { min-height: 36px !important; padding: 0 13px !important; border: 1px solid var(--nuev-border-strong) !important; border-radius: var(--nuev-pill) !important; background: #fff !important; color: var(--nuev-text-2) !important; font-family: var(--nuev-font) !important; font-weight: 750 !important; cursor: pointer; box-shadow: var(--nuev-shadow-xs); }
input[type=submit]:hover, input[type=button]:hover, button:hover { background: var(--nuev-blue-50) !important; color: var(--nuev-blue-700) !important; }
.noticetext, a.noticetext { color: var(--nuev-danger) !important; font-weight: 800; }
.info { color: var(--nuev-blue-700) !important; }
.warn { color: var(--nuev-warning) !important; }

/* Optional v5 home dashboard */
.nuev5-dashboard { max-width: var(--nuev-max); margin: 0 auto; display: grid; gap: 22px; }
.nuev5-dashboard-hero { display: flex; justify-content: space-between; gap: 24px; align-items: flex-end; padding: 30px; border-radius: var(--nuev-radius-xl); color: #fff; background: radial-gradient(circle at 86% 20%, rgba(255,255,255,.26), transparent 250px), linear-gradient(135deg, var(--nuev-blue-950), var(--nuev-blue)); box-shadow: var(--nuev-shadow-lg); }
.nuev5-dashboard-hero h1 { margin: 0; font-size: 38px; line-height: 1.08; letter-spacing: -.035em; }
.nuev5-dashboard-hero p { margin: 10px 0 0; color: rgba(255,255,255,.82); max-width: 620px; }
.nuev5-dashboard-grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(280px, .75fr); gap: 20px; }
.nuev5-dashboard-panel { padding: 18px; }
.nuev5-panel-header { display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px; }
.nuev5-panel-header h2 { margin: 0 !important; font-size: 20px !important; letter-spacing: -.02em; }
.nuev5-coursegrid { display: grid; gap: 12px; }
.nuev5-dashcourse { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 14px; border: 1px solid var(--nuev-border); border-radius: var(--nuev-radius); background: #fff; text-decoration: none !important; color: var(--nuev-text) !important; box-shadow: var(--nuev-shadow-xs); }
.nuev5-dashcourse:hover { transform: translateY(-2px); box-shadow: var(--nuev-shadow); }
.nuev5-dashicon { width:44px;height:44px;border-radius:13px;background:var(--nuev-blue-50);display:grid;place-items:center;color:var(--nuev-blue);font-weight:900; }
.nuev5-dashtitle { font-weight: 850; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.nuev5-dashmeta { color: var(--nuev-text-3); font-size: 13px; margin-top: 3px; }
.nuev5-empty { padding: 16px; border: 1px dashed var(--nuev-border-strong); border-radius: var(--nuev-radius); color: var(--nuev-text-3); }

/* SVG/image containment: never affect math/question content */
.nuev5-appbar svg, .nuev5-sidebar svg, .nuev5-menu svg, .nuev5-course-shell img[src$=".svg"], .dropdown-toggle img[src$=".svg"], #leftcontent img[src$=".svg"] { width: 16px !important; height: 16px !important; max-width: 16px !important; max-height: 16px !important; object-fit: contain !important; }
.nuev5-brand img[src$=".png"] { width: 30px !important; height: 30px !important; max-width: 30px !important; max-height: 30px !important; }

/* Do not redesign the question body itself. Keep selectors away from div.question. */

@media (max-width: 1040px) {
  .nuev5-appbar { grid-template-columns: 1fr auto; min-height: 64px; padding: 10px 16px; }
  .nuev5-nav { grid-column: 1 / -1; justify-content: flex-start; order: 3; width: 100%; padding-bottom: 2px; }
  .nuev5-usertext, .nuev5-role { display: none; }
  .nuev5-course-shell, .nuev5-dashboard-grid { grid-template-columns: 1fr !important; }
  .nuev5-sidebar { position: static; }
}
@media (max-width: 620px) {
  .midwrapper { padding: 18px 14px 44px !important; }
  .nuev5-appbar { gap: 8px; padding: 9px 12px; }
  .nuev5-brand-word { font-size: 16px; }
  .nuev5-context { max-width: 120px; }
  .nuev5-nav a { height: 34px !important; padding: 0 10px !important; font-size: 12.5px !important; }
  .nuev5-hero { padding: 20px; display: block; }
  .nuev5-hero h1, .nuev5-dashboard-hero h1 { font-size: 30px !important; }
  .nuev5-dashboard-hero { display:block;padding:22px; }
}

/* ============================================================
   NUEV IMathAS Theme v5.1 refinements
   Dashboard/course richness, safer app nav, buttonized links, and TinyMCE cleanup.
   ============================================================ */
body.imathas-theme-nuev-v5 .nuev5-context:empty::before,
body.imathas-theme-nuev-v5-1 .nuev5-context:empty::before { content: "Dashboard"; }

/* Stronger dashboard presentation. These classes are emitted by v5.1 homeinclude.php. */
.nuev51-dashboard { max-width: var(--nuev-max); margin: 0 auto; display: grid; gap: 24px; }
.nuev51-hero { position: relative; overflow: hidden; display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr); gap: 24px; align-items: end; padding: 34px; border-radius: 28px; color: #fff; background: radial-gradient(circle at 85% 12%, rgba(47,184,248,.46), transparent 300px), linear-gradient(135deg, var(--nuev-blue-950) 0%, var(--nuev-blue-900) 45%, var(--nuev-blue) 100%); box-shadow: var(--nuev-shadow-lg); }
.nuev51-hero:before { content: ""; position: absolute; inset: auto -80px -180px auto; width: 420px; height: 420px; border-radius: 50%; background: rgba(255,255,255,.08); }
.nuev51-hero > * { position: relative; }
.nuev51-overline { font-size: 12px; letter-spacing: .14em; text-transform: uppercase; font-weight: 850; color: var(--nuev-sky); }
.nuev51-hero h1 { margin: 10px 0 0 !important; color: #fff !important; font-size: 44px !important; line-height: 1.05 !important; letter-spacing: -.04em !important; }
.nuev51-hero p { margin: 14px 0 0; color: rgba(255,255,255,.82); font-size: 16px; max-width: 680px; }
.nuev51-hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.nuev51-hero-actions a { background: #fff !important; color: var(--nuev-blue-700) !important; border-color: #fff !important; }
.nuev51-hero-actions a:hover { background: var(--nuev-blue-50) !important; }
.nuev51-statbox { display: grid; gap: 10px; }
.nuev51-stat { padding: 15px; border: 1px solid rgba(255,255,255,.18); border-radius: 18px; background: rgba(255,255,255,.12); backdrop-filter: blur(8px); }
.nuev51-stat b { display: block; font-size: 28px; line-height: 1; color: #fff; }
.nuev51-stat span { display: block; margin-top: 5px; color: rgba(255,255,255,.76); font-size: 12px; font-weight: 750; text-transform: uppercase; letter-spacing: .08em; }
.nuev51-grid { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(310px, .75fr); gap: 22px; }
.nuev51-panel { background: rgba(255,255,255,.90); border: 1px solid var(--nuev-border); border-radius: 22px; box-shadow: var(--nuev-shadow); padding: 20px; }
.nuev51-panelhead { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 16px; }
.nuev51-panelhead h2 { margin: 0 !important; font-size: 24px !important; letter-spacing: -.03em !important; }
.nuev51-coursegrid { display: grid; gap: 14px; }
.nuev51-dashcourse { display: grid; grid-template-columns: 56px minmax(0, 1fr) auto; gap: 14px; align-items: center; background: #fff; border: 1px solid var(--nuev-border); border-radius: 18px; padding: 16px; box-shadow: var(--nuev-shadow-sm); transition: transform .14s ease, box-shadow .14s ease, border-color .14s ease; }
.nuev51-dashcourse:hover { transform: translateY(-2px); box-shadow: var(--nuev-shadow); border-color: var(--nuev-border-strong); }
.nuev51-dashicon { width: 56px; height: 56px; border-radius: 18px; background: linear-gradient(135deg, var(--nuev-blue-50), var(--nuev-blue-100)); display: grid; place-items: center; color: var(--nuev-blue); font-size: 26px; font-weight: 900; }
.nuev51-dashbody { min-width: 0; }
.nuev51-row { display: flex; flex-wrap: wrap; gap: 7px; align-items: center; margin-bottom: 7px; }
.nuev51-pill, .nuev51-status { display: inline-flex; align-items: center; height: 24px; padding: 0 9px; border-radius: var(--nuev-pill); font-size: 11px; font-weight: 850; }
.nuev51-pill { background: var(--nuev-blue-50); color: var(--nuev-blue-700); }
.nuev51-status.is-active { background: #E7F6EE; color: var(--nuev-success); }
.nuev51-status.is-muted { background: var(--nuev-muted); color: var(--nuev-text-3); }
.nuev51-dashcourse h3 { margin: 0 !important; font-size: 18px !important; letter-spacing: -.02em !important; }
.nuev51-dashcourse h3 a { text-decoration: none !important; color: var(--nuev-text) !important; }
.nuev51-dashcourse p { margin: 6px 0 0; color: var(--nuev-text-3); font-size: 13px; }
.nuev51-badges { display: flex; gap: 6px; margin-top: 8px; }
.nuev51-badges span { background: #FCF1E1; color: var(--nuev-warning); border-radius: var(--nuev-pill); padding: 3px 8px; font-size: 11px; font-weight: 800; }
.nuev51-dashactions { display: flex; align-items: center; }
.nuev51-actions { display: grid; gap: 10px; }
.nuev51-actions a { justify-content: flex-start !important; }
.nuev51-empty { padding: 18px; border: 1px dashed var(--nuev-border-strong); border-radius: 16px; color: var(--nuev-text-3); background: var(--nuev-bg); }
.nuev51-activityitem { padding: 12px 0; border-bottom: 1px solid var(--nuev-border); }
.nuev51-activityitem:last-child { border-bottom: 0; }
.nuev51-activityitem a { font-weight: 800; text-decoration: none !important; }
.nuev51-muted { color: var(--nuev-text-3); font-size: 13px; }

/* Richer course landing page. */
.nuev51-course-hero { color: #fff !important; background: radial-gradient(circle at 88% 10%, rgba(47,184,248,.36), transparent 280px), linear-gradient(135deg, var(--nuev-blue-950), var(--nuev-blue)) !important; border: 0 !important; box-shadow: var(--nuev-shadow-lg) !important; }
.nuev51-course-hero .nuev5-overline { color: var(--nuev-sky) !important; }
.nuev51-course-hero h1 { color: #fff !important; }
.nuev51-course-hero p { color: rgba(255,255,255,.78) !important; }
.nuev51-course-hero .nuev5-secondary { background: rgba(255,255,255,.12) !important; border-color: rgba(255,255,255,.25) !important; color: #fff !important; box-shadow: none !important; }
.nuev51-course-hero .nuev5-secondary:hover { background: rgba(255,255,255,.20) !important; color: #fff !important; }
.nuev51-course-hero .nuev5-primary { background: #fff !important; border-color: #fff !important; color: var(--nuev-blue-700) !important; }
.nuev51-hero-meta { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.nuev51-hero-meta span { display: inline-flex; align-items: center; height: 28px; padding: 0 10px; border-radius: var(--nuev-pill); background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.20); color: rgba(255,255,255,.84); font-size: 12px; font-weight: 800; }
.nuev51-course-summary { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 14px; }
.nuev51-course-summary article { padding: 16px; border: 1px solid var(--nuev-border); border-radius: 18px; background: rgba(255,255,255,.90); box-shadow: var(--nuev-shadow-sm); }
.nuev51-summary-num { display: block; font-size: 28px; line-height: 1; color: var(--nuev-blue); font-weight: 900; letter-spacing: -.03em; }
.nuev51-summary-label { display: block; margin-top: 6px; color: var(--nuev-text-3); font-size: 12px; font-weight: 850; text-transform: uppercase; letter-spacing: .08em; }
.nuev5-addbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; padding: 14px 16px !important; background: #fff !important; border: 1px solid var(--nuev-border) !important; border-radius: 18px !important; box-shadow: var(--nuev-shadow-sm); }
.nuev5-addbar a, .nuev5-addbar select, .nuev5-addbar input[type=button] { margin-top: 0 !important; }

/* Buttonize selected text-only links without breaking content/question links. */
.nuev5-dashboard a:not(.nuev5-dashcourse):not(.nuev5-primary):not(.nuev5-secondary),
.nuev51-dashboard a:not(.nuev5-primary):not(.nuev5-secondary),
.nuev5-main > a,
.nuev5-panel > a,
.nuev5-notice a,
#homelinkbox a,
a.abutton,
.abutton { display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 8px !important; min-height: 36px !important; padding: 0 13px !important; border-radius: var(--nuev-pill) !important; border: 1px solid var(--nuev-border) !important; background: #fff !important; color: var(--nuev-blue-700) !important; text-decoration: none !important; font-size: 13px !important; font-weight: 800 !important; box-shadow: var(--nuev-shadow-xs); }
.nuev51-dashcourse h3 a { display: inline !important; min-height: 0 !important; padding: 0 !important; border: 0 !important; background: transparent !important; box-shadow: none !important; color: var(--nuev-text) !important; font-size: inherit !important; }

/* TinyMCE editor reset: keep editor controls compact, not large blue pills. */
.tox.tox-tinymce { border: 1px solid var(--nuev-border-strong) !important; border-radius: 16px !important; box-shadow: var(--nuev-shadow-sm) !important; overflow: hidden !important; font-family: var(--nuev-font) !important; background: #fff !important; }
.tox .tox-menubar { background: #fff !important; padding: 4px 8px 0 !important; border-bottom: 0 !important; }
.tox .tox-toolbar, .tox .tox-toolbar__primary, .tox .tox-toolbar-overlord { background: #fff !important; }
.tox .tox-toolbar__group { padding: 4px 6px !important; border-color: var(--nuev-border) !important; }
.tox .tox-mbtn, .tox .tox-tbtn, .tox .tox-split-button, .tox .tox-button, .tox button { box-shadow: none !important; font-family: var(--nuev-font) !important; }
.tox .tox-mbtn { height: 34px !important; min-height: 34px !important; padding: 0 10px !important; margin: 1px !important; border: 0 !important; border-radius: 9px !important; background: transparent !important; color: var(--nuev-text-2) !important; font-weight: 700 !important; }
.tox .tox-mbtn:hover, .tox .tox-mbtn--active { background: var(--nuev-blue-50) !important; color: var(--nuev-blue-700) !important; }
.tox .tox-tbtn { width: 34px !important; min-width: 34px !important; max-width: 34px !important; height: 34px !important; min-height: 34px !important; max-height: 34px !important; padding: 0 !important; margin: 2px !important; border: 0 !important; border-radius: 9px !important; background: transparent !important; color: var(--nuev-text-2) !important; }
.tox .tox-tbtn:hover, .tox .tox-tbtn--enabled, .tox .tox-tbtn--active { background: var(--nuev-blue-50) !important; color: var(--nuev-blue-700) !important; }
.tox .tox-tbtn svg { width: 20px !important; height: 20px !important; max-width: 20px !important; max-height: 20px !important; fill: currentColor !important; }
.tox .tox-tbtn__select-label { font-size: 13px !important; font-weight: 700 !important; color: inherit !important; }
.tox .tox-tbtn--select { width: auto !important; max-width: none !important; padding: 0 10px !important; }
.tox .tox-split-button { border-radius: 9px !important; border: 0 !important; background: transparent !important; margin: 2px !important; }
.tox .tox-split-button:hover { box-shadow: none !important; background: var(--nuev-blue-50) !important; }
.tox .tox-edit-area { border-top: 1px solid var(--nuev-border) !important; }
.tox .tox-edit-area__iframe { background: #fff !important; }
.tox .tox-statusbar { border-top: 1px solid var(--nuev-border) !important; background: var(--nuev-bg) !important; color: var(--nuev-text-3) !important; }
.tox .tox-collection__item { border-radius: 9px !important; }
.tox .tox-collection__item--active, .tox .tox-collection__item--enabled { background: var(--nuev-blue-50) !important; color: var(--nuev-blue-700) !important; }
.tox .tox-button { min-height: 34px !important; padding: 0 12px !important; border-radius: var(--nuev-pill) !important; border: 1px solid var(--nuev-blue) !important; background: var(--nuev-blue) !important; color: #fff !important; font-weight: 800 !important; }
.tox .tox-button--secondary { background: #fff !important; border-color: var(--nuev-border-strong) !important; color: var(--nuev-text-2) !important; }
/* Do not let the global IMathAS button rule win inside TinyMCE. */
.tox button:hover, .tox .tox-button:hover, .tox .tox-tbtn:hover, .tox .tox-mbtn:hover { box-shadow: none !important; }

@media (max-width: 980px) {
  .nuev51-hero, .nuev51-grid, .nuev51-course-summary { grid-template-columns: 1fr; }
  .nuev51-dashcourse { grid-template-columns: 48px minmax(0, 1fr); }
  .nuev51-dashactions { grid-column: 1 / -1; }
  .nuev51-dashactions a { width: 100%; }
  .nuev51-hero h1 { font-size: 34px !important; }
}


/* ============================================================
   NUEV IMathAS Theme v5.2 dashboard button hotfix
   The dashboard now avoids plain underlined links and uses true card/button controls.
   ============================================================ */
body.imathas-theme-nuev-v5-2 .nuev52-dashboard a,
.nuev52-dashboard a { text-decoration: none !important; }
.nuev52-btn { display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 8px !important; min-height: 40px !important; padding: 0 16px !important; border-radius: var(--nuev-pill) !important; border: 1px solid var(--nuev-border-strong) !important; font-size: 13px !important; font-weight: 850 !important; line-height: 1 !important; box-shadow: var(--nuev-shadow-xs) !important; text-decoration: none !important; white-space: nowrap !important; transition: transform .14s ease, box-shadow .14s ease, background .14s ease !important; }
.nuev52-btn:hover { transform: translateY(-1px); box-shadow: var(--nuev-shadow) !important; text-decoration: none !important; }
.nuev52-btn-primary { background: var(--nuev-blue) !important; border-color: var(--nuev-blue) !important; color: #fff !important; }
.nuev52-btn-primary:hover { background: var(--nuev-blue-700) !important; color: #fff !important; }
.nuev52-btn-secondary { background: #fff !important; color: var(--nuev-blue-700) !important; }
.nuev52-btn-secondary:hover { background: var(--nuev-blue-50) !important; color: var(--nuev-blue-700) !important; }
.nuev52-course-card { display: grid; grid-template-columns: 56px minmax(0,1fr) auto; gap: 14px; align-items: center; background: #fff; border: 1px solid var(--nuev-border); border-radius: 20px; padding: 16px; box-shadow: var(--nuev-shadow-sm); transition: transform .14s ease, box-shadow .14s ease, border-color .14s ease; }
.nuev52-course-card:hover { transform: translateY(-2px); box-shadow: var(--nuev-shadow); border-color: var(--nuev-border-strong); }
.nuev52-course-icon { width: 56px; height: 56px; border-radius: 18px; background: linear-gradient(135deg, var(--nuev-blue-50), var(--nuev-blue-100)); display: grid; place-items: center; color: var(--nuev-blue); font-size: 26px; font-weight: 900; }
.nuev52-course-main { min-width: 0; }
.nuev52-course-meta { display: flex; flex-wrap: wrap; gap: 7px; align-items: center; margin-bottom: 7px; }
.nuev52-course-meta span { display: inline-flex; align-items: center; height: 24px; padding: 0 9px; border-radius: var(--nuev-pill); font-size: 11px; font-weight: 850; background: var(--nuev-blue-50); color: var(--nuev-blue-700); }
.nuev52-course-meta .is-active { background: #E7F6EE; color: var(--nuev-success); }
.nuev52-course-meta .is-muted { background: var(--nuev-muted); color: var(--nuev-text-3); }
.nuev52-course-card h3 { margin: 0 !important; font-size: 20px !important; letter-spacing: -.03em !important; color: var(--nuev-text) !important; }
.nuev52-course-card p { margin: 6px 0 0; color: var(--nuev-text-3); font-size: 13px; }
.nuev52-card-badges { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.nuev52-card-badges span { background: var(--nuev-bg); color: var(--nuev-text-2); border: 1px solid var(--nuev-border); border-radius: var(--nuev-pill); padding: 4px 9px; font-size: 11px; font-weight: 800; }
.nuev52-course-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; max-width: 360px; }
.nuev52-actions { display: grid; gap: 10px; }
.nuev52-actions .nuev52-btn { justify-content: flex-start !important; width: 100%; }
.nuev52-activityitem { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 12px 0; border-bottom: 1px solid var(--nuev-border); }
.nuev52-activityitem:last-child { border-bottom: 0; }
.nuev52-smallpill { display: inline-flex; align-items: center; height: 26px; padding: 0 10px; border-radius: var(--nuev-pill); background: var(--nuev-blue-50); color: var(--nuev-blue-700); font-size: 12px; font-weight: 850; }
/* Guardrail: never make dashboard course titles into hyperlinks. */
.nuev52-course-card h3 a { pointer-events: none !important; color: inherit !important; text-decoration: none !important; }
@media (max-width: 980px) {
  .nuev52-course-card { grid-template-columns: 48px minmax(0,1fr); }
  .nuev52-course-actions { grid-column: 1 / -1; max-width: none; justify-content: flex-start; }
  .nuev52-course-actions .nuev52-btn { flex: 1 1 160px; }
}


/* =========================================================
   NUEV IMathAS Theme v5.3 dashboard button layout hotfix
   Keeps dashboard actions inside their cards and turns course-card actions
   into compact icon controls.
   ========================================================= */
.nuev52-dashboard,
.nuev52-dashboard * { box-sizing: border-box; }
.nuev52-dashboard .nuev52-btn {
  max-width: 100% !important;
  min-width: 0 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  text-align: center !important;
  line-height: 1.1 !important;
}
.nuev52-actions {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}
.nuev52-actions .nuev52-btn {
  width: 100% !important;
  justify-content: center !important;
  flex: 1 1 auto !important;
}
.nuev52-course-actions {
  display: grid !important;
  grid-template-columns: repeat(3, 44px) !important;
  gap: 8px !important;
  justify-content: end !important;
  align-items: center !important;
  max-width: 100% !important;
  min-width: 0 !important;
}
.nuev53-iconbtn {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  max-width: 44px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 15px !important;
  border: 1px solid var(--nuev-border-strong, #CBD6E3) !important;
  background: #fff !important;
  color: var(--nuev-blue-700, #163A6E) !important;
  text-decoration: none !important;
  box-shadow: var(--nuev-shadow-xs, 0 1px 3px rgba(14,27,48,.08)) !important;
}
.nuev53-iconbtn:hover {
  transform: translateY(-1px);
  background: var(--nuev-blue-50, #EEF2F9) !important;
}
.nuev53-iconbtn-primary {
  background: var(--nuev-blue, #1A4482) !important;
  border-color: var(--nuev-blue, #1A4482) !important;
  color: #fff !important;
}
.nuev53-iconbtn-primary:hover {
  background: var(--nuev-blue-700, #163A6E) !important;
  color: #fff !important;
}
.nuev53-action-glyph { font-size: 20px; font-weight: 900; line-height: 1; }
.nuev52-sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0,0,0,0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.nuev53-course-titlelink { color: inherit !important; text-decoration: none !important; }
.nuev53-course-titlelink:hover { color: var(--nuev-blue, #1A4482) !important; }
@media (max-width: 980px) {
  .nuev52-course-actions {
    grid-column: 1 / -1 !important;
    justify-content: start !important;
  }
}
@media (max-width: 520px) {
  .nuev52-course-actions {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    width: 100% !important;
  }
  .nuev53-iconbtn {
    width: 100% !important;
    max-width: none !important;
  }
}


/* =========================================================
   NUEV IMathAS Theme v5.4 dashboard SVG icon action hotfix
   Uses real inline SVG icons and keeps Open workspace as the rightmost action.
   ========================================================= */
.nuev53-btn-svg,
.nuev53-action-svg,
.nuev52-course-svg {
  display: block !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  flex: 0 0 auto !important;
}
.nuev53-btn-svg { width: 16px !important; height: 16px !important; }
.nuev53-action-svg { width: 21px !important; height: 21px !important; }
.nuev52-course-svg { width: 29px !important; height: 29px !important; }
.nuev52-course-icon { font-size: 0 !important; }
.nuev53-open-workspace { order: 3 !important; }
.nuev52-course-actions { grid-template-columns: 44px 44px 44px !important; }
.nuev53-iconbtn svg { pointer-events: none !important; }


/* NUEV v5.6 course workspace cleanup */
html.nuev56 .nuev5-course-shell .nuev51-course-summary,
html.nuev56 .nuev5-course-shell .nuev5-segments,
html.nuev56 .nuev5-course-shell .nuev51-hero-meta,
html.nuev56 .nuev5-course-shell .nuev5-progress { display:none !important; }
html.nuev56 .nuev56-header { background: rgba(255,255,255,.94) !important; }
html.nuev56 .nuev56-content-area { overflow: visible !important; }
html.nuev56 .nuev5-course-shell table tr:hover,
html.nuev56 .nuev5-course-shell table tr:hover td,
html.nuev56 .nuev5-course-shell table tr:hover th { background: inherit !important; }
html.nuev56 .nuev5-course-shell .itemhdricon img,
html.nuev56 .nuev5-course-shell .itemhdrdd img { display:none !important; }
html.nuev56 .nuev5-course-shell .itemhdrdd .dropdown-toggle { font-size:0 !important; }
html.nuev56 .nuev5-course-shell div.item,
html.nuev56 .nuev5-course-shell div.block,
html.nuev56 .nuev5-course-shell div.blockitems { transition: box-shadow .14s ease, transform .14s ease !important; }
html.nuev56 .nuev5-course-shell div.item:hover,
html.nuev56 .nuev5-course-shell div.block:hover { background:#fff !important; box-shadow:0 12px 26px rgba(14,27,48,.08) !important; }

/* ============================================================
   NUEV v5.7 course sidebar identity card fix
   - Matches the prototype sidebar card more closely
   - Fixes course-title spacing under the blue cover
   - Keeps title from touching the gradient/header seam
   ============================================================ */
.nuev5-course-shell .nuev5-course-id {
  overflow: hidden !important;
  border-radius: 22px !important;
  background: #fff !important;
  border: 1px solid var(--nuev-border, #E1E8F1) !important;
  box-shadow: 0 12px 30px rgba(14, 27, 48, .08) !important;
}
.nuev5-course-shell .nuev5-course-cover {
  position: relative !important;
  height: 64px !important;
  min-height: 64px !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at 84% -18%, rgba(255,255,255,.18) 0 36px, transparent 37px),
    radial-gradient(circle at 18% 12%, rgba(92,200,250,.86) 0 38px, rgba(92,200,250,.18) 64px, transparent 92px),
    linear-gradient(135deg, #2FB8F8 0%, #1A4482 46%, #17386E 100%) !important;
}
.nuev5-course-shell .nuev5-course-cover::after {
  content: "" !important;
  position: absolute !important;
  right: -22px !important;
  top: -28px !important;
  width: 94px !important;
  height: 94px !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, .12) !important;
}
.nuev5-course-shell .nuev5-course-meta {
  position: relative !important;
  padding: 0 16px 18px !important;
  margin-top: -26px !important;
}
.nuev5-course-shell .nuev5-course-badge {
  width: 52px !important;
  height: 52px !important;
  margin: 0 0 11px !important;
  border-radius: 14px !important;
  border: 1px solid var(--nuev-border, #E1E8F1) !important;
  background: #fff !important;
  color: var(--nuev-blue, #1A4482) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 8px 18px rgba(14, 27, 48, .10) !important;
}
.nuev5-course-shell .nuev5-course-badge svg {
  width: 26px !important;
  height: 26px !important;
  stroke-width: 2 !important;
}
.nuev5-course-shell .nuev5-course-meta h2 {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 16px !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
  letter-spacing: -.015em !important;
  color: var(--nuev-text, #0E1B30) !important;
  overflow-wrap: anywhere !important;
}
.nuev5-course-shell .nuev56-course-subtitle {
  margin: 7px 0 0 !important;
  color: var(--nuev-text-3, #6B7C92) !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
}


/* ============================================================
   NUEV v5.8 course page heading cleanup
   - Removes the duplicated right-column heading container
   - Moves course settings into Course tools
   - Makes instructor-return control visible while previewing student mode
   ============================================================ */
html.nuev58 .nuev5-course-shell .nuev56-header {
  display: none !important;
}
html.nuev58 .nuev5-course-shell .nuev56-content-area {
  margin-top: 0 !important;
}
html.nuev58 .nuev5-course-shell .nuev5-sidelist a[href*="teachview=1"] {
  background: var(--nuev-blue, #1A4482) !important;
  color: #fff !important;
}
html.nuev58 .nuev5-course-shell .nuev5-sidelist a[href*="teachview=1"] svg {
  stroke: currentColor !important;
}
html.nuev58 .nuev5-course-shell .nuev5-sidelist a[href*="action=modify"] {
  border: 1px solid var(--nuev-border-strong, #CBD6E3) !important;
  background: #fff !important;
}
html.nuev58 .nuev5-course-shell .nuev5-sidelist a[href*="action=modify"]:hover {
  background: var(--nuev-blue-50, #EEF2F9) !important;
  color: var(--nuev-blue-700, #163A6E) !important;
}


/* ============================================================
   NUEV v5.9 background repeat fix
   Keeps the prototype wash as one fixed viewport fill instead of tiling.
   ============================================================ */
html.nuev59, html.nuev59 body {
  min-height: 100%;
  background-color: #fff !important;
}
html.nuev59 body {
  min-height: 100vh !important;
  background-repeat: no-repeat, no-repeat !important;
  background-position: top left, top left !important;
  background-size: 100vw 100vh, 100vw 100vh !important;
  background-attachment: fixed, fixed !important;
}
