.global-rail { position: fixed; z-index: var(--z-overlay); top: 40px; bottom: 12px; left: 12px; display: flex; width: 44px; flex-direction: column; border: 0; border-radius: var(--dock-radius); background: var(--navigation-surface); color: var(--navigation-content); }
.global-rail[data-expanded="true"] { top: 16px; left: 8px; width: 320px; max-width: calc(100vw - 24px); padding: 12px 16px; }
.global-rail__brand { display: grid; min-height: 44px; place-items: center; }
.navigation-tenant { display: grid; justify-items: center; gap: 4px; padding: 12px; }
.navigation-tenant img { width: 112px; height: 54px; object-fit: contain; }
.navigation-tenant small { font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; }
.global-rail[data-expanded="true"] .global-rail__brand { width: 180px; min-height: 96px; }
.global-rail__toggle, .global-rail__customize { display: flex; width: 44px; min-height: 44px; align-items: center; padding: 0; border: 0; color: inherit; background: transparent; cursor: pointer; }
.global-rail__toggle .global-nav-item__copy { display: none; }
.global-rail[data-expanded="true"] .global-rail__toggle { position: absolute; top: 24px; right: 16px; }
.global-rail__pin { position: absolute; top: 24px; right: 60px; width: 44px; height: 44px; padding: 0; border: 0; color: inherit; background: transparent; border-radius: 9px; }
.global-rail__pin[aria-pressed="true"] { background: var(--color-selection); color: var(--color-text-primary); }
@media (max-width: 1279px) { .global-rail__pin { display: none; } }
.global-rail__body { flex: 1; min-height: 0; }
.global-rail__list { height: 100%; display: grid; align-content: start; gap: 8px; margin: 0; padding: 8px 0 16px; overflow-x: hidden; overflow-y: auto; list-style: none; scrollbar-width: none; }
.global-rail__list li { min-width: 0; }
.global-rail[data-expanded="false"] .global-rail__body { width: 224px; pointer-events: none; }
.global-rail[data-expanded="false"] .global-rail__list { padding-right: 8px; }
.global-rail[data-expanded="false"] .global-rail__list li { width: 44px; pointer-events: auto; }
.global-nav-item { position: relative; display: flex; width: 100%; min-width: 44px; min-height: 44px; align-items: center; gap: 6px; padding: 0; border: 0; border-radius: 13px; color: var(--navigation-content); background: transparent; text-align: left; cursor: pointer; }
.global-nav-item:hover:not(:disabled) { color: var(--color-text-primary); background: var(--color-surface-secondary); }
.global-nav-item[aria-current="page"], .global-nav-item[aria-current="page"]:hover { color: var(--dock-active-content); background: var(--dock-active-surface); }
.global-nav-item:disabled { color: var(--color-disabled-content); cursor: not-allowed; opacity: .72; }
.nav-icon { display: inline-grid; width: 44px; height: 44px; flex: 0 0 44px; place-items: center; }
.nav-icon svg { width: 20px; height: 20px; }
.global-nav-item__copy { display: grid; min-width: 0; padding-right: 12px; }
.global-nav-item__label { overflow: hidden; color: inherit; font-size: 12px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.global-nav-item__description { overflow: hidden; color: inherit; opacity: .85; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.global-rail[data-expanded="false"] .global-nav-item { width: 44px; transition: width var(--motion-normal) var(--motion-easing); }
.global-rail[data-expanded="false"] .global-nav-item__copy { display: none; }
.global-rail[data-expanded="false"] .global-nav-item:is(:hover, :focus-visible) { width: 208px; z-index: 1; background: var(--navigation-surface); }
.global-rail[data-expanded="false"] .global-nav-item[aria-current="page"]:is(:hover, :focus-visible) { background: var(--dock-active-surface); }
.global-rail[data-expanded="false"] .global-nav-item:is(:hover, :focus-visible) .global-nav-item__copy { display: grid; }
.global-nav-badge { position: absolute; top: 0; right: -4px; display: grid; min-width: 18px; height: 18px; place-items: center; padding-inline: 4px; border-radius: 999px; color: var(--color-action-on-primary); background: var(--color-critical); font-size: 10px; font-weight: 700; }
.global-rail[data-expanded="true"] .global-nav-badge { right: 10px; top: 50%; translate: 0 -50%; }
.global-rail[data-expanded="true"] .global-nav-item:has(.global-nav-badge) { padding-right: 24px; }
.navigation-group { margin: 18px 0 8px; font-size: 11px; text-transform: uppercase; letter-spacing: .6px; font-weight: 700; color: var(--navigation-content); }
.global-rail footer { padding-top: 12px; }
.global-rail footer button { width: 100%; }
.global-navigation button:not(.global-nav-item) { cursor: pointer; }
.global-rail footer button, .navigation-customize button { min-width: 44px; min-height: 44px; border: 1px solid var(--color-divider); border-radius: 10px; color: var(--color-text-primary); background: transparent; }
.navigation-customize { height: 100%; overflow-y: auto; font-size: 12px; }
.navigation-customize h2 { font-size: 16px; }
.navigation-customize ol { margin: 12px 0; padding: 0; list-style: none; }
.navigation-customize li { display: grid; grid-template-columns: 24px minmax(0, 1fr) 44px 44px; align-items: center; gap: 4px; padding-block: 4px; }
.navigation-drag { cursor: grab; }
.navigation-drag .nav-icon { width: 24px; }
.mobile-global-nav { display: none; }
@media (max-width: 47.99rem) {
  .global-rail { display: none; }
  .mobile-global-nav { display: block; }
  .mobile-dock { position: fixed; z-index: calc(var(--z-sticky) + 2); right: 12px; bottom: calc(12px + env(safe-area-inset-bottom)); left: 12px; contain: layout inline-size; padding: 28px 8px 8px; border: 0; border-radius: 18px; background: var(--navigation-surface); }
  .mobile-dock[hidden] { display: none; }
  .mobile-dock__scroller { display: flex; width: 100%; min-width: 0; max-width: 100%; gap: 4px; overflow-x: auto; contain: inline-size; overscroll-behavior-inline: contain; scrollbar-width: none; scroll-snap-type: x proximity; }
  .mobile-dock .global-nav-item { width: 76px; min-width: 76px; height: 56px; flex-direction: column; justify-content: center; gap: 0; padding: 0 4px; scroll-snap-align: center; }
  .mobile-dock .nav-icon { width: 28px; height: 28px; flex-basis: 28px; }
  .mobile-dock .global-nav-item__copy { display: block; width: 100%; padding: 0; text-align: center; }
  .mobile-dock .global-nav-item__description, .mobile-nav-panel .global-nav-item__description { display: none; }
  .mobile-dock .global-nav-item__label { display: block; font-size: 10px; font-weight: 400; }
  .mobile-dock .global-nav-item[aria-current="page"] .global-nav-item__label { font-weight: 700; }
  .mobile-dock .global-nav-badge { top: 0; right: 4px; }
  .mobile-dock__more, .mobile-nav-panel__handle { position: absolute; top: -16px; left: calc(50% - 22px); display: grid; width: 44px; height: 44px; place-items: center; padding: 0; border: 0; color: var(--navigation-content); background: transparent; }
  .mobile-dock__more svg, .mobile-nav-panel__handle svg { width: 14px; height: 14px; }
  .mobile-nav-backdrop { position: fixed; z-index: var(--z-overlay); inset: 0; border: 0; background: rgb(32 39 36 / 20%); }
  .mobile-nav-panel { position: fixed; z-index: calc(var(--z-overlay) + 1); right: 0; bottom: 0; left: 0; max-height: calc(100dvh - 16px); padding-top: 28px; border: 0; border-radius: 20px 20px 0 0; background: var(--navigation-surface); visibility: hidden; }
  .mobile-nav-panel[aria-hidden="false"] { visibility: visible; }
  .mobile-nav-panel__body { max-height: calc(100dvh - 44px); overflow-y: auto; padding: 0 12px calc(24px + env(safe-area-inset-bottom)); overscroll-behavior: contain; }
  .mobile-nav-panel__grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 4px; margin: 0; padding: 6px 2px 0; list-style: none; }
  .mobile-nav-panel .global-nav-item { min-height: 80px; flex-direction: column; justify-content: center; gap: 2px; padding: 4px; text-align: center; }
  .mobile-nav-panel .nav-icon { width: 28px; height: 28px; flex-basis: 28px; }
  .mobile-nav-panel .global-nav-item__copy { display: block; width: 100%; padding: 0; }
  .mobile-nav-panel .global-nav-item__label { display: block; white-space: normal; overflow-wrap: anywhere; font-size: 10px; line-height: 1.15; font-weight: 400; }
  .mobile-nav-panel .global-nav-item[aria-current="page"] .global-nav-item__label { font-weight: 700; }
  .mobile-nav-panel .global-nav-badge { top: 0; right: 0; }
  .mobile-navigation-footer { margin-top: 16px; padding-top: 4px; border-top: 1px solid var(--color-divider); }
  .mobile-navigation-footer > button { display: flex; min-height: 44px; align-items: center; margin: auto; border: 0; color: var(--navigation-content); background: transparent; font-size: 11px; }
  .mobile-navigation-footer .navigation-tenant img { width: 96px; height: 44px; }
}
