/* CMC NEXCOR 2027 — v144 global indigo identity update.
   Presentation only: no changes to functionality, navigation state or data.
   Loaded after all earlier styles so components use the unified palette.
   Green=verified/success; amber=warning; red=danger are intentionally preserved. */
:root {
  --nx-brand-indigo:#292D77;
  --nx-brand-indigo-light:#4549A0;
  --nx-brand-indigo-dark:#232668;
  --nx-brand-gradient:linear-gradient(110deg,#292D77 0%,#4549A0 100%);
}
/* Public homepage and other public screens. */
body.nx-public-home {--nx-public-navy:#292D77!important;--nx-public-navy-dark:#232668!important;}
body.nx-public-home #topnav {background:#292D77!important;}
body.nx-public-home #topnav .client-nav-links {background:#292D77!important;}
body.nx-public-home #topnav .client-nav-links a:hover,
body.nx-public-home #topnav .client-nav-links a:focus-visible {background:#3c408d!important;}
body.nx-public-home #topnav .client-nav-links a.active,
body.nx-public-home #topnav .client-workspace-home {color:#292D77!important;}
body:not(.nx-admin-modern):not(.nx116-admin):not(.nx-delegate-workspace) .nexcor-delegate-login-intro {background:var(--nx-brand-gradient)!important;}
/* Delegate Workspace: unified navbar and navy gradients, including the welcome hero. */
body.nx-delegate-workspace #topnav,
body.nx-delegate-workspace #topnav .client-nav-links {background:#292D77!important;}
body.nx-delegate-workspace #topnav .nx-delegate-menu-link:hover,
body.nx-delegate-workspace #topnav .nx-delegate-menu-link:focus-visible {background:#3c408d!important;}
body.nx-delegate-workspace #topnav .nx-delegate-menu-link.active {color:#292D77!important;}
body.nx-delegate-workspace #main.nx135-delegate-page .nx135-hero {background:var(--nx-brand-gradient)!important;box-shadow:0 12px 26px rgba(41,45,119,.13)!important;}
body.nx-delegate-workspace #main.nx135-delegate-page .nx135-hero-kicker {color:#e2e3ff!important;}
body.nx-delegate-workspace #main.nx135-delegate-page .nx135-hero-copy>p:last-child,
body.nx-delegate-workspace #main.nx135-delegate-page .nx135-hero-name {color:#f1f1ff!important;}
body.nx-delegate-workspace #main.nx135-delegate-page .nx135-status-icon {background:#ededfa!important;color:#292D77!important;}
body.nx-delegate-workspace #main.nx142-delegate-change-password .nx142-change-intro {background:var(--nx-brand-gradient)!important;}
body.nx-delegate-workspace #main .nx135-hero-identity {background:rgba(255,255,255,.11)!important;}
/* Admin sidebar and dashboard, preserving the approved white sidebar and v119 accordion. */
body.nx-admin-modern {--nx-shell:#292D77!important;--nx-shell-dark:#232668!important;}
body.nx116-admin {--nx116-blue:#292D77!important;}
body.nx-admin-modern #main .nx-command-hero,
body.nx116-admin #main .nx-command-hero {background:var(--nx-brand-gradient)!important;}
body.nx116-admin #sidebar .nx90-brand-title {color:#292D77!important;}
/* The report category heading remains a solid readable bar. */
body.nx116-admin #sidebar .nx120-report-heading,
body.nx-admin-modern #sidebar .nx120-report-heading {background:#292D77!important;color:#fff!important;}
/* Shared site accent controls; avoid modifying verification/alert statuses. */
#portal-footer {background:#292D77!important;}
body:not(.nx-admin-modern):not(.nx116-admin) #main button.primary,
body:not(.nx-admin-modern):not(.nx116-admin) #main a.button.primary,
body:not(.nx-admin-modern):not(.nx116-admin) #main .primary:not(.nx135-status) {background-color:#292D77!important;border-color:#292D77!important;}
body:not(.nx-admin-modern):not(.nx116-admin) #main button.primary:hover,
body:not(.nx-admin-modern):not(.nx116-admin) #main a.button.primary:hover {background-color:#3c408d!important;border-color:#3c408d!important;}
/* Banner gradients on login and password recovery screens. */
.nexcor-delegate-login-intro {background:var(--nx-brand-gradient)!important;}
body:not(.nx-admin-modern):not(.nx116-admin) .nx132-reset-intro,
body:not(.nx-admin-modern):not(.nx116-admin) .nx134-recovery-intro {background:var(--nx-brand-gradient)!important;}
@media (prefers-reduced-motion:reduce) {
 body.nx-delegate-workspace #topnav * {transition:none!important;}
}

/* v146: Client public navigation — active item must remain legible on hover/focus.
   This includes the Home item and submenu/form/login links, desktop and mobile. */
body.nx-public-home #topnav .client-nav-links a.active:hover,
body.nx-public-home #topnav .client-nav-links a.active:focus-visible,
body.nx-public-home #topnav .client-workspace-home:hover,
body.nx-public-home #topnav .client-workspace-home:focus-visible {
  color:#ffffff!important;
  background-color:#4549A0!important;
}
body.nx-public-home #topnav .client-nav-links a.active:hover *,
body.nx-public-home #topnav .client-nav-links a.active:focus-visible *,
body.nx-public-home #topnav .client-workspace-home:hover *,
body.nx-public-home #topnav .client-workspace-home:focus-visible * {
  color:#ffffff!important;
}

/* v147: Logged-in Delegate Workspace — active link must remain readable on
   mouse hover and keyboard focus. The regular active state is not changed. */
body.nx-delegate-workspace #topnav .client-nav-links a.nx-delegate-menu-link.active:hover,
body.nx-delegate-workspace #topnav .client-nav-links a.nx-delegate-menu-link.active:focus-visible,
body.nx-delegate-workspace #topnav .client-nav-links a.nx-delegate-menu-link[aria-current="page"]:hover,
body.nx-delegate-workspace #topnav .client-nav-links a.nx-delegate-menu-link[aria-current="page"]:focus-visible {
  color:#FFFFFF!important;
  background:#4549A0!important;
}
body.nx-delegate-workspace #topnav .client-nav-links a.nx-delegate-menu-link.active:is(:hover,:focus-visible) :is(span,svg),
body.nx-delegate-workspace #topnav .client-nav-links a.nx-delegate-menu-link[aria-current="page"]:is(:hover,:focus-visible) :is(span,svg) {
  color:#FFFFFF!important;
  stroke:currentColor;
}

