/*
 * NBK Code shared navigation
 * Canonical geometry, typography and interaction states for every public page.
 * Page-specific styles may set content; this file owns the visual contract.
 */
:root{
  --nbk-nav-width:1220px;
  --nbk-nav-height:68px;
  --nbk-nav-accent:#f0c84b;
  --nbk-nav-accent-bright:#fff0b0;
  --nbk-nav-border:rgba(240,200,75,.28);
  --nbk-nav-active:rgba(240,200,75,.065);
  --nbk-nav-panel:rgba(9,12,18,.985);
  --nbk-nav-text:#d2cdbc;
  --nbk-nav-shadow:0 18px 50px rgba(0,0,0,.38);
  --nbk-nav-cta:linear-gradient(135deg,#f0c84b,#dfa92c);
  --nbk-nav-cta-text:#17120a;
}

.nav-shell{
  position:fixed;
  top:14px;
  left:0;
  right:0;
  z-index:80;
  pointer-events:none;
}

.nav{
  width:min(var(--nbk-nav-width),calc(100% - 28px));
  min-height:var(--nbk-nav-height);
  margin:auto;
  padding:8px 10px 8px 13px;
  display:flex;
  align-items:center;
  gap:12px;
  color:#f6f1e7;
  font-family:Inter,"Segoe UI",Arial,sans-serif;
  font-size:14px;
  line-height:1.25;
  background:linear-gradient(180deg,rgba(16,17,20,.96),rgba(7,9,15,.93));
  border:1px solid var(--nbk-nav-border);
  border-radius:17px;
  box-shadow:var(--nbk-nav-shadow);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  pointer-events:auto;
}

.nav-brand{
  flex:0 0 68px;
  width:68px;
  height:50px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  padding:0;
  color:inherit;
  text-decoration:none;
}

.nav-logo{
  display:block;
  width:auto;
  height:50px;
  max-width:68px;
  max-height:50px;
  object-fit:contain;
}

.nav-divider{
  flex:0 0 1px;
  width:1px;
  height:28px;
  background:linear-gradient(transparent,var(--nbk-nav-accent),transparent);
  opacity:.45;
}

.nav-links{
  flex:1;
  min-width:0;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:4px;
  flex-wrap:nowrap;
}

.nav .nav-links>a,
.nav .nav-link,
.nav .systems-trigger,
.nav .nbk-systems-trigger{
  position:relative;
  display:flex;
  align-items:center;
  gap:6px;
  min-height:40px;
  padding:9px 11px;
  border:1px solid transparent;
  border-radius:10px;
  background:transparent;
  color:var(--nbk-nav-text);
  font-family:Inter,"Segoe UI",Arial,sans-serif;
  font-size:14px;
  font-weight:600;
  line-height:1.25;
  letter-spacing:0;
  text-transform:none;
  text-decoration:none;
  white-space:nowrap;
  cursor:pointer;
  transition:color .2s ease,border-color .2s ease,background-color .2s ease,transform .2s ease;
}

.nav .nav-links>a:hover,
.nav .nav-links>a.active,
.nav .nav-links>a.current,
.nav .nav-links>a[aria-current="page"],
.nav .nav-link:hover,
.nav .nav-link.active,
.nav .nav-link.current,
.nav .systems-trigger:hover,
.nav .nbk-systems-trigger:hover,
.nav .nbk-systems-trigger.active,
.nav .systems-wrap:focus-within .systems-trigger,
.nav .nbk-systems-wrap:focus-within .nbk-systems-trigger{
  color:var(--nbk-nav-accent-bright);
  border-color:var(--nbk-nav-border);
  background:var(--nbk-nav-active);
  box-shadow:none;
}

.nav .btn.primary,
.nav .nav-cta{
  min-height:46px;
  padding:10px 16px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border:1px solid transparent;
  border-radius:12px;
  background:var(--nbk-nav-cta);
  color:var(--nbk-nav-cta-text);
  box-shadow:0 12px 36px rgba(240,200,75,.14);
  font-family:Inter,"Segoe UI",Arial,sans-serif;
  font-size:14px;
  font-weight:850;
  line-height:1.25;
  letter-spacing:.02em;
  text-transform:none;
  text-decoration:none;
  white-space:nowrap;
}

.nav .btn.primary:hover,
.nav .nav-cta:hover{
  transform:translateY(-1px);
  border-color:var(--nbk-nav-accent-bright);
  box-shadow:0 14px 38px rgba(240,200,75,.2);
}

.nav .systems-wrap,
.nav .nbk-systems-wrap{position:relative}

.nav .systems-trigger::after,
.nav .nbk-systems-trigger::after{
  content:"⌄";
  font-size:.9rem;
  transition:transform .2s ease;
}

.nav .systems-wrap:hover .systems-trigger::after,
.nav .systems-wrap:focus-within .systems-trigger::after,
.nav .nbk-systems-wrap:hover .nbk-systems-trigger::after,
.nav .nbk-systems-wrap:focus-within .nbk-systems-trigger::after,
.nav .nbk-systems-wrap.open .nbk-systems-trigger::after{transform:rotate(180deg)}

.nav .systems-menu,
.nav .nbk-systems-menu{
  position:absolute;
  top:calc(100% + 12px);
  left:0;
  width:310px;
  padding:10px;
  border:1px solid var(--nbk-nav-border);
  border-radius:17px;
  background:var(--nbk-nav-panel);
  box-shadow:0 24px 70px rgba(0,0,0,.52);
  opacity:0;
  visibility:hidden;
  transform:translateY(-8px);
  transition:.2s ease;
  z-index:120;
  text-align:left;
}

.nav .systems-wrap:hover .systems-menu,
.nav .systems-wrap:focus-within .systems-menu,
.nav .nbk-systems-wrap:hover .nbk-systems-menu,
.nav .nbk-systems-wrap:focus-within .nbk-systems-menu,
.nav .nbk-systems-wrap.open .nbk-systems-menu{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}

.nav .system-menu-item,
.nav .nbk-system-item{
  display:grid!important;
  grid-template-columns:39px 1fr auto;
  gap:11px;
  align-items:center;
  min-height:0;
  padding:11px!important;
  border:0!important;
  border-radius:12px!important;
  color:#d7d0c5!important;
  background:transparent!important;
  font-size:14px!important;
  font-weight:400!important;
  text-decoration:none!important;
}

.nav .system-menu-item:hover,
.nav .system-menu-item.current,
.nav .nbk-system-item:hover,
.nav .nbk-system-item.current{
  color:#fff!important;
  background:linear-gradient(90deg,rgba(91,140,255,.14),var(--nbk-nav-active))!important;
}

.nav .system-icon,
.nav .nbk-system-icon{
  width:39px;
  height:39px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.08);
  border-radius:11px;
  background:#1d2432;
  color:var(--nbk-nav-accent);
  font-size:.8rem;
  font-weight:900;
}

