:root {
  --nv2-navy: #17224f;
  --nv2-indigo: #34478f;
  --nv2-indigo-soft: #eef1ff;
  --nv2-cyan: #0b8fb9;
  --nv2-paper: #f4f6fb;
  --nv2-panel: #ffffff;
  --nv2-ink: #16213d;
  --nv2-muted: #68738a;
  --nv2-line: #dfe4ef;
  --nv2-shadow: 0 18px 50px rgba(23, 34, 79, .1);
  --nv2-radius: 18px;
  --nv2-tools-width: 304px;
  --nv2-chat-width: 320px;
}

html { background: var(--nv2-paper); }

body.nv-app {
  min-height: 100dvh;
  color: var(--nv2-ink);
  background:
    radial-gradient(circle at 48% -10%, rgba(84, 105, 190, .13), transparent 34rem),
    var(--nv2-paper) !important;
}

body.nv-app > .nv-app-header {
  position: sticky !important;
  top: 0;
  z-index: 100 !important;
  min-height: 66px;
  border-bottom: 1px solid rgba(210, 217, 232, .9) !important;
  background: rgba(255, 255, 255, .94) !important;
  box-shadow: 0 8px 28px rgba(23, 34, 79, .055) !important;
  backdrop-filter: blur(18px);
}

body.nv-app .nv-header-inner {
  display: grid !important;
  min-height: 66px;
  grid-template-columns: auto minmax(120px, 1fr) auto !important;
  align-items: center;
  gap: 18px !important;
  padding-block: 8px !important;
}

body.nv-app .nv-brand {
  grid-column: 1 !important;
  grid-row: 1 !important;
}

body.nv-app .nv-store-slot {
  grid-column: 2 !important;
  grid-row: 1 !important;
  min-width: 0;
}

body.nv-app .nv-header-tools {
  grid-column: 3 !important;
  grid-row: 1 !important;
  justify-self: end;
}

body.nv-app .nv-header-nav { display: none !important; }

body.nv-app :is(.dashboard-main, .container, .sc-main, .dashsav-main, .workforce-main) {
  width: min(100%, 1540px);
}

body.nv-app :is(
  .dashboard-panel, .management-panel, .sales-admin-panel, .financial-alert-panel,
  .sales-table-panel, .admin-box, .form-card, .product-explorer, .product-offers-panel,
  .pac-calendar-panel, .pac-agenda, .pac-upcoming, .pac-offers-panel, .logistics-panel,
  .account-identity-card, .sc-kpi, .sc-column, .enterprise-card, .workforce-panel,
  .role-card, .dashsav-panel, .forecast-card
) {
  border-color: var(--nv2-line) !important;
  border-radius: var(--nv2-radius) !important;
  box-shadow: 0 10px 32px rgba(23, 34, 79, .055) !important;
}

.navigea-workspace-switcher {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 22px;
  margin: 0 0 18px;
  padding: 14px 16px;
  border: 1px solid var(--nv2-line);
  border-radius: 16px;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 8px 26px rgba(23, 34, 79, .06);
}

.navigea-workspace-switcher > div {
  display: grid;
  min-width: 150px;
  gap: 2px;
}

.navigea-workspace-switcher > div span {
  color: var(--nv2-cyan);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .14em;
}

.navigea-workspace-switcher > div strong {
  color: var(--nv2-navy);
  font-size: 14px;
}

.navigea-workspace-switcher nav {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 7px;
  overflow-x: auto;
  scrollbar-width: thin;
}

.navigea-workspace-switcher nav a {
  flex: 0 0 auto;
  padding: 9px 12px;
  border: 1px solid transparent;
  border-radius: 10px;
  color: #58647c;
  background: #f4f6fa;
  font-size: 11px;
  font-weight: 800;
  text-decoration: none;
  white-space: nowrap;
}

.navigea-workspace-switcher nav a:hover {
  color: var(--nv2-indigo);
  border-color: #d8deef;
  background: var(--nv2-indigo-soft);
}

