:root {
  /* Reference tokens, taken from T&B algo using #374182 as brand */
  --slds-r-color-brand-5: #0c0b22;
  --slds-r-color-brand-10: #13162c;
  --slds-r-color-brand-15: #1e2140;
  --slds-r-color-brand-20: #272b50;
  --slds-r-color-brand-30: #3a4073;
  --slds-r-color-brand-35: #444b86;
  --slds-r-color-brand-40: #4f5699;
  --slds-r-color-brand-50: #656ebe;
  --slds-r-color-brand-60: #8c8ecc;
  --slds-r-color-brand-65: #9b9cd2;
  --slds-r-color-brand-70: #aaaad8;
  --slds-r-color-brand-80: #c8c6e5;
  --slds-r-color-brand-85: #d6d5ea;
  --slds-r-color-brand-90: #e5e4f1;
  --slds-r-color-brand-95: #f3f3f7;

  /* Global Blur tokens (new) */
  --slds-g-blur-heavy: 40px;
  --slds-g-blur-medium: 20px;
  --slds-g-blur-light: 10px;

  /* Global Color tokens */
  --slds-g-color-border-1: light-dark(rgba(255, 255, 255, 0.6), rgba(255, 255, 255, 0.1));
  --slds-g-color-surface-container-1: light-dark(rgba(255, 255, 255, 0.45), rgba(255, 255, 255, 0.04));
  --slds-g-color-surface-container-2: light-dark(rgba(255, 255, 255, 0.6), rgba(255, 255, 255, 0.14));
  --slds-g-color-on-surface-3: light-dark(#3e4a7a, rgba(255, 255, 255, 0.85));

  /* Global Shadow tokens */
  --slds-g-shadow-1: 0 1px 3px light-dark(rgba(26, 31, 54, 0.06), rgba(0, 0, 0, 0.2));

  /* Shared Color tokens */
  --slds-s-backdrop-color-background: light-dark(rgba(184, 186, 205, 0.3), rgba(0, 0, 0, 0.4));
  --slds-s-pageheader-row-color-background: transparent;
  --slds-s-button-radius-border: var(--slds-g-radius-border-2);
  --slds-s-container-radius-border: var(--slds-g-radius-border-3);
  --slds-s-container-heading-var-font-size: var(--slds-g-font-scale-var-2);
  --slds-s-container-color: light-dark(#3e4a7a, rgba(255, 255, 255, 0.6));
  --slds-s-table-color: light-dark(#1a1f36, rgba(255, 255, 255, 0.95));
  --slds-s-table-header-color-background: light-dark(rgba(255, 255, 255, 0.6), rgba(255, 255, 255, 0.14));
  --slds-s-table-header-color-background-hover: light-dark(
    rgba(255, 255, 255, 0.6),
    rgba(255, 255, 255, 0.14)
  );
  --slds-s-menu-item-color-background-active: light-dark(rgba(55, 65, 130, 0.08), rgba(255, 255, 255, 0.1));
  --slds-s-input-shadow-focus: 0 0 0 1px light-dark(#374182, rgba(73, 146, 254, 0.3));
  --slds-s-input-color-border: light-dark(#8e94ab, rgba(255, 255, 255, 0.14));

  /* Component Color tokens */
  --slds-c-card-shadow: var(--slds-g-shadow-1);

  /* Badge */
  --slds-c-badge-radius-border: var(--slds-g-radius-border-2);
  --slds-c-badge-text-color: var(--slds-g-color-on-surface-3);

  /* Button */
  --slds-c-button-brand-color-background: light-dark(var(--slds-r-color-brand-40), #4a5fc7);
  --slds-c-button-brand-color-background-hover: light-dark(var(--slds-r-color-brand-40), #5a6fd4);
  --slds-c-button-brand-text-color-hover: var(--slds-g-color-on-accent-1);
  --slds-c-button-brand-color-background-active: light-dark(var(--slds-r-color-brand-40), #4a5fc7);
  --slds-c-button-brand-text-color-active: var(--slds-g-color-on-accent-1);
  --slds-c-button-inverse-color-background-hover: transparent;
  --slds-c-button-neutral-color-background: light-dark(rgba(255, 255, 255, 0.6), rgba(255, 255, 255, 0.06));
  --slds-c-button-neutral-color-border: light-dark(#8e94ab, rgba(255, 255, 255, 0.14));
  --slds-c-button-neutral-color-background-hover: light-dark(
    rgba(255, 255, 255, 0.8),
    rgba(255, 255, 255, 0.1)
  );
  --slds-c-button-neutral-color-border-hover: light-dark(#7c85b3, rgba(255, 255, 255, 0.25));
  --slds-c-button-inverse-text-color-hover: light-dark(#fff, var(--slds-g-color-on-surface-inverse-1));
  --slds-c-button-inverse-text-color-active: light-dark(#fff, var(--slds-g-color-on-surface-inverse-1));
  --slds-c-button-destructive-color-background: light-dark(#c23d4b, #d04555);
  --slds-c-button-destructive-color-hover: var(--slds-g-color-on-accent-1);
  --slds-c-button-destructive-color-background-hover: light-dark(#a83441, #da5565);
  --slds-c-button-brand-color-border: light-dark(#374182, #4a5fc7);
  --slds-c-button-brand-color-border-hover: light-dark(#2d3569, #5a6fd4);
  --slds-c-button-destructive-color-border: light-dark(#c23d4b, #d04555);
  --slds-c-button-destructive-color-border-hover: light-dark(#a83441, #da5565);
  --slds-c-button-success-color-background: light-dark(#2e7d5b, #38956b);
  --slds-c-button-success-color-hover: var(--slds-g-color-on-accent-1);
  --slds-c-button-success-color-background-hover: light-dark(#266b4d, #42a87a);
  --slds-c-button-success-color-border: light-dark(#2e7d5b, #38956b);
  --slds-c-button-success-color-border-hover: light-dark(#266b4d, #42a87a);

  /* Input */
  --slds-c-input-color-background: light-dark(rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0.04));
  --slds-c-input-color-border: light-dark(#8e94ab, rgba(255, 255, 255, 0.14));
  --slds-c-input-color-border-focus: light-dark(#374182, rgba(73, 146, 254, 0.5));

  /* Data Table */
  --_slds-c-datatable-row-color-border-hover: var(--slds-g-color-border-1);
}

/* Design Decision: Hide all nubbins/pointers */
[class*='slds-nubbin']::before,
[class*='slds-nubbin']::after,
.uiMenuList--default[class*='menu--nubbin-']::before,
.uiMenuList--default[class*='menu--nubbin-']::after,
.uiPanel > .pointer {
  display: none;
}

/* 
* Design Decision: Hard-code background gradient to Cosmos. 
* Future custom themes will use --slds-r-color-brand-* tokens 
*/
body::before {
  content: '';
  position: fixed;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    150.6deg,
    light-dark(#f7e4d8, #180f22) 0%,
    light-dark(#f0dfe8, #12101a) 35.7%,
    light-dark(#dfe5f7, #0a101e) 71.4%
  );
}

/****************
  Global Container (non-structure only)
****************/
.slds-global-header,
.slds-context-bar,
.slds-page-header {
  background: transparent;
}

/* Floating Frosted Glass */
.slds-context-bar::before {
  content: '';
  backdrop-filter: blur(12px);
  background: var(--slds-g-color-surface-container-1);
  position: fixed;
  top: var(--slds-g-spacing-4);
  left: var(--slds-g-spacing-4);
  right: var(--slds-g-spacing-4);
  width: calc(100% - var(--slds-g-spacing-6));
  height: 92px;
  z-index: -10;
  border-radius: var(--slds-g-radius-border-3);
  border: 1px solid var(--slds-g-color-border-1);
}

.slds-context-bar__secondary .slds-grid {
  gap: initial; /* Was inherit. Fits the more-item into the container */
}

.slds-global-header {
  margin-top: 20px;
  padding: 1rem 1.4rem;
}

.slds-brand-band::after,
.slds-brand-band::before {
  display: none;
}

/****************
  Global Search
****************/
.slds-global-header__item.slds-global-header__item_search button {
  border-radius: var(--slds-g-radius-border-pill);
}

/****************
  SLDS2 + Aura Component Overrides
****************/

/* Badge */
.slds-badge.slds-theme_success,
.slds-badge.slds-theme--success {
  color: light-dark(#056764, #7df5e7);
  background-color: light-dark(rgba(26, 179, 166, 0.25), rgba(4, 225, 203, 0.15));
}

.slds-badge.slds-theme_info,
.slds-badge.slds-theme--info {
  color: light-dark(#0b5cab, #78b0fd);
  background-color: light-dark(rgba(59, 130, 246, 0.15), rgba(59, 130, 246, 0.15));
}

.slds-badge.slds-theme_error,
.slds-badge.slds-theme--error {
  color: light-dark(#b60554, #fe8aa7);
  background-color: light-dark(rgba(254, 138, 167, 0.15), rgba(254, 138, 167, 0.15));
}

.slds-badge.slds-theme_warning,
.slds-badge.slds-theme--warning {
  color: light-dark(#8c4b02, #f9e3b6);
  background-color: light-dark(rgb(228 162 1 / 15%), rgb(228 162 1 / 15%));
}

/* Button */
.slds-button_neutral {
  --slds-c-button-text-color: light-dark(var(--slds-r-color-brand-50), var(--slds-g-color-on-accent-1));
}
.slds-button_neutral:hover {
  --slds-c-button-text-color: light-dark(var(--slds-r-color-brand-40), var(--slds-g-color-on-accent-1));
}

/* Card */
.slds-card {
  border: 1px solid var(--slds-g-color-border-1);
}
.slds-card_related-list-fix .slds-page-header {
  background: transparent;
}
.slds-card .slds-card,
.slds-card .slds-card-wrapper,
.slds-card-wrapper .slds-card,
.slds-card-wrapper .slds-card-wrapper,
.slds-modal .slds-card,
.slds-modal .slds-card-wrapper {
  background: transparent;
}

/* Input */
.slds-input:hover {
  --slds-c-input-color-border: light-dark(#7c85b3, rgba(255, 255, 255, 0.3));
  --slds-c-input-color-background: light-dark(rgba(55, 65, 130, 0.08), rgba(255, 255, 255, 0.1));
}

/* Panel */
.slds-panel {
  background: var(--slds-g-color-brand-base-100);
}

/* Table */
.slds-table {
  background-color: transparent;
}
.slds-table_header-fixed_container {
  background-color: transparent;
  border-radius: var(--slds-g-radius-border-3);
  border-color: var(--slds-g-color-border-1);
}
.slds-cell-fixed {
  background-color: var(--slds-s-table-header-color-background);
}
.slds-table tbody td,
.slds-table tbody th {
  background-color: light-dark(rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0.04));
}
.slds-table:not(.slds-no-row-hover) tbody tr:hover > td,
.slds-table:not(.slds-no-row-hover) tbody tr:hover > th,
.slds-table:not(.slds-no-row-hover) tbody tr:focus > td,
.slds-table:not(.slds-no-row-hover) tbody tr:focus > th {
  background-color: light-dark(rgba(55, 65, 130, 0.06), rgba(255, 255, 255, 0.06));
}
.slds-table_edit tbody tr:hover > .slds-cell-edit:hover,
.slds-table--edit tbody tr:hover > .slds-cell-edit:hover {
  background-color: transparent;
}
.slds-table_header-fixed_container > .slds-scrollable_y::before {
  /* !imporant required to override LWC injected styles */
  border-bottom-color: var(--slds-g-color-border-1) !important;
}

/* Badge Variants */
.slds-badge_error {
  --slds-c-badge-color-background: rgba(254, 138, 167, 0.15);
  --slds-c-badge-text-color: light-dark(#b60554, #fe8aa7);
}

.slds-badge_warning {
  --slds-c-badge-color-background: rgba(228, 162, 1, 0.15);
  --slds-c-badge-text-color: light-dark(#8c4b02, #f9e3b6);
}

.slds-badge_success {
  --slds-c-badge-color-background: rgba(4, 225, 203, 0.15);
  --slds-c-badge-text-color: light-dark(#056764, #7df5e7);
}

.slds-badge_info {
  --slds-c-badge-color-background: rgba(59, 130, 246, 0.15);
  --slds-c-badge-text-color: light-dark(#0b5cab, #78b0fd);
}

/* Toast Variants */
.slds-notify_toast.slds-theme_success,
.slds-notify--toast.slds-theme--success {
  background-color: light-dark(rgba(26, 179, 166, 0.45), rgba(26, 179, 166, 0.4));
  color: light-dark(#056764, #7df5e7);
  border: 1px solid light-dark(rgba(38, 204, 179, 0.5), rgba(38, 204, 179, 0.45));
  box-shadow:
    inset 0 1px 0 0 light-dark(rgba(255, 255, 255, 0.6), rgba(255, 255, 255, 0.3)),
    0 4px 16px -2px light-dark(rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.3)),
    0 0 20px 0 light-dark(rgba(26, 179, 166, 0.08), rgba(26, 179, 166, 0.1)),
    0 0 30px 0 light-dark(rgba(6, 165, 154, 0.15), rgba(6, 165, 154, 0.25));
}

.slds-notify_toast.slds-theme_info,
.slds-notify--toast.slds-theme--info {
  background-color: light-dark(rgba(59, 130, 246, 0.45), rgba(59, 130, 246, 0.4));
  color: light-dark(#0b5cab, #b8d4fe);
  border: 1px solid light-dark(rgba(73, 146, 254, 0.5), rgba(73, 146, 254, 0.45));
  box-shadow:
    inset 0 1px 0 0 light-dark(rgba(255, 255, 255, 0.6), rgba(255, 255, 255, 0.3)),
    0 4px 16px -2px light-dark(rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.3)),
    0 0 20px 0 light-dark(rgba(59, 130, 246, 0.08), rgba(59, 130, 246, 0.1)),
    0 0 30px 0 light-dark(rgba(59, 130, 246, 0.15), rgba(59, 130, 246, 0.25));
}

.slds-notify_toast.slds-theme_warning,
.slds-notify--toast.slds-theme--warning {
  background-color: light-dark(rgba(228, 162, 1, 0.45), rgba(228, 162, 1, 0.35));
  color: light-dark(#8c4b02, #f9e3b6);
  border: 1px solid light-dark(rgba(242, 183, 40, 0.5), rgba(242, 183, 40, 0.45));
  box-shadow:
    inset 0 1px 0 0 light-dark(rgba(255, 255, 255, 0.6), rgba(255, 255, 255, 0.3)),
    0 4px 16px -2px light-dark(rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.3)),
    0 0 20px 0 light-dark(rgba(228, 162, 1, 0.08), rgba(228, 162, 1, 0.1)),
    0 0 30px 0 light-dark(rgba(228, 162, 1, 0.12), rgba(228, 162, 1, 0.2));
}

.slds-notify_toast.slds-theme_error,
.slds-notify--toast.slds-theme--error {
  background-color: light-dark(rgba(220, 50, 80, 0.45), rgba(220, 50, 80, 0.38));
  color: light-dark(#b60554, #fec0cf);
  border: 1px solid light-dark(rgba(240, 80, 110, 0.5), rgba(240, 80, 110, 0.45));
  box-shadow:
    inset 0 1px 0 0 light-dark(rgba(255, 255, 255, 0.6), rgba(255, 255, 255, 0.3)),
    0 4px 16px -2px light-dark(rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.3)),
    0 0 20px 0 light-dark(rgba(220, 50, 80, 0.08), rgba(220, 50, 80, 0.1)),
    0 0 35px 0 light-dark(rgba(220, 50, 80, 0.15), rgba(220, 50, 80, 0.25));
}

/* Modal */
.slds-modal__header {
  border: none;
  box-shadow: none;
  border-right: 1px solid var(--slds-g-color-border-1);
  border-left: 1px solid var(--slds-g-color-border-1);
  border-top: 1px solid var(--slds-g-color-border-1);
}
.slds-modal__content {
  box-shadow: none;
  border-right: 1px solid var(--slds-g-color-border-1);
  border-left: 1px solid var(--slds-g-color-border-1);
}
.slds-modal__footer {
  border: none;
  box-shadow: none;
  border-right: 1px solid var(--slds-g-color-border-1);
  border-left: 1px solid var(--slds-g-color-border-1);
  border-bottom: 1px solid var(--slds-g-color-border-1);
}
.slds-modal__content_footless,
.slds-modal__content--footless,
.slds-modal__container > .slds-modal__content:last-child,
.slds-modal__content_has-hidden-footer,
.slds-modal__content--has-hidden-footer {
  box-shadow: none;
}
.slds-backdrop {
  backdrop-filter: blur(var(--slds-g-blur-medium));
}
.slds-backdrop_open {
  opacity: 1;
}

/* Menu */
.slds-dropdown,
.uiInput--lookup.lookup__menu,
.uiInput--lookup .lookup__menu {
  backdrop-filter: blur(var(--slds-g-blur-heavy));
  border: 1px solid var(--slds-g-color-border-1);
  box-shadow: 0 8px 32px -4px light-dark(rgba(26, 31, 54, 0.15), rgba(0, 0, 0, 0.5));
}
.uiPanel,
.uiMenuList {
  backdrop-filter: blur(var(--slds-g-blur-heavy));
}

/* Progress Indicator */
.slds-progress__item.slds-is-completed .slds-progress__marker,
.slds-progress__item.slds-is-active .slds-progress__marker {
  background-color: var(--slds-g-color-brand-base-100);
}
.slds-progress__item.slds-is-active .slds-progress__marker {
  box-shadow: var(--slds-g-color-brand-base-100) 0 0 0 var(--slds-g-sizing-2);
}
.slds-progress__item.slds-has-error .slds-progress__marker,
.slds-progress__item.slds-has-error .slds-progress__marker:hover,
.slds-progress__item.slds-has-error .slds-progress__marker:focus {
  background-color: var(--slds-g-color-brand-base-100);
}

/****************
  Custom Component Fixes
****************/

/* The container is not applying expected backdrop-filter. */
.forceSearchInputEntitySelector .slds-listbox {
  background-color: light-dark(rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 0.04));
}

/****************
  App Shell (Page Structure) layout
****************/
.navexStandardManager > .oneAppNavContainer {
  box-shadow: none;
  inset-inline: 1rem; /* Gutter (left/right) for the floating glass layout */
  width: auto;
}
/*
 * Left-nav layout keeps the frosted .slds-context-bar::before translucent.
 *
 * app.css makes .maincontent an inner scroll container (overflow-y: auto),
 * which isolates its scrolling content from the viewport-fixed bar's
 * backdrop-filter (a fixed backdrop-filter can only sample the document scroll,
 * never a nested scroller). Route scrolling back to the document so the content
 * passes behind the bar and the blur stays live.
 *
 * With document scrolling the left nav would scroll away too. position: sticky
 * can't pin it here: the app's scroll is driven by absolutely-positioned layers
 * inside an overflow:hidden container, which becomes sticky's (non-scrolling)
 * scrollport. So pin the rail with position: fixed and reserve its column on the
 * main content with a matching margin.
 */
.navexStandardManager > .center.vertical-nav-layout {
  overflow: visible; /* was hidden */
  bottom: auto; /* was 0: let height grow so the document scrolls */
}
.navexStandardManager > .center.vertical-nav-layout > .maincontent {
  overflow: visible; /* was overflow-y: auto: removes the nested scroll container */
  min-height: 100%;
  margin-inline-start: 267px; /* keep clear of the fixed rail (must match the rail width below) */
}
.navexStandardManager
  > .center.vertical-nav-layout:has(> .leftNavigationContainer .container.collapsed)
  > .maincontent {
  margin-inline-start: var(--slds-g-spacing-7, 2.5rem);
}
.navexStandardManager
  > .center.vertical-nav-layout:has(> .leftNavigationContainer.hide-left-nav)
  > .maincontent {
  margin-inline-start: 0;
}
.navexStandardManager > .center.vertical-nav-layout > .leftNavigationContainer {
  position: fixed; /* fixed (not sticky) survives the absolutely-positioned document scroll */
  /* sit 1rem below the floating frosted bar (1rem top gutter + 92px bar height + 1rem gap) with 1rem gutters elsewhere */
  inset-block: calc(2rem + 92px) 1rem;
  inset-inline-start: 1rem;
  width: 267px; /* intrinsic width of the vertical nav rail (must match the main-content margin above) */
  z-index: 2; /* Gives popovers attached to container higher z-index over main-content. */
}
.navexStandardManager > .center.vertical-nav-layout > .leftNavigationContainer:has(.container.collapsed) {
  width: var(--slds-g-spacing-7, 2.5rem);
}

.navexStandardManager > .center.vertical-nav-layout > .leftNavigationContainer .container {
  border-radius: var(--slds-g-radius-border-3);
  border: 1px solid var(--slds-g-color-border-1);
}

.navexStandardManager > .center.oneCenterStage {
  inset-inline: 1rem; /* was 0 */
  width: auto; /* override app.css width:100%, which would otherwise overrun the right gutter by 1rem */
}
/*
 * No-left-nav layout: the main content fills the width on the 1rem gutter.
 * The .center inset already supplies the 1rem; drop the template's own inline
 * padding (.slds-template_default { padding: var(--_slds-c-template-sizing-gap) })
 * so the content isn't double-indented (1rem inset + 1rem template = ~2rem).
 * The left-nav layout keeps that inner pad as the gap next to the fixed rail.
 */
.navexStandardManager > .center.oneCenterStage:not(.vertical-nav-layout) .slds-template_default,
.navexStandardManager > .center.oneCenterStage:not(.vertical-nav-layout) .slds-template_bottom-magnet,
.navexStandardManager
  > .center.oneCenterStage.vertical-nav-layout:has(> .leftNavigationContainer.hide-left-nav)
  .slds-template_default,
.navexStandardManager
  > .center.oneCenterStage.vertical-nav-layout:has(> .leftNavigationContainer.hide-left-nav)
  .slds-template_bottom-magnet {
  padding-inline: 0;
}
/*
 * Left-nav layout: keep the inline-start pad (the gap beside the fixed rail) but
 * drop the inline-end pad so the card's right edge lines up with the frosted
 * bar's right edge (both land on the 1rem gutter).
 */
.navexStandardManager > .center.vertical-nav-layout .slds-template_default,
.navexStandardManager > .center.vertical-nav-layout .slds-template_bottom-magnet {
  padding-inline-end: 0;
}
/*
 * No-left-nav content (einstein tab container) bleeds its docked side panels
 * outward with negative margin to cancel template padding. Glass Theme drops 
 * the negative margin.
 */
.navexStandardManager > .center.oneCenterStage:not(.vertical-nav-layout) .left-panel,
.navexStandardManager
  > .center.oneCenterStage.vertical-nav-layout:has(> .leftNavigationContainer.hide-left-nav)
  .left-panel {
  margin-inline-start: 0;
  margin-block-start: 0;
}
.navexStandardManager > .center.oneCenterStage:not(.vertical-nav-layout) .right-panel,
.navexStandardManager
  > .center.oneCenterStage.vertical-nav-layout:has(> .leftNavigationContainer.hide-left-nav)
  .right-panel {
  margin-inline-end: 0;
}