.nav .system-menu-item small,
.nav .nbk-system-item small{display:block;color:#8e93a0;font-size:.7rem;line-height:1.35}
.nav .system-status,
.nav .nbk-system-status{color:var(--nbk-nav-accent);font-size:.62rem;letter-spacing:.09em;text-transform:uppercase}

.mobile-toggle,
.nbk-mobile-toggle{
  display:none;
  flex:0 0 44px;
  width:44px;
  height:44px;
  margin-left:auto;
  padding:0;
  border:1px solid var(--nbk-nav-border);
  border-radius:11px;
  background:#111620;
  color:var(--nbk-nav-accent);
  font-family:Inter,"Segoe UI",Arial,sans-serif;
  font-size:1.3rem;
  cursor:pointer;
}

.mobile-panel,
.nbk-mobile-panel{
  display:none;
  position:fixed;
  top:92px;
  left:14px;
  right:14px;
  z-index:110;
  max-height:calc(100vh - 112px);
  overflow:auto;
  padding:14px;
  border:1px solid var(--nbk-nav-border);
  border-radius:18px;
  background:var(--nbk-nav-panel);
  box-shadow:0 24px 70px rgba(0,0,0,.52);
  color:var(--nbk-nav-text);
  font-family:Inter,"Segoe UI",Arial,sans-serif;
  font-size:.94rem;
  pointer-events:auto;
}

.mobile-panel.open,
.nbk-mobile-panel.open{display:grid;gap:4px}

.mobile-panel a,
.mobile-panel .mobile-disabled,
.nbk-mobile-panel a,
.nbk-mobile-panel .nbk-mobile-disabled{
  display:block;
  padding:11px 12px;
  border-radius:10px;
  color:#d2cbc0;
  text-decoration:none;
}

.mobile-panel a:hover,
.nbk-mobile-panel a:hover{background:var(--nbk-nav-active);color:var(--nbk-nav-accent)}

.mobile-label,
.nbk-mobile-label{
  padding:9px 12px 3px;
  color:#8a8f9b;
  font-size:.66rem;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.mobile-disabled,
.nbk-mobile-disabled{opacity:.52}

/* Compact package navigation keeps product context but shares the same shell. */
.nav.nav--compact .nav-title{
  flex:1;
  color:#d6d0c8;
  font-size:14px;
  font-weight:850;
}

.nav.nav--compact .nav-title small{
  display:block;
  margin-top:2px;
  color:#8f8982;
  font-size:11px;
  font-weight:600;
}

.nav.nav--compact .nav-actions{display:flex;align-items:center;gap:9px}

.nav.nav--compact .nav-back,
.nav.nav--compact .back-to-product{
  min-height:46px;
  padding:10px 16px;
  border:1px solid var(--nbk-nav-border);
  border-radius:12px;
  color:#f6f1e7;
  background:rgba(255,255,255,.025);
  font-family:Inter,"Segoe UI",Arial,sans-serif;
  font-size:14px;
  font-weight:800;
  letter-spacing:0;
  text-transform:none;
}

.nav.nav--laser{
  --nbk-nav-accent:#ff7a2a;
  --nbk-nav-accent-bright:#ffb17e;
  --nbk-nav-border:rgba(255,106,26,.3);
  --nbk-nav-active:rgba(255,106,26,.08);
  --nbk-nav-cta:linear-gradient(135deg,#ff6a1a,#ff914f);
  --nbk-nav-cta-text:#170d07;
}

.nav.nav--minimal .nav-links{justify-content:flex-start}

@media(max-width:1100px){
  .nav-shell{top:8px}
  .nav{width:calc(100% - 16px);min-height:68px;justify-content:flex-start}
  .nav-brand{flex-basis:59px;width:59px;height:44px;max-width:59px}
  .nav-logo{height:44px;max-width:59px;max-height:44px}
  .nav:not(.nav--compact) .nav-divider,
  .nav:not(.nav--compact) .nav-links,
  .nav:not(.nav--compact) .nav-cta{display:none!important}
  .nav .mobile-toggle,
  .nav .nbk-mobile-toggle{display:grid!important;place-items:center}
  .mobile-panel,
  .nbk-mobile-panel{top:84px;left:8px;right:8px;max-height:calc(100vh - 100px)}
}

@media(max-width:760px){
  .nav.nav--compact{justify-content:space-between}
  .nav.nav--compact .nav-divider,
  .nav.nav--compact .nav-title,
  .nav.nav--compact .nav-links,
  .nav.nav--compact .nav-back,
  .nav.nav--compact .back-to-product{display:none!important}
  .nav.nav--compact .btn.primary{font-size:13px;padding-inline:14px}
}

@media(prefers-reduced-motion:reduce){
  .nav,
  .nav a,
  .nav button{animation:none!important;transition:none!important}
}

/* LexDesk editions share one nested menu on every public page. */
.nav .nbk-systems-menu{display:none;opacity:1;visibility:visible;transform:none}
.nav .nbk-systems-wrap:hover .nbk-systems-menu,.nav .nbk-systems-wrap:focus-within .nbk-systems-menu{display:none}
.nav .nbk-systems-wrap.open .nbk-systems-menu{display:block}
.nav .nbk-systems-menu::before{content:"";position:absolute;top:-13px;left:0;width:100%;height:13px}
.nav .nbk-lexdesk-group{position:relative}
.nav .nbk-lexdesk-trigger{width:100%;text-align:left;font:inherit;cursor:pointer}
.nav .nbk-system-item b{display:block;font-size:.88rem}
.nbk-sub-arrow{font-size:1.65rem;color:var(--nbk-nav-accent);line-height:1}
.nav .nbk-lexdesk-menu{display:none;position:absolute;left:calc(100% + 10px);top:-5px;width:300px;padding:9px;border:1px solid var(--nbk-nav-border);border-radius:16px;background:var(--nbk-nav-panel);box-shadow:0 24px 70px rgba(0,0,0,.52)}
.nav .nbk-lexdesk-menu::before{content:"";position:absolute;left:-12px;top:0;width:12px;height:100%}
.nav .nbk-lexdesk-group.open .nbk-lexdesk-menu{display:block}
.nav .nbk-lexdesk-subitem,.nbk-mobile-panel .nbk-mobile-subitem{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px;border-radius:10px;color:#d7d0c5;text-decoration:none;font-size:.88rem}
.nbk-lexdesk-subitem b,.nbk-mobile-subitem b{display:block;font-size:.88rem}
.nbk-lexdesk-subitem small,.nbk-mobile-subitem small{display:block;color:#8e93a0;font-size:.72rem;margin-top:3px}
.nbk-sub-status{color:var(--nbk-nav-accent);font-size:.61rem;white-space:nowrap;text-transform:uppercase;letter-spacing:.04em}
.nav .nbk-lexdesk-subitem:hover,.nav .nbk-lexdesk-subitem.current,.nbk-mobile-panel .nbk-mobile-subitem:hover,.nbk-mobile-panel .nbk-mobile-subitem.current{background:var(--nbk-nav-active);color:var(--nbk-nav-accent-bright)}
.nbk-mobile-lexdesk-trigger{display:flex;justify-content:space-between;align-items:center;width:100%;padding:12px;border:0;border-radius:10px;background:transparent;color:#d2cbc0;font:inherit;text-align:left;cursor:pointer}
.nbk-mobile-lexdesk-trigger[aria-expanded="true"]{color:var(--nbk-nav-accent);background:var(--nbk-nav-active)}
.nbk-mobile-lexdesk-menu{margin-left:12px;border-left:1px solid var(--nbk-nav-border);padding-left:5px}
.nbk-mobile-lexdesk-menu[hidden]{display:none!important}
.nav :is(a,button):focus-visible,.nbk-mobile-panel :is(a,button):focus-visible{outline:2px solid var(--nbk-nav-accent);outline-offset:3px}
@media(min-width:1101px) and (max-width:1250px){.nav .nbk-lexdesk-menu{position:relative;left:auto;top:auto;width:100%;margin:5px 0 8px;border-radius:12px;box-shadow:none}}