/* v147: Public navigation icons — CSS-only, no JS/navigation changes.
   Exact route matching excludes delegate-logged-in menus and admin pages.
   The icon inherits the text colour, including on hover and focus. */
body.nx-public-home #topnav .client-nav-links a[href$="/submit/delegate"],
body.nx-public-home #topnav .client-nav-links a[href$="/submit/abstract"],
body.nx-public-home #topnav .client-nav-links a[href$="/submit/case-presentation"],
body.nx-public-home #topnav .client-nav-links a[href$="/delegate/login"] {
  gap:9px!important;
}
body.nx-public-home #topnav .client-nav-links a[href$="/submit/delegate"]::before,
body.nx-public-home #topnav .client-nav-links a[href$="/submit/abstract"]::before,
body.nx-public-home #topnav .client-nav-links a[href$="/submit/case-presentation"]::before,
body.nx-public-home #topnav .client-nav-links a[href$="/delegate/login"]::before {
  content:""!important;
  display:inline-block!important;
  position:static!important;
  width:17px!important;
  min-width:17px!important;
  height:17px!important;
  margin:0!important;
  flex:0 0 17px!important;
  background-color:currentColor!important;
  background-image:none!important;
  background-size:contain!important;
  mask-repeat:no-repeat!important;
  mask-position:center!important;
  mask-size:contain!important;
  -webkit-mask-repeat:no-repeat!important;
  -webkit-mask-position:center!important;
  -webkit-mask-size:contain!important;
}
/* Registration: person with plus. */
body.nx-public-home #topnav .client-nav-links a[href$="/submit/delegate"]::before {
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M2 21v-2a7 7 0 0 1 14 0v2M19 8v8m-4-4h8'/%3E%3C/svg%3E")!important;
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M2 21v-2a7 7 0 0 1 14 0v2M19 8v8m-4-4h8'/%3E%3C/svg%3E")!important;
}
/* Abstract: document. */
body.nx-public-home #topnav .client-nav-links a[href$="/submit/abstract"]::before {
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 2h9l5 5v15H5zM14 2v5h5M8 12h8M8 16h8'/%3E%3C/svg%3E")!important;
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 2h9l5 5v15H5zM14 2v5h5M8 12h8M8 16h8'/%3E%3C/svg%3E")!important;
}
/* Case: file with medical cross. */
body.nx-public-home #topnav .client-nav-links a[href$="/submit/case-presentation"]::before {
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 2h9l5 5v15H5zM14 2v5h5M12 11v8m-4-4h8'/%3E%3C/svg%3E")!important;
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 2h9l5 5v15H5zM14 2v5h5M12 11v8m-4-4h8'/%3E%3C/svg%3E")!important;
}
/* Delegate login: door and arrow. */
body.nx-public-home #topnav .client-nav-links a[href$="/delegate/login"]::before {
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h5M14 7l5 5-5 5M19 12H8'/%3E%3C/svg%3E")!important;
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h5M14 7l5 5-5 5M19 12H8'/%3E%3C/svg%3E")!important;
}

