:root{
  --nav2-top-h:58px;
  --nav2-bg:#101419;
  --nav2-panel:#151b22;
  --nav2-panel2:#1a222b;
  --nav2-border:#27313c;
  --nav2-text:#e7edf3;
  --nav2-muted:#91a0ae;
  --nav2-accent:#7f9bb8;
  --nav2-hover:rgba(127,155,184,.10);
  --nav2-active:rgba(127,155,184,.17);
}

/* Additive top bar only. Existing sidebar layout remains authoritative. */
body{padding-top:var(--nav2-top-h)!important}

#project-global-navbar-v2{
  position:fixed;
  top:0;left:0;right:0;
  height:var(--nav2-top-h);
  z-index:3000;
  display:flex;
  align-items:center;
  gap:14px;
  padding:0 14px;
  background:rgba(16,20,25,.97);
  border-bottom:1px solid var(--nav2-border);
  backdrop-filter:blur(10px);
}

#project-global-navbar-v2 .nav2-brand{
  color:var(--nav2-text);
  text-decoration:none;
  font-weight:800;
  letter-spacing:.04em;
  white-space:nowrap;
}

.nav2-global-links{
  display:flex;
  gap:3px;
  align-items:center;
  min-width:0;
  overflow-x:auto;
  scrollbar-width:none;
}
.nav2-global-links::-webkit-scrollbar{display:none}

.nav2-global-links a,
.nav2-tools a,
#nav2-search-open{
  color:var(--nav2-muted);
  text-decoration:none;
  border-radius:7px;
  padding:8px 9px;
  font-size:13px;
  white-space:nowrap;
}
.nav2-global-links a:hover,
.nav2-tools a:hover,
#nav2-search-open:hover{
  color:var(--nav2-text);
  background:var(--nav2-hover);
}
.nav2-global-links a.nav2-active{
  color:var(--nav2-text);
  background:var(--nav2-active);
}

.nav2-tools{
  margin-left:auto;
  display:flex;
  gap:5px;
  align-items:center;
}
.nav2-tools a,
#nav2-search-open{
  border:1px solid var(--nav2-border);
  background:var(--nav2-panel);
}
#nav2-search-open{cursor:pointer}

#nav2-mobile-sidebar{
  display:none;
  width:36px;
  height:34px;
  align-items:center;
  justify-content:center;
  border:1px solid var(--nav2-border);
  border-radius:7px;
  background:var(--nav2-panel);
  color:var(--nav2-text);
  cursor:pointer;
}

/* Keep existing sidebar contents intact. Only account for new navbar height. */
aside.sidebar{
  top:var(--nav2-top-h)!important;
  max-height:calc(100vh - var(--nav2-top-h))!important;
}

/* Breadcrumb layer inserted inside main content. */
.nav2-breadcrumbs{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  align-items:center;
  color:var(--nav2-muted);
  font-size:12px;
  margin:0 0 12px;
}
.nav2-breadcrumbs a{
  color:var(--nav2-muted);
  text-decoration:none;
}
.nav2-breadcrumbs a:hover{color:var(--nav2-text)}
.nav2-breadcrumbs .sep{opacity:.5}

/* Local workspace tabs */
.nav2-local-tabs{
  display:flex;
  gap:6px;
  align-items:center;
  overflow-x:auto;
  scrollbar-width:none;
  margin:0 0 16px;
  padding:7px;
  border:1px solid var(--nav2-border);
  border-radius:10px;
  background:rgba(21,27,34,.72);
}
.nav2-local-tabs::-webkit-scrollbar{display:none}
.nav2-local-tabs a{
  color:var(--nav2-muted);
  text-decoration:none;
  padding:7px 9px;
  border-radius:7px;
  font-size:12px;
  white-space:nowrap;
}
.nav2-local-tabs a:hover{color:var(--nav2-text);background:var(--nav2-hover)}
.nav2-local-tabs a.nav2-active{color:var(--nav2-text);background:var(--nav2-active)}

/* Active highlighting applied to existing sidebar anchors only. */
aside.sidebar a.nav2-sidebar-active{
  background:var(--nav2-active)!important;
  color:var(--nav2-text)!important;
  border-left:2px solid var(--nav2-accent)!important;
}

/* Search / command palette */
#nav2-search-overlay{
  position:fixed;
  inset:0;
  z-index:5000;
  display:none;
  align-items:flex-start;
  justify-content:center;
  padding-top:9vh;
  background:rgba(4,7,10,.76);
}
#nav2-search-overlay.open{display:flex}
.nav2-search-panel{
  width:min(780px,92vw);
  max-height:80vh;
  overflow:hidden;
  border:1px solid var(--nav2-border);
  border-radius:12px;
  background:#11171d;
  box-shadow:0 30px 90px rgba(0,0,0,.5);
}
.nav2-search-head{
  display:flex;
  gap:8px;
  padding:12px;
  border-bottom:1px solid var(--nav2-border);
}
#nav2-search-input{
  flex:1;
  border:1px solid var(--nav2-border);
  border-radius:8px;
  background:#0d1217;
  color:var(--nav2-text);
  padding:11px 12px;
  font-size:14px;
  outline:none;
}
#nav2-search-close{
  border:1px solid var(--nav2-border);
  border-radius:8px;
  background:var(--nav2-panel);
  color:var(--nav2-muted);
  padding:0 12px;
  cursor:pointer;
}
#nav2-search-results{
  max-height:64vh;
  overflow-y:auto;
  padding:8px;
}
.nav2-result{
  display:block;
  padding:10px 11px;
  border-radius:8px;
  color:var(--nav2-text);
  text-decoration:none;
}
.nav2-result:hover{background:var(--nav2-hover)}
.nav2-result-title{font-size:13px;font-weight:700}
.nav2-result-meta{font-size:11px;color:var(--nav2-muted);margin-top:3px}
.nav2-result-summary{font-size:12px;color:#b4c0ca;margin-top:4px;line-height:1.35}
.nav2-empty{padding:24px;color:var(--nav2-muted);text-align:center}

@media(max-width:1120px){
  .nav2-tools .nav2-external{display:none}
}

@media(max-width:900px){
  #nav2-mobile-sidebar{display:inline-flex}
  .nav2-global-links{display:none}

  /* Existing sidebar is not rewritten; only toggled on mobile. */
  aside.sidebar{
    z-index:2900!important;
    transform:translateX(-105%);
    transition:transform .18s ease;
  }
  aside.sidebar.nav2-mobile-open{transform:translateX(0)!important}

  #project-global-navbar-v2 .nav2-brand{font-size:12px}
}

@media(max-width:620px){
  .nav2-tools .nav2-external{display:none}
  #nav2-search-open{font-size:12px}
}