.navigea-workspace-switcher nav a[aria-current="page"] {
  color: #fff;
  background: var(--nv2-indigo);
  box-shadow: 0 7px 18px rgba(52, 71, 143, .22);
}

.navigea-tools-launcher,
.navigea-tools-close,
.navigea-tools-backdrop { display: none; }

@media (min-width: 901px) {
  body.nv-app.has-store-chat-rail #openStoreChatButton { display: none !important; }

  body.nv-app.has-navigea-tools-rail {
    padding-right: 0 !important;
    padding-left: var(--nv2-tools-width) !important;
  }

  body.nv-app.has-store-chat-rail {
    padding-right: var(--nv2-chat-width) !important;
    padding-left: 0 !important;
  }

  body.nv-app.has-navigea-tools-rail.has-store-chat-rail {
    padding-right: var(--nv2-chat-width) !important;
    padding-left: var(--nv2-tools-width) !important;
  }

  body.nv-app .navigea-tools-rail {
    inset: 0 auto 0 0 !important;
    width: var(--nv2-tools-width) !important;
    border-right: 1px solid #d9dfec !important;
    border-left: 0 !important;
    box-shadow: 8px 0 32px rgba(15, 23, 42, .09) !important;
  }

  body.nv-app .navigea-tools-rail > header {
    position: relative;
    background:
      linear-gradient(145deg, rgba(255,255,255,.08), transparent 55%),
      var(--nv2-navy) !important;
  }

  body.nv-app .navigea-tools-group {
    border-color: var(--nv2-line) !important;
    border-radius: 14px !important;
    box-shadow: 0 5px 16px rgba(23, 34, 79, .035);
  }

  body.nv-app .navigea-tools-group-heading > span {
    color: var(--nv2-indigo) !important;
    background: var(--nv2-indigo-soft) !important;
  }

  body.nv-app .navigea-tools-subheading {
    margin: 5px 4px 0;
    color: #8a94a8;
    font-size: 8px;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
  }

  body.nv-app :is(.navigea-tools-home, .navigea-tools-link)[aria-current="page"] {
    background: var(--nv2-indigo) !important;
  }

  #storeChatDialog[data-persistent="true"][open] {
    inset: 0 0 0 auto !important;
    width: var(--nv2-chat-width) !important;
    height: 100dvh !important;
    max-width: var(--nv2-chat-width) !important;
    max-height: 100dvh !important;
    margin: 0 !important;
    border-right: 0 !important;
    border-left: 1px solid #d9dfec !important;
    border-radius: 0 !important;
    box-shadow: -8px 0 32px rgba(15, 23, 42, .09) !important;
  }

  #storeChatDialog[data-persistent="true"] .store-chat-panel {
    height: 100dvh !important;
    max-height: 100dvh !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  #storeChatDialog[data-persistent="true"][data-view="conversation"] {
    width: min(980px, calc(100vw - var(--nv2-tools-width))) !important;
    max-width: calc(100vw - var(--nv2-tools-width)) !important;
    box-shadow: -24px 0 70px rgba(15, 23, 42, .22) !important;
  }
}

@media (max-width: 1180px) and (min-width: 901px) {
  :root {
    --nv2-tools-width: 260px;
    --nv2-chat-width: 286px;
  }

  .navigea-workspace-switcher {
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
  }
}

