/* 023 UNITE HPC menu redesign */
:root{
  --menu023-red:#e3131b;
  --menu023-red-soft:#fff1f2;
  --menu023-ink:#1f2937;
  --menu023-muted:#6b7280;
  --menu023-line:#e4e9ef;
  --menu023-panel:#ffffff;
  --menu023-soft:#f7f9fb;
  --menu023-shadow:0 13px 34px rgba(18,30,48,.10);
}

[data-menu-drawer],
.menu-drawer,
.mobile-menu,
.drawer,
.sidebar,
.nav-panel{
  background:
    linear-gradient(180deg,#ffffff 0%,#fbfcfe 100%)!important;
}

[data-menu-drawer] h1,
[data-menu-drawer] h2,
.menu-drawer h1,
.menu-drawer h2,
.mobile-menu h1,
.mobile-menu h2,
.drawer h1,
.drawer h2,
.sidebar h1,
.sidebar h2{
  color:var(--menu023-ink)!important;
  font-weight:600!important;
  letter-spacing:-.025em!important;
}

[data-menu-drawer] p,
.menu-drawer p,
.mobile-menu p,
.drawer p,
.sidebar p{
  color:var(--menu023-muted)!important;
  font-weight:400!important;
}

.nav-item,
[data-nav-item],
[data-unite-menu-item]{
  --menu023-accent:#e3131b;
  --menu023-tint:#fff1f2;
  position:relative;
  min-height:70px!important;
  margin:7px 0!important;
  padding:12px 13px!important;
  border:1px solid var(--menu023-line)!important;
  border-radius:17px!important;
  background:
    linear-gradient(135deg,#ffffff 0%,var(--menu023-tint) 170%)!important;
  box-shadow:0 5px 15px rgba(18,30,48,.045)!important;
  color:var(--menu023-ink)!important;
  transition:
    transform .16s ease,
    border-color .16s ease,
    box-shadow .16s ease,
    background .16s ease!important;
}

.nav-item:hover,
.nav-item:focus-visible,
[data-nav-item]:hover,
[data-nav-item]:focus-visible,
[data-unite-menu-item]:hover,
[data-unite-menu-item]:focus-visible{
  transform:translateY(-1px)!important;
  border-color:color-mix(in srgb,var(--menu023-accent) 40%,#dbe2ea)!important;
  box-shadow:0 10px 24px rgba(18,30,48,.08)!important;
  outline:none!important;
}

.nav-item.is-active,
.nav-item[aria-current="page"],
[data-nav-item].is-active,
[data-nav-item][aria-current="page"]{
  border-color:color-mix(in srgb,var(--menu023-accent) 55%,#ffffff)!important;
  background:var(--menu023-tint)!important;
  box-shadow:
    inset 4px 0 0 var(--menu023-accent),
    0 8px 20px rgba(18,30,48,.065)!important;
}

.nav-item .nav-title,
.nav-item .title,
.nav-item strong,
[data-nav-item] .nav-title,
[data-nav-item] strong{
  color:var(--menu023-ink)!important;
  font-size:15px!important;
  font-weight:550!important;
  line-height:1.25!important;
  letter-spacing:-.01em!important;
}

.nav-item .nav-description,
.nav-item .description,
.nav-item small,
[data-nav-item] .nav-description,
[data-nav-item] small{
  margin-top:3px!important;
  color:var(--menu023-muted)!important;
  font-size:11.5px!important;
  font-weight:400!important;
  line-height:1.35!important;
}

.nav-item .nav-icon,
.nav-item .icon,
.nav-item [data-nav-icon],
[data-nav-item] .nav-icon,
[data-nav-item] .icon,
[data-nav-item] [data-nav-icon]{
  display:inline-flex!important;
  width:48px!important;
  height:48px!important;
  flex:0 0 48px!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid color-mix(in srgb,var(--menu023-accent) 18%,#ffffff)!important;
  border-radius:15px!important;
  color:var(--menu023-accent)!important;
  background:var(--menu023-tint)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.85),
    0 6px 14px rgba(18,30,48,.055)!important;
}

.nav-item .nav-icon svg,
.nav-item .icon svg,
.nav-item [data-nav-icon] svg,
[data-nav-item] .nav-icon svg,
[data-nav-item] .icon svg,
[data-nav-item] [data-nav-icon] svg{
  width:25px!important;
  height:25px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.8!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}

/* Pay submenu */
[data-unite-pay-submenu],
.unite-pay-submenu{
  display:grid!important;
  gap:7px!important;
  margin:2px 0 14px!important;
  padding:10px!important;
  border:1px solid #ffd5d8!important;
  border-radius:18px!important;
  background:
    linear-gradient(180deg,#fffafa 0%,#fff4f5 100%)!important;
  box-shadow:0 10px 25px rgba(116,15,24,.055)!important;
}

[data-unite-pay-submenu] a,
[data-unite-pay-submenu] button,
.unite-pay-submenu a,
.unite-pay-submenu button{
  --menu023-sub-accent:#e3131b;
  --menu023-sub-tint:#ffffff;
  display:grid!important;
  grid-template-columns:36px minmax(0,1fr)!important;
  gap:10px!important;
  min-height:48px!important;
  align-items:center!important;
  margin:0!important;
  padding:8px 11px!important;
  border:1px solid rgba(218,225,233,.9)!important;
  border-radius:13px!important;
  color:#293445!important;
  background:var(--menu023-sub-tint)!important;
  box-shadow:0 3px 10px rgba(18,30,48,.035)!important;
  font-size:13.5px!important;
  font-weight:500!important;
  line-height:1.25!important;
  text-decoration:none!important;
  transition:
    transform .15s ease,
    border-color .15s ease,
    background .15s ease!important;
}

[data-unite-pay-submenu] a:hover,
[data-unite-pay-submenu] a:focus-visible,
[data-unite-pay-submenu] button:hover,
[data-unite-pay-submenu] button:focus-visible,
.unite-pay-submenu a:hover,
.unite-pay-submenu a:focus-visible,
.unite-pay-submenu button:hover,
.unite-pay-submenu button:focus-visible{
  transform:translateX(2px)!important;
  border-color:color-mix(in srgb,var(--menu023-sub-accent) 38%,#dce3ea)!important;
  background:color-mix(in srgb,var(--menu023-sub-accent) 7%,#ffffff)!important;
  outline:none!important;
}

[data-unite-pay-submenu] a.is-active,
[data-unite-pay-submenu] a[aria-current="page"],
[data-unite-pay-submenu] button.is-active,
.unite-pay-submenu a.is-active,
.unite-pay-submenu a[aria-current="page"],
.unite-pay-submenu button.is-active{
  border-color:color-mix(in srgb,var(--menu023-sub-accent) 48%,#ffffff)!important;
  color:#8f1017!important;
  background:color-mix(in srgb,var(--menu023-sub-accent) 10%,#ffffff)!important;
  box-shadow:inset 3px 0 0 var(--menu023-sub-accent)!important;
}

[data-unite-pay-submenu] .unite-pay-submenu-icon,
.unite-pay-submenu .unite-pay-submenu-icon,
[data-menu023-subicon]{
  display:inline-flex!important;
  width:34px!important;
  height:34px!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:10px!important;
  color:var(--menu023-sub-accent)!important;
  background:color-mix(in srgb,var(--menu023-sub-accent) 10%,#ffffff)!important;
}

[data-unite-pay-submenu] svg,
.unite-pay-submenu svg{
  width:19px!important;
  height:19px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.9!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}

/* Light separators instead of heavy blocks */
[data-menu-drawer] hr,
.menu-drawer hr,
.mobile-menu hr,
.drawer hr,
.sidebar hr{
  height:1px!important;
  margin:13px 0!important;
  border:0!important;
  background:linear-gradient(
    90deg,
    transparent,
    var(--menu023-line) 10%,
    var(--menu023-line) 90%,
    transparent
  )!important;
}

/* The script marks duplicate top-level Pay cards */
[data-menu023-duplicate="true"]{
  display:none!important;
}

/* Preserve the red brand/header while making controls softer */
[data-menu-drawer] .menu-close,
[data-menu-drawer] [aria-label*="Close"],
.menu-drawer .menu-close,
.mobile-menu .menu-close{
  border:1px solid #dce3ea!important;
  border-radius:13px!important;
  color:#455163!important;
  background:#ffffff!important;
  box-shadow:0 4px 12px rgba(18,30,48,.055)!important;
}

@media(max-width:620px){
  .nav-item,
  [data-nav-item],
  [data-unite-menu-item]{
    min-height:66px!important;
    border-radius:15px!important;
  }

  [data-unite-pay-submenu],
  .unite-pay-submenu{
    border-radius:16px!important;
  }
}
