/* ENPRO Central Connect — vibrant dark visual system */
/* Sign in and password recovery share the same visual language */
body.portal-atoms-login {
  background:
    radial-gradient(circle at 14% 12%, rgba(244, 122, 32, .22), transparent 31rem),
    radial-gradient(circle at 88% 86%, rgba(255, 159, 67, .14), transparent 34rem),
    #0a0c0f !important;
  color: #f5f7fb !important;
  font-family: "Manrope", "Tajawal", sans-serif !important;
}

body.portal-atoms-login .portal-atoms-login__ambient {
  background:
    radial-gradient(circle at 10% 10%, rgba(244, 122, 32, .18), transparent 28rem),
    radial-gradient(circle at 90% 90%, rgba(255, 159, 67, .1), transparent 30rem),
    linear-gradient(145deg, #050608, #0b0d10 52%, #15181d 78%, #070809) !important;
}

body.portal-atoms-login .portal-atoms-login__ambient-blob--1 { background: rgba(244, 122, 32, .32) !important; }
body.portal-atoms-login .portal-atoms-login__ambient-blob--2 { background: rgba(255, 159, 67, .22) !important; }
body.portal-atoms-login .portal-atoms-login__ambient-blob--3 { background: rgba(255, 138, 61, .18) !important; }

body.portal-atoms-login .portal-atoms-login__glass-tile {
  border-color: rgba(244, 122, 32, .32) !important;
  background: linear-gradient(145deg, rgba(244, 122, 32, .3), rgba(255, 159, 67, .12)) !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, .18), 0 18px 45px rgba(0, 0, 0, .18) !important;
}

body.portal-atoms-login .portal-atoms-login__glass-tile:nth-child(2n) {
  border-color: rgba(255, 159, 67, .26) !important;
  background: linear-gradient(145deg, rgba(255, 159, 67, .18), rgba(12, 14, 17, .14)) !important;
}

body.portal-atoms-login .portal-atoms-login__glass-tile:nth-child(3n) {
  border-color: rgba(255, 138, 61, .28) !important;
  background: linear-gradient(145deg, rgba(255, 138, 61, .2), rgba(244, 122, 32, .1)) !important;
}

body.portal-atoms-login .portal-atoms-login__grid {
  border: 1px solid #373c44 !important;
  background: #15181d !important;
  box-shadow: 0 30px 90px rgba(0, 0, 0, .42) !important;
}