/* v148 — Public navigation icon alignment refinement.
   Keep the icon and its label as one centered flex row. Scoped to the four
   public navigation links only; no admin or signed-in delegate selectors. */
body.nx-public-home #topnav .client-nav-links a[href$="/submit/delegate"],
body.nx-public-home #topnav .client-nav-links a[href$="/submit/abstract"],
body.nx-public-home #topnav .client-nav-links a[href$="/submit/case-presentation"],
body.nx-public-home #topnav .client-nav-links a[href$="/delegate/login"] {
  display:inline-flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:center!important;
  column-gap:12px!important;
  padding-inline:clamp(14px,1.3vw,22px)!important;
  vertical-align:middle!important;
  line-height:1.4!important;
}
body.nx-public-home #topnav .client-nav-links a[href$="/submit/delegate"]::before,
body.nx-public-home #topnav .client-nav-links a[href$="/submit/abstract"]::before,
body.nx-public-home #topnav .client-nav-links a[href$="/submit/case-presentation"]::before,
body.nx-public-home #topnav .client-nav-links a[href$="/delegate/login"]::before {
  display:block!important;
  position:relative!important;
  inset:auto!important;
  width:18px!important;
  height:18px!important;
  min-width:18px!important;
  min-height:18px!important;
  max-width:18px!important;
  max-height:18px!important;
  flex:0 0 18px!important;
  align-self:center!important;
  margin:0!important;
  padding:0!important;
  vertical-align:middle!important;
  line-height:1!important;
  transform:none!important;
}
@media (max-width:1100px) {
  body.nx-public-home #topnav .client-nav-links a[href$="/submit/delegate"],
  body.nx-public-home #topnav .client-nav-links a[href$="/submit/abstract"],
  body.nx-public-home #topnav .client-nav-links a[href$="/submit/case-presentation"],
  body.nx-public-home #topnav .client-nav-links a[href$="/delegate/login"] {
    justify-content:flex-start!important;
    padding-inline:16px!important;
    column-gap:12px!important;
  }
}