@media (max-width: 900px) {
  body.nv-app.has-navigea-tools-rail,
  body.nv-app.has-store-chat-rail,
  body.nv-app.has-navigea-tools-rail.has-store-chat-rail {
    padding: 0 !important;
  }

  body.nv-app .navigea-tools-launcher {
    display: inline-flex;
    min-height: 40px;
    align-items: center;
    justify-content: center;
    padding: 8px 12px;
    border: 1px solid var(--nv2-line);
    border-radius: 10px;
    color: var(--nv2-indigo);
    background: #fff;
    font: 850 11px var(--nv-font, Arial, sans-serif);
    cursor: pointer;
  }

  body.nv-app .navigea-tools-rail {
    position: fixed;
    z-index: 1100;
    inset: 0 auto 0 0;
    display: grid;
    width: min(340px, calc(100vw - 34px));
    height: 100dvh;
    grid-template-rows: auto minmax(0, 1fr);
    overflow: hidden;
    border: 0;
    border-right: 1px solid var(--nv2-line);
    background: #fff;
    box-shadow: 20px 0 70px rgba(15, 23, 42, .25);
    transform: translateX(-105%);
    transition: transform .22s ease;
  }

  body.nv-app.navigea-tools-open .navigea-tools-rail { transform: translateX(0); }

  body.nv-app .navigea-tools-rail > header {
    position: relative;
    padding: 18px;
    color: #fff;
    background: var(--nv2-navy);
  }

  body.nv-app .navigea-tools-rail > header h2 { margin: 3px 0; color: #fff !important; }
  body.nv-app .navigea-tools-rail > header p { margin: 0; color: rgba(255,255,255,.72); }

  body.nv-app .navigea-tools-close {
    position: absolute;
    top: 14px;
    right: 14px;
    display: grid;
    width: 36px;
    height: 36px;
    place-items: center;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 10px;
    color: #fff;
    background: rgba(255,255,255,.09);
    font-size: 20px;
  }

  body.nv-app .navigea-tools-body {
    min-height: 0;
    padding: 12px;
    overflow-y: auto;
    background: var(--nv2-paper);
  }

  body.nv-app .navigea-tools-home,
  body.nv-app .navigea-tools-link {
    display: flex;
    min-height: 40px;
    align-items: center;
    margin-bottom: 6px;
    padding: 9px 11px;
    border-radius: 10px;
    color: #42506c;
    background: #fff;
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
  }

  body.nv-app .navigea-tools-navigation,
  body.nv-app .navigea-tools-group,
  body.nv-app .navigea-tools-links { display: grid; gap: 8px; }

  body.nv-app .navigea-tools-group {
    margin-top: 8px;
    padding: 12px;
    border: 1px solid var(--nv2-line);
    border-radius: 14px;
    background: #fff;
  }

  body.nv-app .navigea-tools-group:not(:has(.navigea-tools-link:not([hidden]))) { display: none; }
  body.nv-app .navigea-tools-group-heading { display: flex; align-items: center; gap: 9px; }
  body.nv-app .navigea-tools-group-heading > span { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 9px; background: var(--nv2-indigo-soft); color: var(--nv2-indigo); font-size: 10px; font-weight: 900; }
  body.nv-app .navigea-tools-group-heading h3 { margin: 0; font-size: 13px; }
  body.nv-app .navigea-tools-group-heading p { margin: 2px 0 0; color: var(--nv2-muted); font-size: 9px; }
  body.nv-app .navigea-tools-subheading { margin: 5px 2px 0; color: #8993a7; font-size: 8px; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }
  body.nv-app :is(.navigea-tools-home, .navigea-tools-link)[aria-current="page"] { color: #fff; background: var(--nv2-indigo); }

  body.nv-app .navigea-tools-backdrop {
    position: fixed;
    z-index: 1090;
    inset: 0;
    border: 0;
    background: rgba(13, 20, 43, .46);
    backdrop-filter: blur(3px);
  }

  body.nv-app.navigea-tools-open .navigea-tools-backdrop { display: block; }

  .navigea-workspace-switcher {
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
    padding: 12px;
  }
}

@media (max-width: 620px) {
  body.nv-app .nv-header-inner {
    grid-template-columns: auto minmax(0, 1fr) auto !important;
    gap: 8px !important;
  }

  body.nv-app .nv-store-slot { display: none; }
  body.nv-app .nv-header-tools { grid-column: 2 / 4 !important; }
  body.nv-app .nv-account-link span > span { display: none; }

  .navigea-workspace-switcher > div { min-width: 0; }
  .navigea-workspace-switcher nav { margin-inline: -2px; padding-bottom: 3px; }
  .navigea-workspace-switcher nav a { padding: 8px 10px; font-size: 10px; }
}

@media (prefers-reduced-motion: reduce) {
  body.nv-app .navigea-tools-rail { transition: none !important; }
}