body.portal-atoms-login .portal-atoms-login__hero {
  background:
    radial-gradient(circle at 18% 16%, rgba(255, 173, 82, .22), transparent 18rem),
    radial-gradient(circle at 82% 80%, rgba(244, 122, 32, .3), transparent 22rem),
    linear-gradient(145deg, #050608 0%, #101318 48%, #f47a20 100%) !important;
}

body.portal-atoms-login .portal-atoms-login__blob--a { background: #ffad52 !important; opacity: .32 !important; }
body.portal-atoms-login .portal-atoms-login__blob--b { background: #f47a20 !important; opacity: .32 !important; }
body.portal-atoms-login .portal-atoms-login__blob--c { background: #ff8a3d !important; opacity: .26 !important; }

body.portal-atoms-login .portal-atoms-login__hero-accent,
body.portal-atoms-login .portal-atoms-login__accent-bar {
  background: linear-gradient(90deg, #111419, #f47a20 48%, #ffad52 72%, #111419) !important;
}

body.portal-atoms-login .portal-atoms-login__form-col {
  background:
    radial-gradient(circle at 100% 0, rgba(244, 122, 32, .1), transparent 18rem),
    #15181d !important;
}

body.portal-atoms-login .portal-atoms-login__head h2,
body.portal-atoms-login .portal-atoms-login__label {
  color: #f5f7fb !important;
}

body.portal-atoms-login .portal-atoms-login__head p,
body.portal-atoms-login .portal-atoms-login__check-text,
body.portal-atoms-login .portal-atoms-login__secure-note,
body.portal-atoms-login .portal-atoms-login__copyright {
  color: #a2aab4 !important;
}

body.portal-atoms-login .portal-atoms-login__card {
  border: 1px solid #3a4048 !important;
  border-radius: 22px !important;
  background: rgba(25, 29, 34, .92) !important;
  box-shadow: 0 22px 60px rgba(0, 0, 0, .3), inset 0 1px rgba(255, 255, 255, .03) !important;
}

body.portal-atoms-login .portal-atoms-login__field,
body.portal-atoms-login .portal-atoms-login__card .pass-group {
  border-color: #414851 !important;
  background: #121519 !important;
}

body.portal-atoms-login .portal-atoms-login__field:focus-within,
body.portal-atoms-login .portal-atoms-login__card .pass-group:focus-within {
  border-color: #f47a20 !important;
  box-shadow: 0 0 0 4px rgba(244, 122, 32, .13) !important;
}

body.portal-atoms-login .portal-atoms-login__input,
body.portal-atoms-login .portal-atoms-login__card .pass-input {
  border-color: transparent !important;
  color: #f5f7fb !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.portal-atoms-login .portal-atoms-login__input:focus,
body.portal-atoms-login .portal-atoms-login__card .pass-input:focus {
  border-color: transparent !important;
  outline: 0 !important;
  box-shadow: none !important;
}

body.portal-atoms-login .portal-atoms-login__field-icon,
body.portal-atoms-login .portal-atoms-login__forgot,
body.portal-atoms-login .portal-atoms-login__lang-link--active {
  color: #ff9f43 !important;
}

body.portal-atoms-login .portal-atoms-login__submit {
  border: 0 !important;
  background: linear-gradient(135deg, #f47a20, #ff9f43) !important;
  color: #fff !important;
  box-shadow: 0 15px 35px rgba(244, 122, 32, .28) !important;
}

body.portal-atoms-login .portal-atoms-login__submit:hover {
  background: linear-gradient(135deg, #ff983f, #ffc15a) !important;
  box-shadow: 0 18px 42px rgba(244, 122, 32, .38) !important;
}

body.portal-auth-password-page {
  background:
    radial-gradient(circle at 90% 10%, rgba(244, 122, 32, .14), transparent 28rem),
    #0b0d10 !important;
  color: #f5f7fb;
  font-family: "Manrope", "Tajawal", sans-serif !important;
}

body.portal-auth-password-page .password-hero {
  background:
    radial-gradient(circle at 20% 18%, rgba(98, 232, 212, .2), transparent 20rem),
    radial-gradient(circle at 80% 82%, rgba(255, 138, 61, .18), transparent 22rem),
    linear-gradient(145deg, #602d16, #3d2e24 64%, #2c221c) !important;
}

body.portal-auth-password-page .password-hero::after { background: rgba(244, 122, 32, .22) !important; }

body.portal-auth-password-page .password-card {
  border-color: #3a424b !important;
  border-radius: 22px !important;
  background: #191d22 !important;
  box-shadow: 0 24px 70px rgba(0, 0, 0, .34) !important;
}

body.portal-auth-password-page .password-icon {
  background: linear-gradient(135deg, rgba(98, 232, 212, .18), rgba(72, 216, 196, .16)) !important;
  color: #62e8d4 !important;
}

body.portal-auth-password-page h1,
body.portal-auth-password-page h2,
body.portal-auth-password-page .form-label { color: #f5f7fb !important; }
body.portal-auth-password-page .text-muted { color: #a2aab4 !important; }

body.portal-auth-password-page .form-control,
body.portal-auth-password-page .input-group-text {
  border-color: #414a54 !important;
  background: #13171b !important;
  color: #f5f7fb !important;
}

body.portal-auth-password-page .form-control:focus {
  border-color: #f47a20 !important;
  box-shadow: 0 0 0 4px rgba(244, 122, 32, .13) !important;
}

body.portal-auth-password-page .btn-primary,
body.portal-auth-password-page .password-step.active {
  border: 0 !important;
  background: linear-gradient(135deg, #f47a20, #ff9f43) !important;
  color: #fff !important;
}

body.portal-ess-layout {
  --en365-bg: #0b0d10;
  --en365-sidebar: #111419;
  --en365-panel: #181c21;
  --en365-panel-2: #1d2228;
  --en365-panel-soft: #252b33;
  --en365-line: #343b45;
  --en365-line-bright: #454d59;
  --en365-text: #f5f7fb;
  --en365-muted: #a3abb5;
  --en365-ink: #121315;
  --en365-mint: #62e8d4;
  --en365-mint-strong: #35d5bf;
  --en365-cyan: #48d8c4;
  --en365-blue: #ff9f43;
  --en365-violet: #f47a20;
  --en365-violet-2: #ffad52;
  --en365-coral: #ff7b68;
  --en365-pink: #ff8a3d;
  --en365-amber: #ffc45e;
  --en365-success: #55db91;
  --en365-danger: #ff6680;
  --en365-shadow: 0 20px 55px rgba(0, 0, 0, .28);
  color: var(--en365-text);
  background:
    radial-gradient(circle at 10% 5%, rgba(244, 122, 32, .11), transparent 27rem),
    radial-gradient(circle at 88% 12%, rgba(72, 216, 196, .08), transparent 30rem),
    var(--en365-bg) !important;
  font-family: "Manrope", "Tajawal", sans-serif !important;
}

body.portal-ess-layout::before {
  content: "";
  position: fixed;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  background-image: radial-gradient(rgba(255, 255, 255, .035) 1px, transparent 1px);
  background-size: 24px 24px;
  mask-image: linear-gradient(to bottom, black, transparent 65%);
}

body.portal-atoms-login.portal-ess-layout {
  background:
    radial-gradient(circle at 12% 10%, rgba(244, 122, 32, .2), transparent 30rem),
    radial-gradient(circle at 88% 88%, rgba(255, 159, 67, .12), transparent 32rem),
    #080a0d !important;
}

body.portal-atoms-login.portal-ess-layout::before {
  display: none !important;
}

body.portal-ess-layout .main-wrapper,
body.portal-ess-layout .page-wrapper {
  background: transparent !important;
}

body.portal-ess-layout .sidebar-contact,
body.portal-ess-layout #theme-setting,
body.portal-ess-layout .colorset,
body.portal-ess-layout .theme-settings,
body.portal-ess-layout .themesettings-offcanvas {
  display: none !important;
}

body.portal-ess-layout h1,
body.portal-ess-layout h2,
body.portal-ess-layout h3,
body.portal-ess-layout h4,
body.portal-ess-layout h5,
body.portal-ess-layout h6,
body.portal-ess-layout strong,
body.portal-ess-layout .text-body,
body.portal-ess-layout .text-dark {
  color: var(--en365-text) !important;
}

body.portal-ess-layout p,
body.portal-ess-layout small,
body.portal-ess-layout .text-muted {
  color: var(--en365-muted) !important;
}

/* Unified top bar */
body.portal-ess-layout .header.en365-topbar {
  height: 78px !important;
  inset-inline: 88px 0 !important;
  left: 88px !important;
  right: 0 !important;
  background: rgba(10, 15, 24, .84) !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(66, 83, 111, .55) !important;
  box-shadow: 0 12px 36px rgba(0, 0, 0, .16) !important;
  backdrop-filter: blur(22px) saturate(135%);
}

[dir="rtl"] body.portal-ess-layout .header.en365-topbar {
  left: 0 !important;
  right: 88px !important;
}

.en365-topbar .main-header {
  padding: 0 26px !important;
}

.en365-topbar__date {
  color: #9099a4 !important;
  letter-spacing: .02em;
}

.en365-topbar__environment {
  font-size: 12px;
  letter-spacing: .015em;
}

.en365-topbar__environment::before {
  background: linear-gradient(135deg, var(--en365-mint), var(--en365-cyan));
  box-shadow: 0 0 0 5px rgba(98, 232, 212, .1), 0 0 18px rgba(98, 232, 212, .35);
}

.en365-topbar__search .form-control {
  border-color: #343a42 !important;
  background: rgba(19, 29, 44, .86) !important;
  color: var(--en365-text) !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, .025);
}

.en365-topbar__search .form-control:focus {
  border-color: var(--en365-violet) !important;
  box-shadow: 0 0 0 4px rgba(244, 122, 32, .13) !important;
}

.en365-topbar__shortcut {
  border-color: #434b55;
  background: #252a31;
  color: #9dacc0;
}

.en365-icon-button,
.en365-account {
  border-color: #353c45 !important;
  background: rgba(25, 36, 53, .9) !important;
}

.en365-icon-button:hover,
.en365-icon-button:focus-visible,
.show > .en365-icon-button {
  border-color: rgba(244, 122, 32, .7) !important;
  background: linear-gradient(135deg, var(--en365-violet), var(--en365-blue)) !important;
  color: #fff !important;
  box-shadow: 0 10px 24px rgba(255, 159, 67, .22);
}

.en365-account {
  padding: 5px 10px 5px 5px !important;
}

.en365-account__avatar {
  border-color: var(--en365-violet) !important;
  box-shadow: 0 0 0 3px rgba(244, 122, 32, .12);
}

/* Desktop icon rail, expands above content on hover */
@media (min-width: 992px) {
  body.portal-ess-layout .sidebar ul,
  body.portal-ess-layout .sidebar li {
    margin: 0;
    padding: 0;
    list-style: none;
  }

  body.portal-ess-layout .sidebar #sidebar-menu a {
    position: relative;
    display: flex;
    align-items: center;
    box-sizing: border-box;
    min-height: 44px;
    padding: 10px 13px;
    border-radius: 14px;
    text-decoration: none;
    white-space: nowrap;
  }

  body.portal-ess-layout .sidebar,
  body.portal-ess-layout.mini-sidebar .sidebar {
    top: 0 !important;
    width: 88px !important;
    box-sizing: border-box !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    border-inline-end: 1px solid #303740 !important;
    background:
      radial-gradient(circle at 50% 5%, rgba(244, 122, 32, .13), transparent 11rem),
      linear-gradient(180deg, #171b20 0%, #111419 100%) !important;
    box-shadow: 12px 0 38px rgba(0, 0, 0, .22) !important;
    transition: width .24s cubic-bezier(.2, .75, .25, 1), box-shadow .24s ease !important;
  }

  body.portal-ess-layout .sidebar:hover,
  body.portal-ess-layout.mini-sidebar.expand-menu .sidebar {
    width: 286px !important;
    box-shadow: 24px 0 60px rgba(0, 0, 0, .45) !important;
  }

  body.portal-ess-layout .sidebar .sidebar-logo,
  body.portal-ess-layout.mini-sidebar .sidebar .sidebar-logo {
    width: 88px !important;
    height: 78px !important;
    padding: 14px !important;
    border: 0 !important;
    border-bottom: 1px solid #303740 !important;
    background: rgba(14, 21, 34, .96) !important;
    transition: width .24s cubic-bezier(.2, .75, .25, 1) !important;
  }

  body.portal-ess-layout .sidebar:hover .sidebar-logo,
  body.portal-ess-layout.mini-sidebar.expand-menu .sidebar .sidebar-logo {
    width: 286px !important;
  }

  body.portal-ess-layout .sidebar .logo-small {
    width: 50px !important;
    height: 50px !important;
    display: flex !important;
    padding: 10px !important;
    border: 1px solid rgba(98, 232, 212, .32) !important;
    background: linear-gradient(145deg, rgba(98, 232, 212, .2), rgba(244, 122, 32, .22)) !important;
    box-shadow: 0 12px 30px rgba(0, 0, 0, .25) !important;
  }

  body.portal-ess-layout .sidebar:hover .logo-small,
  body.portal-ess-layout.mini-sidebar.expand-menu .sidebar .logo-small {
    display: none !important;
  }

  body.portal-ess-layout .sidebar:hover .logo-normal,
  body.portal-ess-layout.mini-sidebar.expand-menu .sidebar .logo-normal {
    display: flex !important;
    width: 100% !important;
  }

  body.portal-ess-layout .sidebar .sidebar-inner,
  body.portal-ess-layout .sidebar .slimScrollDiv,
  body.portal-ess-layout .sidebar .sidebar-menu {
    width: 100% !important;
  }

  body.portal-ess-layout .sidebar .sidebar-inner {
    height: calc(100vh - 78px) !important;
    overflow: hidden !important;
  }

  body.portal-ess-layout .sidebar .slimScrollDiv {
    top: 78px !important;
    padding: 12px 10px 90px !important;
  }

  body.portal-ess-layout .sidebar .sidebar-menu {
    padding: 0 8px 80px !important;
  }

  body.portal-ess-layout .sidebar:not(:hover) .menu-title,
  body.portal-ess-layout.mini-sidebar:not(.expand-menu) .sidebar .menu-title {
    display: none !important;
  }

  body.portal-ess-layout .sidebar:not(:hover) .submenu > ul,
  body.portal-ess-layout.mini-sidebar:not(.expand-menu) .sidebar .submenu > ul {
    display: none !important;
  }

  body.portal-ess-layout .sidebar:not(:hover) #sidebar-menu a,
  body.portal-ess-layout.mini-sidebar:not(.expand-menu) .sidebar #sidebar-menu a {
    width: 56px !important;
    min-height: 50px !important;
    justify-content: center !important;
    gap: 0 !important;
    margin: 4px auto !important;
    padding: 13px !important;
    border: 1px solid transparent !important;
    border-radius: 16px !important;
  }

  body.portal-ess-layout .sidebar:not(:hover) #sidebar-menu a > span:not(.menu-arrow),
  body.portal-ess-layout.mini-sidebar:not(.expand-menu) .sidebar #sidebar-menu a > span:not(.menu-arrow),
  body.portal-ess-layout .sidebar:not(:hover) #sidebar-menu .menu-arrow,
  body.portal-ess-layout.mini-sidebar:not(.expand-menu) .sidebar #sidebar-menu .menu-arrow {
    width: 0 !important;
    max-width: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    opacity: 0 !important;
  }

  body.portal-ess-layout .sidebar #sidebar-menu a i {
    min-width: 22px !important;
    color: #929ba6 !important;
    font-size: 21px !important;
    transition: color .2s ease, transform .2s ease !important;
  }

  body.portal-ess-layout .sidebar #sidebar-menu a:hover,
  body.portal-ess-layout .sidebar #sidebar-menu a.active,
  body.portal-ess-layout .sidebar #sidebar-menu a.subdrop {
    border-color: rgba(244, 122, 32, .26) !important;
    background: linear-gradient(135deg, rgba(244, 122, 32, .2), rgba(72, 216, 196, .09)) !important;
    color: #fff !important;
  }

  body.portal-ess-layout .sidebar #sidebar-menu a:hover i,
  body.portal-ess-layout .sidebar #sidebar-menu a.active i,
  body.portal-ess-layout .sidebar #sidebar-menu a.subdrop i {
    color: var(--en365-mint) !important;
    transform: translateY(-1px);
  }

  body.portal-ess-layout .sidebar #sidebar-menu a.active::before {
    inset-inline-start: -8px !important;
    background: linear-gradient(180deg, var(--en365-violet), var(--en365-cyan)) !important;
    box-shadow: 0 0 15px rgba(98, 232, 212, .4);
  }

  body.portal-ess-layout .sidebar:hover #sidebar-menu a,
  body.portal-ess-layout.mini-sidebar.expand-menu .sidebar #sidebar-menu a {
    gap: 12px !important;
    color: #bcc2ca !important;
    font-size: 12px !important;
  }

  body.portal-ess-layout .sidebar:hover #sidebar-menu a > span:not(.menu-arrow),
  body.portal-ess-layout.mini-sidebar.expand-menu .sidebar #sidebar-menu a > span:not(.menu-arrow) {
    color: inherit !important;
    font-weight: 600 !important;
  }

  body.portal-ess-layout .sidebar:hover .menu-title,
  body.portal-ess-layout.mini-sidebar.expand-menu .sidebar .menu-title {
    display: block !important;
    margin: 18px 13px 8px !important;
    color: #7c8692 !important;
    font-size: 9px !important;
  }

  body.portal-ess-layout .sidebar:hover #sidebar-menu > ul > li > ul,
  body.portal-ess-layout.mini-sidebar.expand-menu .sidebar #sidebar-menu > ul > li > ul {
    border: 0 !important;
    background: transparent !important;
  }

  body.portal-ess-layout .sidebar #sidebar-menu > ul > li > ul {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }

  body.portal-ess-layout .sidebar:hover .submenu > ul,
  body.portal-ess-layout.mini-sidebar.expand-menu .sidebar .submenu > ul {
    margin: 3px 0 8px 12px !important;
    border: 1px solid #353c45 !important;
    background: rgba(7, 12, 20, .42) !important;
  }

  body.portal-ess-layout .page-wrapper,
  body.portal-ess-layout.mini-sidebar .page-wrapper {
    margin-left: 88px !important;
    margin-right: 0 !important;
    padding-top: 78px !important;
  }

  [dir="rtl"] body.portal-ess-layout .page-wrapper,
  [dir="rtl"] body.portal-ess-layout.mini-sidebar .page-wrapper {
    margin-left: 0 !important;
    margin-right: 88px !important;
  }
}

.en365-sidebar-footer {
  padding: 14px 20px;
  background: linear-gradient(180deg, transparent, #111419 28%) !important;
}

/* Dashboard hierarchy */
body.portal-ess-layout .page-wrapper .content {
  padding: 22px 26px 30px !important;
}

.en365-dashboard-head {
  min-height: 94px;
  margin-bottom: 18px;
}

.en365-dashboard-head h1 {
  font-size: clamp(1.45rem, 2vw, 1.9rem);
  font-weight: 750;
  letter-spacing: -.035em;
}

.en365-dashboard-head p {
  color: var(--en365-muted) !important;
  font-size: 11px;
}

.en365-shortcut {
  width: 42px;
  height: 42px;
  border-color: #353c45;
  background: #1d2228;
  color: #b8bec7;
}

.en365-shortcut:hover,
.en365-shortcut.is-active {
  border-color: transparent;
  background: linear-gradient(135deg, var(--en365-violet), var(--en365-blue));
  color: #fff;
  box-shadow: 0 12px 28px rgba(255, 159, 67, .22);
}

.en365-shortcuts .en365-shortcut:nth-child(2):hover { background: linear-gradient(135deg, var(--en365-coral), var(--en365-pink)); }
.en365-shortcuts .en365-shortcut:nth-child(3):hover { background: linear-gradient(135deg, var(--en365-amber), var(--en365-coral)); color: #231c17; }
.en365-shortcuts .en365-shortcut:nth-child(4):hover { background: linear-gradient(135deg, var(--en365-mint), var(--en365-cyan)); color: #17201c; }

.en365-new-request {
  min-height: 48px;
  padding: 0 22px;
  background: linear-gradient(135deg, var(--en365-violet), #ff8b32) !important;
  color: #fff !important;
  box-shadow: 0 14px 34px rgba(244, 122, 32, .26);
}

.en365-new-request:hover {
  background: linear-gradient(135deg, #ff9d45, #ffc15a) !important;
  box-shadow: 0 18px 40px rgba(244, 122, 32, .34);
}

.en365-dashboard-grid {
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.06fr) minmax(0, 1.06fr) minmax(0, 1.18fr);
  gap: 15px;
}

.en365-widget {
  border-color: #343a42;
  border-radius: 24px;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .025), transparent 42%),
    var(--en365-panel);
  box-shadow: 0 16px 44px rgba(0, 0, 0, .16), inset 0 1px rgba(255, 255, 255, .025);
  transition: border-color .22s ease, transform .22s ease, box-shadow .22s ease;
}

.en365-widget:hover {
  border-color: #515964;
  box-shadow: 0 22px 55px rgba(0, 0, 0, .25), inset 0 1px rgba(255, 255, 255, .035);
  transform: translateY(-2px);
}

.en365-widget__head {
  min-height: 58px;
  padding: 0 20px;
  border-bottom-color: rgba(53, 70, 96, .72);
}

.en365-widget__head h2 {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: -.01em;
}

.en365-line-copy strong {
  font-size: 12px;
  line-height: 1.45;
}

.en365-line-copy small {
  margin-top: 2px;
  color: #9da5af !important;
  font-size: 10px;
  line-height: 1.45;
}

.en365-widget__head a {
  color: var(--en365-mint) !important;
}

/* Profile has a colorful editorial treatment */
.en365-widget--profile {
  border-color: rgba(244, 122, 32, .3);
  background: linear-gradient(145deg, #c9551d, #57301f 65%, #2f241f);
}

.en365-profile-photo {
  filter: saturate(.94) contrast(1.04);
}

.en365-profile-photo[src^="data:image/svg"] {
  filter: grayscale(1) contrast(1.06);
}

.en365-profile-shade {
  background:
    linear-gradient(180deg, rgba(7, 11, 18, .02) 24%, rgba(21, 17, 53, .22) 52%, rgba(8, 14, 24, .95) 100%),
    linear-gradient(135deg, rgba(244, 122, 32, .72), rgba(255, 159, 67, .28) 52%, rgba(72, 216, 196, .2));
  background-blend-mode: normal, color;
}

.en365-profile-content h2 {
  font-size: 19px;
  letter-spacing: -.025em;
}

.en365-profile-content p {
  color: #c0c6ce !important;
}

.en365-profile-actions a {
  border-color: rgba(255, 255, 255, .18);
  background: rgba(16, 25, 39, .8);
}

.en365-profile-actions a:last-child {
  background: linear-gradient(135deg, var(--en365-mint), var(--en365-cyan));
  color: #151719 !important;
  box-shadow: 0 10px 28px rgba(72, 216, 196, .26);
}

/* Multi-color balance ring */
.en365-widget--balance::before {
  content: "";
  position: absolute;
  width: 180px;
  height: 180px;
  top: 50px;
  right: -80px;
  border-radius: 50%;
  background: rgba(72, 216, 196, .09);
  filter: blur(12px);
}

.en365-balance-ring {
  background: conic-gradient(var(--en365-mint) 0 var(--en365-progress), #30363f var(--en365-progress) 360deg);
  box-shadow: 0 0 42px rgba(98, 232, 212, .1);
}

.en365-balance-ring::before {
  background: conic-gradient(var(--en365-violet) 0 var(--en365-progress-inner), #353b44 var(--en365-progress-inner) 360deg);
}

.en365-balance-ring::after {
  background: #181c21;
  box-shadow: 0 0 0 10px #252a31, inset 0 0 28px rgba(244, 122, 32, .08);
}

.en365-balance-ring__value strong {
  font-size: 27px;
}

.en365-balance-legend div:nth-child(1) i { background: var(--en365-mint); box-shadow: 0 0 10px rgba(98, 232, 212, .5); }
.en365-balance-legend div:nth-child(2) i { background: var(--en365-violet); box-shadow: 0 0 10px rgba(244, 122, 32, .5); }
.en365-balance-legend div:nth-child(3) i { background: var(--en365-blue); box-shadow: 0 0 10px rgba(255, 159, 67, .5); }

/* Requests */
.en365-request-highlight {
  background:
    radial-gradient(circle at 85% 15%, rgba(255, 255, 255, .24), transparent 6rem),
    linear-gradient(135deg, #f47a20, #ff9b42) !important;
  color: #fff !important;
  box-shadow: 0 15px 34px rgba(255, 126, 46, .22);
}

.en365-request-highlight span,
.en365-request-highlight strong {
  color: #fff !important;
}

.en365-request-highlight span { opacity: .72; }
.en365-request-highlight a { background: rgba(7, 14, 25, .78); }

.en365-line-icon {
  border: 1px solid #3a424c;
  background: #22272e;
  color: var(--en365-blue);
}

.en365-request-line:nth-child(3) .en365-line-icon { color: var(--en365-pink); }
.en365-status { background: rgba(85, 219, 145, .12); color: var(--en365-success); }
.en365-status--pending { background: rgba(255, 196, 94, .12); color: var(--en365-amber); }

/* Color-coded quick services */
.en365-service-link {
  padding: 12px 0;
  border-bottom-color: #313842;
}

.en365-service-link .en365-line-icon {
  border: 0;
  color: #fff;
  box-shadow: 0 10px 24px rgba(0, 0, 0, .16);
}

.en365-service-link:nth-child(1) .en365-line-icon { background: linear-gradient(135deg, #28c9b3, #50dfc9); }
.en365-service-link:nth-child(2) .en365-line-icon { background: linear-gradient(135deg, #f47a20, #ffad52); }
.en365-service-link:nth-child(3) .en365-line-icon { background: linear-gradient(135deg, #ff766e, #ff8a3d); }
.en365-service-link:nth-child(4) .en365-line-icon { background: linear-gradient(135deg, #ff9338, #ffc45e); }
.en365-service-link:nth-child(5) .en365-line-icon { background: linear-gradient(135deg, #ffb646, #ff7b68); }
.en365-service-link:nth-child(6) .en365-line-icon { background: linear-gradient(135deg, #55db91, #26cdb7); }

.en365-service-link:hover .en365-line-copy strong { color: #fff !important; }
.en365-service-link:hover { transform: translateX(3px); }
[dir="rtl"] .en365-service-link:hover { transform: translateX(-3px); }

/* Metrics */
.en365-widget--metric-one {
  border-color: rgba(255, 123, 104, .28);
  background:
    radial-gradient(circle at 90% 10%, rgba(255, 138, 61, .16), transparent 8rem),
    linear-gradient(145deg, #1a2032, #171f2d);
}

.en365-widget--metric-two {
  border-color: rgba(72, 216, 196, .25);
  background:
    radial-gradient(circle at 90% 8%, rgba(72, 216, 196, .15), transparent 8rem),
    linear-gradient(145deg, #1d2225, #191d22);
}

.en365-widget--metric-one .en365-metric__icon { background: rgba(255, 123, 104, .13); color: var(--en365-coral); }
.en365-widget--metric-two .en365-metric__icon { background: rgba(72, 216, 196, .13); color: var(--en365-cyan); }
.en365-bars i { background: #414850; }
.en365-bars i:nth-child(4) { background: var(--en365-coral); }
.en365-bars i:nth-child(6) { background: var(--en365-pink); }

.en365-chip-row a,
.en365-chip-row span { background: #252b33; color: #b4c0d0 !important; }
.en365-chip-row a:last-child { background: linear-gradient(135deg, var(--en365-cyan), var(--en365-blue)); color: #171613 !important; }

/* Team, holidays and news */
.en365-team-avatar {
  background: linear-gradient(135deg, var(--en365-violet), var(--en365-blue));
  color: #fff;
  box-shadow: 0 8px 20px rgba(255, 159, 67, .18);
}

.en365-team-line:nth-child(2n) .en365-team-avatar { background: linear-gradient(135deg, var(--en365-coral), var(--en365-pink)); }
.en365-team-line:nth-child(3n) .en365-team-avatar { background: linear-gradient(135deg, var(--en365-mint), var(--en365-cyan)); color: #17201c; }

.en365-widget--news {
  border-color: rgba(244, 122, 32, .27);
}

.en365-news-slide {
  background:
    radial-gradient(circle at 92% 18%, rgba(72, 216, 196, .22), transparent 17rem),
    radial-gradient(circle at 8% 100%, rgba(244, 122, 32, .24), transparent 16rem),
    linear-gradient(135deg, #1d2228, #1a1f24) !important;
}

.en365-news-kicker { color: var(--en365-mint); }

.en365-holiday-line .en365-line-icon {
  border: 0;
  background: linear-gradient(135deg, rgba(255, 196, 94, .2), rgba(255, 123, 104, .16));
  color: var(--en365-amber);
}

/* Forms, tables, menus and generic shared screens */
body.portal-ess-layout .card,
body.portal-ess-layout .modal-content,
body.portal-ess-layout .offcanvas,
body.portal-ess-layout .dropdown-menu {
  border-color: #353c45 !important;
  background: #191d23 !important;
  box-shadow: var(--en365-shadow) !important;
}

body.portal-ess-layout .card {
  border-radius: 22px !important;
}

body.portal-ess-layout .card .card-header,
body.portal-ess-layout .card .card-footer,
body.portal-ess-layout .modal-header,
body.portal-ess-layout .modal-footer {
  border-color: #353d46 !important;
  background: rgba(24, 35, 52, .72) !important;
}

body.portal-ess-layout .form-control,
body.portal-ess-layout .form-select,
body.portal-ess-layout .input-group-text,
body.portal-ess-layout .select2-selection {
  border-color: #3c444e !important;
  background: #14181e !important;
  color: var(--en365-text) !important;
}

body.portal-ess-layout .form-control:focus,
body.portal-ess-layout .form-select:focus {
  border-color: var(--en365-violet) !important;
  box-shadow: 0 0 0 4px rgba(244, 122, 32, .12) !important;
}

body.portal-ess-layout .btn-primary {
  border: 0 !important;
  background: linear-gradient(135deg, var(--en365-violet), var(--en365-blue)) !important;
  color: #fff !important;
  box-shadow: 0 10px 24px rgba(244, 122, 32, .2);
}

body.portal-ess-layout .btn-light,
body.portal-ess-layout .btn-secondary {
  border-color: #3d454f !important;
  background: #252b33 !important;
  color: #e5eaf2 !important;
}

body.portal-ess-layout .table {
  --bs-table-bg: transparent;
  --bs-table-color: #dce3ed;
  --bs-table-border-color: #29384e;
  --bs-table-hover-bg: rgba(244, 122, 32, .07);
  --bs-table-hover-color: #fff;
}

body.portal-ess-layout .table thead th {
  background: #20252c !important;
  color: #aebbd0 !important;
}

/* Modal launcher */
.en365-service-modal .modal-content {
  border: 1px solid #424a54 !important;
  background:
    radial-gradient(circle at 90% 0, rgba(244, 122, 32, .13), transparent 18rem),
    #171b20 !important;
}

.en365-modal-heading__icon {
  background: linear-gradient(135deg, var(--en365-violet), var(--en365-blue));
  color: #fff;
  box-shadow: 0 12px 28px rgba(244, 122, 32, .24);
}

.en365-service-tile {
  border-color: #373f49;
  background: #15181d;
}

.en365-service-tile:hover {
  border-color: #676f79;
  background: #19263a;
  box-shadow: 0 16px 32px rgba(0, 0, 0, .2);
}

.en365-service-tile i { color: #fff; }
.en365-service-tile:nth-child(1) i { background: linear-gradient(135deg, var(--en365-mint), var(--en365-cyan)); color: #17201c; }
.en365-service-tile:nth-child(2) i { background: linear-gradient(135deg, var(--en365-violet), var(--en365-violet-2)); }
.en365-service-tile:nth-child(3) i { background: linear-gradient(135deg, var(--en365-coral), var(--en365-pink)); }
.en365-service-tile:nth-child(4) i { background: linear-gradient(135deg, var(--en365-blue), var(--en365-cyan)); }
.en365-service-tile:nth-child(5) i { background: linear-gradient(135deg, var(--en365-amber), var(--en365-coral)); color: #1c1b25; }
.en365-service-tile:nth-child(6) i { background: linear-gradient(135deg, var(--en365-success), var(--en365-mint)); color: #10201c; }

/* AI assistant */
.employee-ai-toggle {
  border: 0;
  background: linear-gradient(135deg, var(--en365-violet), var(--en365-blue));
  color: #fff;
  box-shadow: 0 18px 46px rgba(244, 122, 32, .34);
}

.employee-ai-toggle-icon {
  background: rgba(8, 16, 27, .82);
  color: var(--en365-mint);
}

.employee-ai-panel-card {
  border-color: #444d58;
  background: #181d22;
}

.employee-ai-avatar,
.employee-ai-bubble-icon {
  background: linear-gradient(135deg, var(--en365-mint), var(--en365-cyan));
  color: #17201c;
}

.employee-ai-bubble { background: #252b33; }
.employee-ai-row.user .employee-ai-bubble { background: linear-gradient(135deg, var(--en365-violet), var(--en365-blue)); color: #fff; }

body.portal-ess-layout.en365-contrast {
  --en365-panel: #1c2025;
  --en365-panel-soft: #30363d;
  --en365-line: #565e68;
  --en365-muted: #b4c0d0;
}

@media (max-width: 1280px) {
  .en365-dashboard-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 991.98px) {
  body.portal-ess-layout .header.en365-topbar,
  [dir="rtl"] body.portal-ess-layout .header.en365-topbar {
    height: 64px !important;
    left: 0 !important;
    right: 0 !important;
  }

  body.portal-ess-layout .sidebar,
  body.portal-ess-layout.mini-sidebar .sidebar {
    top: 64px !important;
    width: min(310px, 88vw) !important;
    background: #14181d !important;
  }

  body.portal-ess-layout .sidebar .sidebar-logo { display: none !important; }
  body.portal-ess-layout .sidebar #sidebar-menu a { color: #b7c2d2 !important; }
  body.portal-ess-layout .sidebar #sidebar-menu a i { color: var(--en365-blue) !important; }

  body.portal-ess-layout .page-wrapper,
  body.portal-ess-layout.mini-sidebar .page-wrapper,
  [dir="rtl"] body.portal-ess-layout .page-wrapper {
    margin: 0 !important;
    padding-top: 64px !important;
  }

  body.portal-ess-layout .page-wrapper .content { padding: 16px !important; }
}

@media (max-width: 680px) {
  .en365-dashboard-head {
    min-height: 0;
    display: flex !important;
    grid-template-columns: none !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 14px;
    padding-top: 15px;
  }
  .en365-dashboard-head > div:first-child { width: 100%; }
  .en365-dashboard-head h1 { max-width: none; font-size: 1.35rem; }
  .en365-new-request {
    order: 2;
    position: static !important;
    inset: auto !important;
    justify-self: start;
    min-height: 44px;
  }
  .en365-shortcuts { order: 3; }
  .en365-widget { border-radius: 20px; }
  .en365-widget--profile { min-height: 390px; }
  .employee-ai-toggle > span:last-child { display: none; }
  .employee-ai-toggle { width: 52px; height: 52px; padding: 6px; }
}

@media (prefers-reduced-motion: reduce) {
  body.portal-ess-layout .sidebar,
  .en365-widget,
  .en365-service-link { transition: none !important; }
}

/* Cohesion pass: persistent navigation, legacy ESS headers and portrait treatment */
body.portal-ess-layout .header,
body.portal-ess-layout .header.en365-topbar {
  background: rgba(16, 18, 22, .94) !important;
  border-bottom: 1px solid rgba(244, 122, 32, .16) !important;
  box-shadow: 0 14px 38px rgba(0, 0, 0, .2) !important;
  backdrop-filter: blur(22px) saturate(125%);
}

body.portal-ess-layout .page-breadcrumb {
  position: relative;
  isolation: isolate;
  min-height: 92px;
  padding: 18px 20px;
  border: 1px solid #353c45;
  border-radius: 22px;
  background:
    radial-gradient(circle at 94% 12%, rgba(244, 122, 32, .14), transparent 15rem),
    linear-gradient(145deg, #1b2026, #171b20) !important;
  box-shadow: 0 18px 44px rgba(0, 0, 0, .16);
}

body.portal-ess-layout .page-breadcrumb h1,
body.portal-ess-layout .page-breadcrumb h2,
body.portal-ess-layout .page-breadcrumb h3 {
  color: #f5f7fb !important;
  font-weight: 800 !important;
  letter-spacing: -.035em;
}

body.portal-ess-layout .breadcrumb-item,
body.portal-ess-layout .breadcrumb-item.active,
body.portal-ess-layout .breadcrumb-item + .breadcrumb-item::before {
  color: #a3abb5 !important;
}

body.portal-ess-layout .breadcrumb-item a { color: #ff9f43 !important; }

body.portal-ess-layout .card .card-header,
body.portal-ess-layout .card .card-footer,
body.portal-ess-layout .modal-header,
body.portal-ess-layout .modal-footer {
  background: #1b2026 !important;
  border-color: #353c45 !important;
}

body.portal-ess-layout .modal-title,
body.portal-ess-layout .modal-header h1,
body.portal-ess-layout .modal-header h2,
body.portal-ess-layout .modal-header h3,
body.portal-ess-layout .modal-header h4,
body.portal-ess-layout .modal-header h5 {
  color: #f5f7fb !important;
}

body.portal-ess-layout .modal-body,
body.portal-ess-layout .modal-content { color: #dce2e9 !important; }

body.portal-ess-layout .modal .form-label,
body.portal-ess-layout .modal label:not(.form-check-label) {
  color: #e9edf3 !important;
}

body.portal-ess-layout .modal .form-text,
body.portal-ess-layout .modal .text-muted { color: #a3abb5 !important; }

body.portal-ess-layout .modal .btn-close,
body.portal-ess-layout .modal .custom-btn-close {
  border: 1px solid #3d454f !important;
  background-color: #252b33 !important;
  color: #f5f7fb !important;
  opacity: 1 !important;
  box-shadow: none !important;
}

/* Employee portrait: preserve circular source photos and extend their atmosphere. */
.en365-widget--profile {
  min-height: 350px;
  isolation: isolate;
  overflow: hidden;
  background: #171b20 !important;
}

.en365-widget--profile::before {
  content: "";
  position: absolute;
  inset: -34px;
  z-index: 0;
  background-image: var(--en365-profile-image);
  background-position: center 22%;
  background-size: cover;
  filter: blur(30px) saturate(.88);
  opacity: .34;
  transform: scale(1.15);
}

.en365-widget--profile::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    radial-gradient(circle at 50% 28%, rgba(255, 159, 67, .2), transparent 42%),
    linear-gradient(180deg, rgba(13, 15, 18, .06), rgba(13, 15, 18, .36) 58%, #111419 100%);
}

.en365-profile-media {
  position: absolute;
  top: 26px;
  inset-inline: 0;
  z-index: 2;
  width: 184px;
  height: 184px;
  margin-inline: auto;
}

.en365-profile-glow {
  position: absolute;
  inset: -17px;
  border-radius: 50%;
  background-image: var(--en365-profile-image);
  background-position: center;
  background-size: cover;
  filter: blur(20px) saturate(1.12);
  opacity: .66;
}

.en365-profile-photo,
.en365-profile-photo[src^="data:image/svg"] {
  position: relative !important;
  inset: auto !important;
  z-index: 1;
  width: 184px !important;
  height: 184px !important;
  border: 3px solid rgba(255, 255, 255, .2);
  border-radius: 50%;
  object-fit: cover;
  object-position: center 18%;
  filter: saturate(.94) contrast(1.04) !important;
  box-shadow: 0 20px 52px rgba(0, 0, 0, .38), 0 0 0 8px rgba(244, 122, 32, .08);
}

.en365-profile-shade {
  z-index: 2;
  background: linear-gradient(180deg, transparent 38%, rgba(17, 20, 25, .5) 66%, #111419 100%) !important;
}

.en365-profile-content { z-index: 3; }

@media (min-width: 992px) {
  body.portal-ess-layout .sidebar,
  body.portal-ess-layout.mini-sidebar .sidebar,
  body.portal-ess-layout .sidebar:hover,
  body.portal-ess-layout.mini-sidebar.expand-menu .sidebar {
    top: 0 !important;
    width: 286px !important;
    overflow: hidden !important;
    border-inline-end: 1px solid #303740 !important;
    box-shadow: 18px 0 46px rgba(0, 0, 0, .28) !important;
  }

  body.portal-ess-layout .sidebar .sidebar-logo,
  body.portal-ess-layout.mini-sidebar .sidebar .sidebar-logo,
  body.portal-ess-layout .sidebar:hover .sidebar-logo,
  body.portal-ess-layout.mini-sidebar.expand-menu .sidebar .sidebar-logo {
    width: 286px !important;
  }

  body.portal-ess-layout .sidebar .logo-small { display: none !important; }
  body.portal-ess-layout .sidebar .logo-normal,
  body.portal-ess-layout .sidebar .dark-logo { display: flex !important; width: 100% !important; }

  body.portal-ess-layout .sidebar .menu-title,
  body.portal-ess-layout.mini-sidebar .sidebar .menu-title {
    display: block !important;
    margin: 18px 13px 8px !important;
    color: #929aa4 !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: .12em;
    text-transform: uppercase;
  }

  body.portal-ess-layout .sidebar #sidebar-menu a,
  body.portal-ess-layout .sidebar:not(:hover) #sidebar-menu a,
  body.portal-ess-layout.mini-sidebar:not(.expand-menu) .sidebar #sidebar-menu a,
  body.portal-ess-layout .sidebar:hover #sidebar-menu a {
    width: 100% !important;
    min-height: 46px !important;
    justify-content: flex-start !important;
    gap: 12px !important;
    margin: 3px 0 !important;
    padding: 10px 13px !important;
    border-radius: 13px !important;
    color: #c4cad2 !important;
    font-size: 12px !important;
  }

  body.portal-ess-layout .sidebar #sidebar-menu a > span:not(.menu-arrow),
  body.portal-ess-layout .sidebar:not(:hover) #sidebar-menu a > span:not(.menu-arrow),
  body.portal-ess-layout.mini-sidebar:not(.expand-menu) .sidebar #sidebar-menu a > span:not(.menu-arrow) {
    width: auto !important;
    max-width: none !important;
    display: inline !important;
    overflow: visible !important;
    color: inherit !important;
    font-weight: 650 !important;
    opacity: 1 !important;
  }

  body.portal-ess-layout .sidebar #sidebar-menu .menu-arrow,
  body.portal-ess-layout .sidebar:not(:hover) #sidebar-menu .menu-arrow,
  body.portal-ess-layout.mini-sidebar:not(.expand-menu) .sidebar #sidebar-menu .menu-arrow {
    width: auto !important;
    max-width: none !important;
    margin-inline-start: auto !important;
    overflow: visible !important;
    opacity: 1 !important;
  }

  body.portal-ess-layout .sidebar .submenu > ul { display: none; }
  body.portal-ess-layout .sidebar .submenu > a.subdrop + ul,
  body.portal-ess-layout .sidebar .submenu.active > ul { display: block !important; }

  body.portal-ess-layout .sidebar .sidebar-inner { overflow-y: auto !important; }
  body.portal-ess-layout .sidebar .slimScrollDiv { padding-inline: 10px !important; }

  body.portal-ess-layout .header,
  body.portal-ess-layout .header.en365-topbar,
  body.portal-ess-layout.mini-sidebar .header {
    left: 286px !important;
    right: 0 !important;
    width: auto !important;
  }

  [dir="rtl"] body.portal-ess-layout .header,
  [dir="rtl"] body.portal-ess-layout .header.en365-topbar,
  [dir="rtl"] body.portal-ess-layout.mini-sidebar .header {
    left: 0 !important;
    right: 286px !important;
  }

  body.portal-ess-layout .header:not(.en365-topbar) .header-left { display: none !important; }
  body.portal-ess-layout .header:not(.en365-topbar) .main-header,
  body.portal-ess-layout .header:not(.en365-topbar) .header-user {
    width: 100% !important;
    margin: 0 !important;
  }

  body.portal-ess-layout .page-wrapper,
  body.portal-ess-layout.mini-sidebar .page-wrapper {
    margin-left: 286px !important;
    margin-right: 0 !important;
    padding-top: 78px !important;
  }

  [dir="rtl"] body.portal-ess-layout .page-wrapper,
  [dir="rtl"] body.portal-ess-layout.mini-sidebar .page-wrapper {
    margin-left: 0 !important;
    margin-right: 286px !important;
  }
}

/* Professional ENPRO loading experience */
body.portal-ess-layout #global-loader.enpro-loader {
  position: fixed !important;
  inset: 0 !important;
  z-index: 99999 !important;
  display: none !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 20px !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at 50% 42%, rgba(244, 122, 32, .12), transparent 25rem),
    rgba(9, 11, 14, .84) !important;
  backdrop-filter: blur(16px) saturate(118%) !important;
  -webkit-backdrop-filter: blur(16px) saturate(118%) !important;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .2s ease, visibility .2s ease !important;
}

body.portal-ess-layout #global-loader.enpro-loader::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: .22;
  background-image:
    linear-gradient(rgba(255, 255, 255, .025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .025) 1px, transparent 1px);
  background-size: 42px 42px;
  mask-image: radial-gradient(circle at center, #000, transparent 72%);
  -webkit-mask-image: radial-gradient(circle at center, #000, transparent 72%);
}

body.portal-ess-layout #global-loader.enpro-loader.is-active {
  display: flex !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

body.portal-ess-layout #global-loader.enpro-loader[aria-hidden="true"]:not(.is-active) {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* Fail closed after the document is ready, even if legacy theme code restores is-active. */
body.portal-ess-layout.enpro-loader-ready #global-loader.enpro-loader {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

body.portal-ess-layout #global-loader.enpro-loader .enpro-loader-card {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 68px minmax(0, 1fr) !important;
  grid-template-rows: auto auto auto !important;
  column-gap: 18px !important;
  row-gap: 5px !important;
  width: min(372px, calc(100vw - 34px)) !important;
  min-width: 0 !important;
  padding: 24px 25px 21px !important;
  overflow: hidden !important;
  border: 1px solid rgba(255, 159, 67, .22) !important;
  border-radius: 22px !important;
  background:
    linear-gradient(145deg, rgba(36, 40, 46, .98), rgba(21, 24, 29, .98)) !important;
  box-shadow:
    0 32px 90px rgba(0, 0, 0, .5),
    inset 0 1px rgba(255, 255, 255, .055) !important;
  transform: translateY(8px) scale(.985);
  transition: transform .24s cubic-bezier(.2, .72, .2, 1) !important;
}

body.portal-ess-layout #global-loader.enpro-loader.is-active .enpro-loader-card {
  transform: translateY(0) scale(1);
}

body.portal-ess-layout #global-loader.enpro-loader .enpro-loader-card::before {
  content: "ENPRO 365  ·  DEV PORTAL";
  grid-column: 2 !important;
  grid-row: 1 !important;
  align-self: end !important;
  color: #f3f5f7 !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
  letter-spacing: .105em !important;
  white-space: nowrap !important;
}

body.portal-ess-layout #global-loader.enpro-loader .enpro-loader-card::after {
  content: "";
  position: absolute;
  top: 0;
  inset-inline: 25px;
  height: 1px;
  background: linear-gradient(90deg, transparent, #ff9f43 48%, transparent);
  box-shadow: 0 0 18px rgba(255, 159, 67, .5);
}

body.portal-ess-layout #global-loader.enpro-loader .enpro-loader-mark {
  position: relative !important;
  grid-column: 1 !important;
  grid-row: 1 / span 2 !important;
  align-self: center !important;
  display: grid !important;
  width: 68px !important;
  height: 68px !important;
  place-items: center !important;
}

body.portal-ess-layout #global-loader.enpro-loader .enpro-loader-mark::before,
body.portal-ess-layout #global-loader.enpro-loader .enpro-loader-mark::after {
  content: "" !important;
  position: absolute !important;
  border-radius: 19px !important;
}

body.portal-ess-layout #global-loader.enpro-loader .enpro-loader-mark::before {
  inset: 0 !important;
  border: 1px solid rgba(255, 159, 67, .18) !important;
  background: rgba(255, 159, 67, .045) !important;
  box-shadow: inset 0 0 22px rgba(255, 159, 67, .055) !important;
}

body.portal-ess-layout #global-loader.enpro-loader .enpro-loader-mark::after {
  inset: -3px !important;
  border: 2px solid transparent !important;
  border-top-color: #ffad52 !important;
  border-right-color: rgba(244, 122, 32, .3) !important;
  background: transparent !important;
  animation: enpro-professional-loader-spin 1.3s cubic-bezier(.5, .1, .45, .9) infinite !important;
}

body.portal-ess-layout #global-loader.enpro-loader .enpro-loader-logo {
  position: relative !important;
  z-index: 1 !important;
  display: grid !important;
  width: 50px !important;
  height: 50px !important;
  place-items: center !important;
  padding: 10px !important;
  border: 1px solid rgba(255, 255, 255, .07) !important;
  border-radius: 14px !important;
  background: linear-gradient(145deg, #30251d, #1d1d20) !important;
  box-shadow: 0 11px 26px rgba(0, 0, 0, .28) !important;
}

body.portal-ess-layout #global-loader.enpro-loader .enpro-loader-logo img {
  display: block !important;
  max-width: 100% !important;
  max-height: 31px !important;
  object-fit: contain !important;
}

body.portal-ess-layout #global-loader.enpro-loader .enpro-loader-text {
  grid-column: 2 !important;
  grid-row: 2 !important;
  align-self: start !important;
  margin: 0 !important;
  color: #9ca5af !important;
  font-size: 11.5px !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
  letter-spacing: 0 !important;
}

body.portal-ess-layout #global-loader.enpro-loader .enpro-loader-text::after {
  content: "•••";
  display: inline-block;
  margin-inline-start: 6px;
  color: #ff9f43;
  letter-spacing: 2px;
  animation: enpro-professional-loader-dots 1.15s ease-in-out infinite;
}

body.portal-ess-layout #global-loader.enpro-loader .enpro-loader-line {
  position: relative !important;
  grid-column: 1 / -1 !important;
  grid-row: 3 !important;
  width: 100% !important;
  height: 3px !important;
  margin-top: 15px !important;
  overflow: hidden !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, .075) !important;
}

body.portal-ess-layout #global-loader.enpro-loader .enpro-loader-line::before {
  content: "" !important;
  position: absolute !important;
  inset-block: 0 !important;
  left: 0 !important;
  width: 38% !important;
  border-radius: inherit !important;
  background: linear-gradient(90deg, transparent, #ff9f43, #ffbd77, transparent) !important;
  box-shadow: 0 0 14px rgba(255, 159, 67, .42) !important;
  animation: enpro-professional-loader-line 1.25s cubic-bezier(.45, 0, .25, 1) infinite !important;
}

@keyframes enpro-professional-loader-spin {
  to { transform: rotate(360deg); }
}

@keyframes enpro-professional-loader-line {
  0% { transform: translateX(-110%); }
  100% { transform: translateX(270%); }
}

@keyframes enpro-professional-loader-dots {
  0%, 100% { opacity: .28; transform: translateY(0); }
  50% { opacity: 1; transform: translateY(-1px); }
}

@media (max-width: 479.98px) {
  body.portal-ess-layout #global-loader.enpro-loader .enpro-loader-card {
    grid-template-columns: 58px minmax(0, 1fr) !important;
    column-gap: 14px !important;
    padding: 21px 20px 19px !important;
    border-radius: 19px !important;
  }

  body.portal-ess-layout #global-loader.enpro-loader .enpro-loader-mark {
    width: 58px !important;
    height: 58px !important;
  }

  body.portal-ess-layout #global-loader.enpro-loader .enpro-loader-logo {
    width: 42px !important;
    height: 42px !important;
    padding: 8px !important;
  }

  body.portal-ess-layout #global-loader.enpro-loader .enpro-loader-card::before {
    font-size: 9.5px !important;
    letter-spacing: .075em !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.portal-ess-layout #global-loader.enpro-loader .enpro-loader-mark::after,
  body.portal-ess-layout #global-loader.enpro-loader .enpro-loader-line::before,
  body.portal-ess-layout #global-loader.enpro-loader .enpro-loader-text::after {
    animation-duration: 2.8s !important;
  }
}

@media (max-width: 991.98px) {
  body.portal-ess-layout .header,
  body.portal-ess-layout .header.en365-topbar,
  body.portal-ess-layout.mini-sidebar .header {
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
  }
  body.portal-ess-layout .page-wrapper,
  body.portal-ess-layout.mini-sidebar .page-wrapper,
  [dir="rtl"] body.portal-ess-layout .page-wrapper,
  [dir="rtl"] body.portal-ess-layout.mini-sidebar .page-wrapper {
    margin: 0 !important;
  }
  body.portal-ess-layout .sidebar #sidebar-menu a > span:not(.menu-arrow) {
    display: inline !important;
    width: auto !important;
    max-width: none !important;
    opacity: 1 !important;
  }
}

@media (max-width: 680px) {
  body.portal-ess-layout .page-breadcrumb { padding: 16px; border-radius: 18px; }
  .en365-profile-media { width: 170px; height: 170px; }
  .en365-profile-photo,
  .en365-profile-photo[src^="data:image/svg"] { width: 170px !important; height: 170px !important; }
  .ess-request-modal__heading p { max-width: 230px; }
  .ess-request-modal .modal-footer > .btn { flex: 1 1 auto; }
}

/* Request creation surfaces share one modal system. */
body.portal-ess-layout .ess-request-modal,
body.portal-ess-layout .en365-service-modal .modal-content {
  border: 1px solid #3a414a !important;
  border-radius: 24px !important;
  background: #181c21 !important;
  box-shadow: 0 30px 90px rgba(0, 0, 0, .54) !important;
}

body.portal-ess-layout .ess-request-modal .modal-header,
body.portal-ess-layout .en365-service-modal .modal-header {
  min-height: 88px;
  background:
    radial-gradient(circle at 8% 0, rgba(244, 122, 32, .2), transparent 15rem),
    #1b2026 !important;
}

.ess-request-modal__heading {
  display: flex;
  align-items: center;
  gap: 14px;
}

.ess-request-modal__heading p {
  margin: 3px 0 0;
  color: #a3abb5 !important;
  font-size: 11px;
}

.ess-request-modal__icon {
  width: 48px;
  height: 48px;
  flex: 0 0 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 15px;
  background: linear-gradient(135deg, #f47a20, #ffad52);
  color: #fff;
  font-size: 22px;
  box-shadow: 0 12px 28px rgba(244, 122, 32, .25);
}

body.portal-ess-layout .ess-request-modal .modal-body,
body.portal-ess-layout .en365-service-modal .modal-body {
  background: #181c21 !important;
}

body.portal-ess-layout .ess-request-modal .modal-footer,
body.portal-ess-layout .en365-service-modal .modal-footer {
  background: #1b2026 !important;
}

body.portal-ess-layout .ess-request-modal .form-control,
body.portal-ess-layout .ess-request-modal .form-select,
body.portal-ess-layout .ess-request-modal .select2-selection {
  min-height: 46px;
  border-radius: 12px !important;
  border-color: #3c444e !important;
  background: #12161b !important;
  color: #f5f7fb !important;
}

body.portal-ess-layout .ess-request-modal .btn,
body.portal-ess-layout .en365-service-modal .btn {
  min-height: 42px;
  padding-inline: 18px;
  border-radius: 12px !important;
  font-weight: 700;
}

body.portal-ess-layout .ess-request-modal .btn-outline-secondary {
  border-color: #4a535e !important;
  background: transparent !important;
  color: #dce2e9 !important;
}

body.portal-ess-layout .ess-request-modal .btn-outline-secondary:hover {
  border-color: #ff9f43 !important;
  background: rgba(244, 122, 32, .1) !important;
  color: #fff !important;
}

.en365-service-grid { gap: 12px; }

.en365-service-tile {
  min-height: 138px;
  border-color: #3a424b !important;
  background: linear-gradient(145deg, #1c2127, #171b20) !important;
}

.en365-service-tile:hover {
  border-color: rgba(244, 122, 32, .58) !important;
  background: linear-gradient(145deg, rgba(244, 122, 32, .12), #1b2026) !important;
  box-shadow: 0 18px 40px rgba(0, 0, 0, .26), 0 0 0 1px rgba(244, 122, 32, .08) !important;
  transform: translateY(-3px);
}

/* Cohesive warm icon language across navigation, actions and widgets. */
body.portal-ess-layout {
  --en365-icon-primary: #ff9f43;
  --en365-icon-bright: #ffc15a;
  --en365-icon-coral: #ff7864;
  --en365-icon-ink: #24160c;
  --en365-icon-surface: #24201d;
}

body.portal-ess-layout .en365-icon-button {
  width: 42px;
  height: 42px;
  display: inline-grid;
  place-items: center;
  padding: 0 !important;
  border: 1px solid rgba(255, 159, 67, .34) !important;
  border-radius: 13px !important;
  background: linear-gradient(145deg, #26221f, #1b1c1f) !important;
  color: var(--en365-icon-primary) !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, .04), 0 8px 20px rgba(0, 0, 0, .16);
}

body.portal-ess-layout .en365-icon-button > i {
  color: inherit !important;
  font-size: 20px !important;
  line-height: 1;
}

body.portal-ess-layout .en365-language-button {
  border-color: rgba(255, 159, 67, .58) !important;
  background: linear-gradient(145deg, rgba(255, 159, 67, .24), rgba(244, 122, 32, .1)) !important;
  color: var(--en365-icon-bright) !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, .07), 0 10px 24px rgba(244, 122, 32, .16);
}

body.portal-ess-layout .en365-icon-button:hover,
body.portal-ess-layout .en365-icon-button:focus-visible,
body.portal-ess-layout .en365-icon-button.show,
body.portal-ess-layout .show > .en365-icon-button {
  border-color: #ffb35d !important;
  background: linear-gradient(135deg, #ff9f43, #f47a20) !important;
  color: var(--en365-icon-ink) !important;
  box-shadow: 0 12px 28px rgba(244, 122, 32, .3) !important;
}

body.portal-ess-layout .en365-language-button.dropdown-toggle::after {
  border-top-color: currentColor !important;
}

html body.portal-ess-layout header.en365-topbar .en365-topbar__actions button.en365-icon-button.show {
  background-color: #f47a20 !important;
  background-image: linear-gradient(135deg, #ffad52, #f47a20) !important;
  color: var(--en365-icon-ink) !important;
}

body.portal-ess-layout .dropdown-item > i,
body.portal-ess-layout .btn-light > i,
body.portal-ess-layout .btn-secondary > i,
body.portal-ess-layout .btn-outline-secondary > i,
body.portal-ess-layout .table .btn:not(.btn-primary) > i {
  color: var(--en365-icon-primary) !important;
}

body.portal-ess-layout .sidebar #sidebar-menu a > i:first-child {
  width: 34px !important;
  min-width: 34px !important;
  height: 34px !important;
  flex: 0 0 34px !important;
  display: inline-grid !important;
  place-items: center;
  border: 1px solid rgba(255, 159, 67, .22);
  border-radius: 11px;
  background: linear-gradient(145deg, rgba(255, 159, 67, .14), rgba(244, 122, 32, .045));
  color: var(--en365-icon-primary) !important;
  font-size: 18px !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, .035);
  transition: color .2s ease, border-color .2s ease, background .2s ease, transform .2s ease !important;
}

body.portal-ess-layout .sidebar #sidebar-menu a:hover > i:first-child,
body.portal-ess-layout .sidebar #sidebar-menu a.active > i:first-child,
body.portal-ess-layout .sidebar #sidebar-menu a.subdrop > i:first-child {
  border-color: rgba(255, 193, 90, .7) !important;
  background: linear-gradient(135deg, #ffad52, #f47a20) !important;
  color: var(--en365-icon-ink) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 8px 20px rgba(244, 122, 32, .24);
}

body.portal-ess-layout .sidebar #sidebar-menu a:hover,
body.portal-ess-layout .sidebar #sidebar-menu a.active,
body.portal-ess-layout .sidebar #sidebar-menu a.subdrop {
  border-color: rgba(255, 159, 67, .3) !important;
  background: linear-gradient(135deg, rgba(244, 122, 32, .18), rgba(255, 193, 90, .055)) !important;
}

body.portal-ess-layout .sidebar #sidebar-menu .menu-arrow::before {
  border-color: var(--en365-icon-primary) !important;
}

body.portal-ess-layout .sidebar .submenu > ul {
  margin: 5px 0 10px 17px !important;
  padding: 7px !important;
  border: 1px solid rgba(255, 159, 67, .14) !important;
  border-radius: 13px;
  background: rgba(8, 10, 13, .34) !important;
}

[dir="rtl"] body.portal-ess-layout .sidebar .submenu > ul {
  margin-right: 17px !important;
  margin-left: 0 !important;
}

body.portal-ess-layout .sidebar .submenu > ul a {
  min-height: 36px !important;
  padding-block: 8px !important;
  color: #cbd0d7 !important;
}

body.portal-ess-layout .sidebar .submenu > ul a::before {
  content: "";
  width: 6px;
  height: 6px;
  flex: 0 0 6px;
  border-radius: 50%;
  background: var(--en365-icon-primary);
  box-shadow: 0 0 0 4px rgba(255, 159, 67, .09);
}

@media (min-width: 992px) {
  body.portal-ess-layout .sidebar:not(:hover) .submenu > a.subdrop + ul,
  body.portal-ess-layout.mini-sidebar:not(.expand-menu) .sidebar .submenu > a.subdrop + ul,
  body.portal-ess-layout .sidebar:not(:hover) .submenu.active > ul,
  body.portal-ess-layout.mini-sidebar:not(.expand-menu) .sidebar .submenu.active > ul {
    display: block !important;
  }
}

body.portal-ess-layout .en365-shortcut {
  border-color: rgba(255, 159, 67, .26) !important;
  background: var(--en365-icon-surface) !important;
  color: var(--en365-icon-primary) !important;
}

body.portal-ess-layout .en365-shortcut:hover,
body.portal-ess-layout .en365-shortcut.is-active {
  background: linear-gradient(135deg, #ffad52, #f47a20) !important;
  color: var(--en365-icon-ink) !important;
}

body.portal-ess-layout .en365-line-icon {
  border-color: rgba(255, 159, 67, .24) !important;
  background: rgba(255, 159, 67, .09) !important;
  color: var(--en365-icon-primary) !important;
}

body.portal-ess-layout .en365-request-line--link {
  color: inherit !important;
  text-decoration: none !important;
  border-radius: 13px;
  transition: background .2s ease, transform .2s ease;
}

body.portal-ess-layout .en365-request-line--link:hover,
body.portal-ess-layout .en365-request-line--link:focus-visible {
  background: rgba(255, 159, 67, .07);
  transform: translateX(3px);
}

[dir="rtl"] body.portal-ess-layout .en365-request-line--link:hover,
[dir="rtl"] body.portal-ess-layout .en365-request-line--link:focus-visible {
  transform: translateX(-3px);
}

body.portal-ess-layout .en365-service-link .en365-line-icon,
body.portal-ess-layout .en365-service-tile > i,
body.portal-ess-layout .en365-modal-heading__icon,
body.portal-ess-layout .ess-request-modal__icon {
  color: var(--en365-icon-ink) !important;
}

body.portal-ess-layout .en365-service-link:nth-child(1) .en365-line-icon,
body.portal-ess-layout .en365-service-tile:nth-child(1) > i { background: linear-gradient(135deg, #ffb45d, #f47a20) !important; }
body.portal-ess-layout .en365-service-link:nth-child(2) .en365-line-icon,
body.portal-ess-layout .en365-service-tile:nth-child(2) > i { background: linear-gradient(135deg, #ff8d4d, #ff6b35) !important; }
body.portal-ess-layout .en365-service-link:nth-child(3) .en365-line-icon,
body.portal-ess-layout .en365-service-tile:nth-child(3) > i { background: linear-gradient(135deg, #ff7864, #ff9b42) !important; }
body.portal-ess-layout .en365-service-link:nth-child(4) .en365-line-icon,
body.portal-ess-layout .en365-service-tile:nth-child(4) > i { background: linear-gradient(135deg, #ffc15a, #ff9238) !important; }
body.portal-ess-layout .en365-service-link:nth-child(5) .en365-line-icon,
body.portal-ess-layout .en365-service-tile:nth-child(5) > i { background: linear-gradient(135deg, #ffd071, #ff7b45) !important; }
body.portal-ess-layout .en365-service-link:nth-child(6) .en365-line-icon,
body.portal-ess-layout .en365-service-tile:nth-child(6) > i { background: linear-gradient(135deg, #ff9f43, #e96722) !important; }

body.portal-ess-layout .en365-widget--metric-one .en365-metric__icon,
body.portal-ess-layout .en365-widget--metric-two .en365-metric__icon,
body.portal-ess-layout .en365-holiday-line .en365-line-icon {
  border: 1px solid rgba(255, 159, 67, .24) !important;
  background: rgba(255, 159, 67, .11) !important;
  color: var(--en365-icon-primary) !important;
}

@media (max-width: 991.98px) {
  body.portal-ess-layout .sidebar #sidebar-menu a > i:first-child {
    width: 32px !important;
    min-width: 32px !important;
    height: 32px !important;
  }
}

/* Sidebar brand: the dark rail always uses one logo asset. */
body.portal-ess-layout .sidebar .sidebar-logo .logo-normal {
  display: flex !important;
  width: 100% !important;
  align-items: center;
  justify-content: center;
}

body.portal-ess-layout .sidebar .sidebar-logo .dark-logo,
body.portal-ess-layout .sidebar .sidebar-logo .logo-small {
  display: none !important;
}

body.portal-ess-layout .sidebar .sidebar-logo .logo-normal img {
  display: block;
  width: auto !important;
  max-width: 176px !important;
  max-height: 44px !important;
  object-fit: contain;
}

/* Subnavigation follows the reference template's flat, quiet navigation rhythm. */
body.portal-ess-layout .sidebar .submenu > ul,
body.portal-ess-layout .sidebar:hover .submenu > ul,
body.portal-ess-layout.mini-sidebar.expand-menu .sidebar .submenu > ul {
  margin: 3px 0 10px 47px !important;
  padding: 2px 0 2px 11px !important;
  border: 0 !important;
  border-inline-start: 1px solid #383d3b !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

[dir="rtl"] body.portal-ess-layout .sidebar .submenu > ul,
[dir="rtl"] body.portal-ess-layout .sidebar:hover .submenu > ul,
[dir="rtl"] body.portal-ess-layout.mini-sidebar.expand-menu .sidebar .submenu > ul {
  margin-right: 47px !important;
  margin-left: 0 !important;
}

body.portal-ess-layout .sidebar#sidebar #sidebar-menu .submenu > ul > li > a,
body.portal-ess-layout .sidebar#sidebar:hover #sidebar-menu .submenu > ul > li > a {
  min-height: 34px !important;
  margin: 2px 0 !important;
  padding: 7px 10px !important;
  border: 0 !important;
  border-radius: 9px !important;
  background: transparent !important;
  color: #aeb5bd !important;
  font-size: 11.5px !important;
  font-weight: 550 !important;
}

body.portal-ess-layout .sidebar#sidebar #sidebar-menu .submenu > ul > li > a::before {
  width: 3px !important;
  height: 18px !important;
  flex: 0 0 3px !important;
  border-radius: 4px !important;
  background: transparent !important;
  box-shadow: none !important;
  transition: background .18s ease, box-shadow .18s ease !important;
}

body.portal-ess-layout .sidebar#sidebar #sidebar-menu .submenu > ul > li > a:hover,
body.portal-ess-layout .sidebar#sidebar #sidebar-menu .submenu > ul > li > a.active {
  background: rgba(255, 159, 67, .09) !important;
  color: #ffe0bf !important;
}

body.portal-ess-layout .sidebar#sidebar #sidebar-menu .submenu > ul > li > a:hover::before,
body.portal-ess-layout .sidebar#sidebar #sidebar-menu .submenu > ul > li > a.active::before {
  background: var(--en365-icon-primary) !important;
  box-shadow: 0 0 12px rgba(255, 159, 67, .38) !important;
}

/* Unified dark request-list surfaces. These rules intentionally beat legacy
   white utility classes and page-local styles without changing functionality. */
body.portal-ess-layout {
  --bs-body-bg: #0b0d10;
  --bs-body-color: #dce3ed;
  --bs-card-bg: #191d23;
  --bs-secondary-color: #a3abb5;
  --bs-tertiary-bg: #20252c;
}

body.portal-ess-layout .page-wrapper .content,
body.portal-ess-layout .page-wrapper .content > .content {
  color: var(--en365-text) !important;
  background: transparent !important;
}

body.portal-ess-layout .card,
body.portal-ess-layout .card-body,
body.portal-ess-layout .table-responsive,
body.portal-ess-layout .custom-datatable-filter,
body.portal-ess-layout .tab-content,
body.portal-ess-layout .list-group,
body.portal-ess-layout .list-group-item {
  color: var(--en365-text) !important;
}

body.portal-ess-layout .table-responsive,
body.portal-ess-layout .custom-datatable-filter {
  background: #171b20 !important;
  scrollbar-color: #f47a20 #252b33;
}

body.portal-ess-layout .table {
  --bs-table-bg: transparent !important;
  --bs-table-accent-bg: transparent !important;
  --bs-table-striped-bg: rgba(255, 159, 67, .025) !important;
  --bs-table-striped-color: #e3e8ef !important;
  --bs-table-hover-bg: rgba(255, 159, 67, .075) !important;
  --bs-table-hover-color: #fff3e5 !important;
  margin-bottom: 0 !important;
  color: #dce3ed !important;
  border-color: #303740 !important;
}

body.portal-ess-layout .table > :not(caption) > * > *,
body.portal-ess-layout .table tbody tr,
body.portal-ess-layout .table tbody td {
  border-color: #303740 !important;
  background-color: transparent !important;
  color: #d6dde6 !important;
  box-shadow: none !important;
}

body.portal-ess-layout .table thead,
body.portal-ess-layout .table thead.table-light,
body.portal-ess-layout .table thead.thead-light,
body.portal-ess-layout .table-light,
body.portal-ess-layout .thead-light {
  --bs-table-bg: #21262d !important;
  --bs-table-color: #b9c1cb !important;
  background: #21262d !important;
  color: #b9c1cb !important;
}

body.portal-ess-layout .table thead th,
body.portal-ess-layout .table-light > * > *,
body.portal-ess-layout .thead-light > * > * {
  border-color: #39414b !important;
  background: #21262d !important;
  color: #b9c1cb !important;
  box-shadow: none !important;
  font-size: 11px;
  letter-spacing: .025em;
  text-transform: none;
}

body.portal-ess-layout .table tbody tr:hover > *,
body.portal-ess-layout .expense-table tbody tr:hover > *,
body.portal-ess-layout .visa-ops-table tbody tr:hover > * {
  background: rgba(255, 159, 67, .075) !important;
  color: #fff3e5 !important;
}

body.portal-ess-layout .bg-white,
body.portal-ess-layout .bg-light,
body.portal-ess-layout .modal-body.bg-light,
body.portal-ess-layout .nav-tabs-solid.bg-white,
body.portal-ess-layout .visa-table-scroll-top,
body.portal-ess-layout .visa-detail-item,
body.portal-ess-layout .expense-line,
body.portal-ess-layout .workflow-card,
body.portal-ess-layout .workflow-marker {
  border-color: #3a424c !important;
  background-color: #1b2026 !important;
  background-image: none !important;
  color: #e1e7ef !important;
}

body.portal-ess-layout .expense-soft-card {
  border-color: #353d47 !important;
  background: #191d23 !important;
  box-shadow: 0 16px 38px rgba(0, 0, 0, .18) !important;
}

body.portal-ess-layout .assigned-request-card,
body.portal-ess-layout .report-empty-state,
body.portal-ess-layout .visa-detail-item {
  border-color: #39414b !important;
  background: #1b2026 !important;
  color: #dce3eb !important;
  box-shadow: 0 12px 30px rgba(0, 0, 0, .14) !important;
}

body.portal-ess-layout .assigned-request-field span {
  color: #929ca8 !important;
}

body.portal-ess-layout .assigned-request-field strong {
  color: #e5eaf1 !important;
}

body.portal-ess-layout .expense-filter-panel,
body.portal-ess-layout .assigned-bulk-bar,
body.portal-ess-layout [class*="filter-panel"],
body.portal-ess-layout [class*="filter-card"] {
  border-color: #343c46 !important;
  background: linear-gradient(145deg, rgba(255, 159, 67, .045), #1a1f25) !important;
  color: #dce3eb !important;
}

body.portal-ess-layout .expense-choice {
  border-color: #3a424c !important;
  background: #1b2026 !important;
  color: #dce3eb !important;
}

body.portal-ess-layout .expense-choice.is-active {
  border-color: rgba(255, 159, 67, .72) !important;
  background: rgba(255, 159, 67, .12) !important;
  color: #ffe6ca !important;
}

body.portal-ess-layout .expense-sticky-submit {
  background: linear-gradient(180deg, rgba(24, 28, 33, 0), #181c21 28%) !important;
}

body.portal-ess-layout .nav-tabs,
body.portal-ess-layout .nav-tabs-solid {
  border-color: #353d47 !important;
  background: #191d23 !important;
}

body.portal-ess-layout .nav-tabs .nav-link {
  border-color: transparent !important;
  color: #abb4bf !important;
}

body.portal-ess-layout .nav-tabs .nav-link:hover,
body.portal-ess-layout .nav-tabs .nav-link.active {
  border-color: rgba(255, 159, 67, .24) !important;
  background: rgba(255, 159, 67, .11) !important;
  color: #ffd9b0 !important;
}

body.portal-ess-layout .btn-white,
body.portal-ess-layout .btn-outline-light,
body.portal-ess-layout .page-link {
  border-color: #424b56 !important;
  background: #252b33 !important;
  color: #dce3eb !important;
}

body.portal-ess-layout .btn-white:hover,
body.portal-ess-layout .btn-outline-light:hover,
body.portal-ess-layout .page-link:hover,
body.portal-ess-layout .page-item.active .page-link {
  border-color: rgba(255, 159, 67, .7) !important;
  background: rgba(255, 159, 67, .14) !important;
  color: #ffd9b0 !important;
}

body.portal-ess-layout .page-item.disabled .page-link {
  border-color: #343b44 !important;
  background: #1a1e23 !important;
  color: #6f7883 !important;
}

body.portal-ess-layout .dataTables_wrapper,
body.portal-ess-layout .dataTables_info,
body.portal-ess-layout .dataTables_length,
body.portal-ess-layout .dataTables_filter,
body.portal-ess-layout .dataTables_paginate {
  color: #aab3be !important;
}

body.portal-ess-layout .dataTables_wrapper input,
body.portal-ess-layout .dataTables_wrapper select {
  border-color: #3c444e !important;
  background: #14181e !important;
  color: #f5f7fb !important;
}

body.portal-ess-layout .select2-dropdown,
body.portal-ess-layout .select2-results,
body.portal-ess-layout .select2-search__field,
body.portal-ess-layout .select2-results__option {
  border-color: #3c444e !important;
  background: #181d23 !important;
  color: #dce3eb !important;
}

body.portal-ess-layout .select2-results__option--highlighted,
body.portal-ess-layout .select2-results__option[aria-selected="true"] {
  background: rgba(255, 159, 67, .14) !important;
  color: #ffe2c1 !important;
}

body.portal-ess-layout .flatpickr-calendar,
body.portal-ess-layout .daterangepicker,
body.portal-ess-layout .daterangepicker .calendar-table,
body.portal-ess-layout .daterangepicker td.off,
body.portal-ess-layout .daterangepicker td.off.in-range {
  border-color: #3b434d !important;
  background: #191e24 !important;
  color: #dce3eb !important;
}

body.portal-ess-layout .alert {
  border-color: rgba(255, 159, 67, .24) !important;
  background-color: #20242a !important;
  color: #dce3eb !important;
}

body.portal-ess-layout .visa-table-scroll-shell::before {
  background: linear-gradient(90deg, #191d23, rgba(25, 29, 35, 0)) !important;
}

body.portal-ess-layout .visa-table-scroll-shell::after {
  background: linear-gradient(270deg, #191d23, rgba(25, 29, 35, 0)) !important;
}

body.portal-ess-layout .visa-table-scroll::-webkit-scrollbar-track,
body.portal-ess-layout .visa-table-scroll-top::-webkit-scrollbar-track {
  background: #252b33 !important;
}

body.portal-ess-layout .form-control::placeholder,
body.portal-ess-layout .select2-selection__placeholder {
  color: #7f8995 !important;
}

body.portal-ess-layout .form-select option {
  background: #181d23 !important;
  color: #e1e7ef !important;
}

body.portal-ess-layout .workflow-step-success .workflow-marker {
  border-color: rgba(85, 219, 145, .42) !important;
  background: rgba(85, 219, 145, .12) !important;
  color: #6fe1a0 !important;
}

body.portal-ess-layout .workflow-step-warning .workflow-marker {
  border-color: rgba(255, 196, 94, .48) !important;
  background: rgba(255, 196, 94, .13) !important;
  color: #ffc45e !important;
}

body.portal-ess-layout .workflow-step-danger .workflow-marker {
  border-color: rgba(255, 102, 128, .46) !important;
  background: rgba(255, 102, 128, .12) !important;
  color: #ff7d91 !important;
}

body.portal-ess-layout .table tr.is-selected > td {
  background: rgba(244, 122, 32, .11) !important;
  color: #fff0df !important;
}

@media (max-width: 767.98px) {
  body.portal-ess-layout .table-responsive {
    border: 1px solid #303740;
    border-radius: 14px;
  }

  body.portal-ess-layout .table thead th,
  body.portal-ess-layout .table tbody td {
    white-space: nowrap;
  }
}

/* Final sidebar interaction system: stable, flat, and consistently orange-accented. */
body.portal-ess-layout .sidebar#sidebar {
  background: #202322 !important;
  border-inline-end: 1px solid #303432 !important;
  box-shadow: 14px 0 34px rgba(0, 0, 0, .24) !important;
}

@media (min-width: 992px) {
  body.portal-ess-layout .sidebar#sidebar,
  body.portal-ess-layout.mini-sidebar .sidebar#sidebar,
  body.portal-ess-layout .sidebar#sidebar:hover,
  body.portal-ess-layout.mini-sidebar .sidebar#sidebar:hover {
    width: 286px !important;
    transition: none !important;
  }
}

body.portal-ess-layout .sidebar#sidebar .sidebar-inner,
body.portal-ess-layout .sidebar#sidebar .slimScrollDiv {
  background: #202322 !important;
}

body.portal-ess-layout .sidebar#sidebar #sidebar-menu {
  padding: 14px 13px 26px !important;
}

body.portal-ess-layout .sidebar#sidebar #sidebar-menu ul,
body.portal-ess-layout .sidebar#sidebar #sidebar-menu li {
  background: transparent !important;
  box-shadow: none !important;
}

body.portal-ess-layout .sidebar#sidebar #sidebar-menu .menu-title {
  min-height: 0 !important;
  margin: 18px 10px 7px !important;
  padding: 0 !important;
  border: 0 !important;
}

body.portal-ess-layout .sidebar#sidebar #sidebar-menu .menu-title:first-child {
  margin-top: 4px !important;
}

body.portal-ess-layout .sidebar#sidebar #sidebar-menu .menu-title > span {
  display: block !important;
  color: #717975 !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  line-height: 1.4 !important;
  letter-spacing: .13em !important;
  text-transform: uppercase !important;
}

body.portal-ess-layout .sidebar#sidebar #sidebar-menu a,
body.portal-ess-layout .sidebar#sidebar:hover #sidebar-menu a,
body.portal-ess-layout.mini-sidebar .sidebar#sidebar #sidebar-menu a,
body.portal-ess-layout.mini-sidebar .sidebar#sidebar:hover #sidebar-menu a {
  position: relative !important;
  display: flex !important;
  width: 100% !important;
  min-height: 48px !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  margin: 2px 0 !important;
  padding: 6px 9px !important;
  overflow: hidden !important;
  border: 1px solid transparent !important;
  border-radius: 12px !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  color: #b8bfbb !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  text-align: start !important;
  transform: none !important;
  transition: background-color .16s ease, border-color .16s ease, color .16s ease !important;
}

body.portal-ess-layout .sidebar#sidebar #sidebar-menu a > span:not(.menu-arrow),
body.portal-ess-layout .sidebar#sidebar:hover #sidebar-menu a > span:not(.menu-arrow),
body.portal-ess-layout.mini-sidebar .sidebar#sidebar #sidebar-menu a > span:not(.menu-arrow) {
  display: block !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  overflow: visible !important;
  color: inherit !important;
  opacity: 1 !important;
  visibility: visible !important;
  white-space: normal !important;
}

body.portal-ess-layout .sidebar#sidebar #sidebar-menu a:hover {
  border-color: #3a3f3c !important;
  background: #2b2f2d !important;
  background-image: none !important;
  box-shadow: none !important;
  color: #f7f8f7 !important;
  transform: none !important;
}

body.portal-ess-layout .sidebar#sidebar #sidebar-menu a.active,
body.portal-ess-layout .sidebar#sidebar #sidebar-menu .submenu > a.subdrop {
  border-color: rgba(255, 159, 67, .28) !important;
  background: #2d302f !important;
  background-image: none !important;
  box-shadow: none !important;
  color: #ffe0bf !important;
  transform: none !important;
}

body.portal-ess-layout .sidebar#sidebar #sidebar-menu > ul > li > ul > li > a::before {
  content: none !important;
  display: none !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.portal-ess-layout .sidebar#sidebar #sidebar-menu a > i:first-child,
body.portal-ess-layout .sidebar#sidebar:hover #sidebar-menu a > i:first-child,
body.portal-ess-layout.mini-sidebar .sidebar#sidebar #sidebar-menu a > i:first-child {
  display: grid !important;
  width: 36px !important;
  height: 36px !important;
  flex: 0 0 36px !important;
  place-items: center !important;
  margin: 0 !important;
  border: 1px solid #393e3b !important;
  border-radius: 11px !important;
  background: #292d2b !important;
  background-image: none !important;
  box-shadow: none !important;
  color: #ff9f43 !important;
  font-size: 19px !important;
  line-height: 1 !important;
  transform: none !important;
  transition: background-color .16s ease, border-color .16s ease, color .16s ease !important;
}

body.portal-ess-layout .sidebar#sidebar #sidebar-menu a:hover > i:first-child {
  border-color: #484e4a !important;
  background: #343936 !important;
  color: #ffc15a !important;
  transform: none !important;
}

body.portal-ess-layout .sidebar#sidebar #sidebar-menu a.active > i:first-child,
body.portal-ess-layout .sidebar#sidebar #sidebar-menu .submenu > a.subdrop > i:first-child {
  border-color: rgba(255, 159, 67, .4) !important;
  background: rgba(255, 159, 67, .13) !important;
  color: #ffad52 !important;
  transform: none !important;
}

body.portal-ess-layout .sidebar#sidebar #sidebar-menu a > .menu-arrow {
  position: relative !important;
  inset: auto !important;
  display: block !important;
  width: 18px !important;
  height: 18px !important;
  flex: 0 0 18px !important;
  margin-inline-start: auto !important;
  opacity: 1 !important;
  transform: none !important;
}

body.portal-ess-layout .sidebar#sidebar #sidebar-menu a > .menu-arrow::before {
  content: "" !important;
  position: absolute !important;
  top: 4px !important;
  left: 4px !important;
  width: 7px !important;
  height: 7px !important;
  border: solid #858d88 !important;
  border-width: 0 1.5px 1.5px 0 !important;
  background: transparent !important;
  transform: rotate(45deg) !important;
  transition: border-color .16s ease, transform .16s ease !important;
}

body.portal-ess-layout .sidebar#sidebar #sidebar-menu a:hover > .menu-arrow::before {
  border-color: #ffc15a !important;
}

body.portal-ess-layout .sidebar#sidebar #sidebar-menu .submenu > a.subdrop > .menu-arrow::before {
  border-color: #ff9f43 !important;
  transform: rotate(225deg) !important;
}

body.portal-ess-layout .sidebar#sidebar #sidebar-menu .submenu > ul,
body.portal-ess-layout .sidebar#sidebar:hover #sidebar-menu .submenu > ul,
body.portal-ess-layout.mini-sidebar .sidebar#sidebar #sidebar-menu .submenu > ul {
  display: none;
  width: auto !important;
  margin: 3px 0 9px 48px !important;
  padding: 2px 0 2px 11px !important;
  border: 0 !important;
  border-inline-start: 1px solid #3a3f3c !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

body.portal-ess-layout[dir="rtl"] .sidebar#sidebar #sidebar-menu .submenu > ul,
html[dir="rtl"] body.portal-ess-layout .sidebar#sidebar #sidebar-menu .submenu > ul {
  margin: 3px 48px 9px 0 !important;
}

body.portal-ess-layout .sidebar#sidebar #sidebar-menu .submenu > a.subdrop + ul,
body.portal-ess-layout .sidebar#sidebar #sidebar-menu .submenu.active > ul {
  display: block !important;
}

body.portal-ess-layout .sidebar#sidebar #sidebar-menu .submenu > ul > li > a,
body.portal-ess-layout .sidebar#sidebar:hover #sidebar-menu .submenu > ul > li > a,
body.portal-ess-layout.mini-sidebar .sidebar#sidebar #sidebar-menu .submenu > ul > li > a {
  min-height: 34px !important;
  gap: 0 !important;
  margin: 2px 0 !important;
  padding: 7px 10px !important;
  overflow: visible !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  color: #aeb5b1 !important;
  font-size: 11.5px !important;
  font-weight: 550 !important;
  line-height: 1.35 !important;
  transform: none !important;
}

body.portal-ess-layout .sidebar#sidebar #sidebar-menu .submenu > ul > li > a::before {
  content: "" !important;
  position: absolute !important;
  top: 50% !important;
  inset-inline-start: -12px !important;
  width: 3px !important;
  height: 16px !important;
  border: 0 !important;
  border-radius: 5px !important;
  background: transparent !important;
  transform: translateY(-50%) !important;
  transition: background-color .16s ease !important;
}

body.portal-ess-layout .sidebar#sidebar #sidebar-menu .submenu > ul > li > a:hover {
  border: 0 !important;
  background: #292d2b !important;
  background-image: none !important;
  color: #f5f7f5 !important;
}

body.portal-ess-layout .sidebar#sidebar #sidebar-menu .submenu > ul > li > a:hover::before,
body.portal-ess-layout .sidebar#sidebar #sidebar-menu .submenu > ul > li > a.active::before {
  background: #ff9f43 !important;
}

body.portal-ess-layout .sidebar#sidebar #sidebar-menu .submenu > ul > li > a.active {
  border: 0 !important;
  background: rgba(255, 159, 67, .1) !important;
  color: #ffd6ab !important;
}

@media (max-width: 991.98px) {
  body.portal-ess-layout .sidebar#sidebar {
    width: 286px !important;
  }

  body.portal-ess-layout .en365-topbar__actions .dropdown.en365-language {
    display: block !important;
  }
}
