/* Bbnk Core styles (kept minimal; Bootstrap provides utilities) */

/* LIGHT THEME: ensure dark text on light background */
[data-bs-theme="light"] {
  --bs-body-bg: #ffffff;
  --bs-body-color: #212529;
}
[data-bs-theme="light"] .navbar {
  --bs-navbar-bg: #ffffff;
  --bs-navbar-color: #212529;
  --bs-navbar-hover-color: #111827;
  --bs-navbar-active-color: #000000;
  --bs-navbar-brand-color: #111827;
  --bs-navbar-brand-hover-color: #000000;
  --bs-navbar-toggler-border-color: rgba(0,0,0,.15);
}
/* Light navbar links */
[data-bs-theme="light"] .navbar .navbar-brand { color: var(--bs-navbar-brand-color); }
[data-bs-theme="light"] .navbar .navbar-brand:hover { color: var(--bs-navbar-brand-hover-color); }
[data-bs-theme="light"] .navbar .nav-link { color: var(--bs-navbar-color); }
[data-bs-theme="light"] .navbar .nav-link:hover,
[data-bs-theme="light"] .navbar .nav-link:focus { color: var(--bs-navbar-hover-color); }
[data-bs-theme="light"] .navbar .nav-link.active,
[data-bs-theme="light"] .navbar .nav-link.show { color: var(--bs-navbar-active-color); }
/* Light dropdown inside navbar */
[data-bs-theme="light"] .navbar .dropdown-menu { background-color: #ffffff; color: #212529; border-color: rgba(0,0,0,.15); }
[data-bs-theme="light"] .navbar .dropdown-item { color: #212529; }
[data-bs-theme="light"] .navbar .dropdown-item:hover,
[data-bs-theme="light"] .navbar .dropdown-item:focus { color: #111827; background-color: rgba(0,0,0,.06); }
[data-bs-theme="light"] .navbar .dropdown-item.active,
[data-bs-theme="light"] .navbar .dropdown-item:active { color: #ffffff; background-color: var(--bs-primary); }

/* DARK THEME: ensure light text on dark background */
[data-bs-theme="dark"] .navbar {
  --bs-navbar-bg: #111827; /* slate-900ish */
  --bs-navbar-color: rgba(255,255,255,.85);
  --bs-navbar-hover-color: #ffffff;
  --bs-navbar-active-color: #ffffff;
  --bs-navbar-brand-color: #ffffff;
  --bs-navbar-brand-hover-color: #ffffff;
  --bs-navbar-toggler-border-color: rgba(255,255,255,.25);
}
/* Dark navbar links */
[data-bs-theme="dark"] .navbar .navbar-brand { color: var(--bs-navbar-brand-color); }
[data-bs-theme="dark"] .navbar .navbar-brand:hover { color: var(--bs-navbar-brand-hover-color); }
[data-bs-theme="dark"] .navbar .nav-link { color: var(--bs-navbar-color); }
[data-bs-theme="dark"] .navbar .nav-link:hover,
[data-bs-theme="dark"] .navbar .nav-link:focus { color: var(--bs-navbar-hover-color); }
[data-bs-theme="dark"] .navbar .nav-link.active,
[data-bs-theme="dark"] .navbar .nav-link.show { color: var(--bs-navbar-active-color); }
/* Dark dropdown inside navbar */
[data-bs-theme="dark"] .navbar .dropdown-menu { background-color: #0b1220; color: #e5e7eb; border-color: rgba(255,255,255,.15); }
[data-bs-theme="dark"] .navbar .dropdown-item { color: #e5e7eb; }
[data-bs-theme="dark"] .navbar .dropdown-item:hover,
[data-bs-theme="dark"] .navbar .dropdown-item:focus { color: #ffffff; background-color: rgba(255,255,255,.08); }
[data-bs-theme="dark"] .navbar .dropdown-item.active,
[data-bs-theme="dark"] .navbar .dropdown-item:active { color: #ffffff; background-color: var(--bs-primary); }

/* Custom BRAND theme variables and strong contrast */
[data-bs-theme="brand"] {
  /* Base brand palette */
  --bs-primary: #7c3aed;            /* purple */
  --bs-secondary: #22c55e;          /* green */
  --bs-body-bg: #0f172a;            /* slate-900 */
  --bs-body-color: #e2e8f0;         /* slate-200 */
  --bs-link-color: #a78bfa;
  --bs-link-hover-color: #c4b5fd;
  --bs-border-color: #334155;       /* slate-700 */
  --bs-border-radius: .5rem;

  /* Emphasis: bright to keep text readable on dark backgrounds */
  --bs-emphasis-color: #ffffff;
  --bs-emphasis-color-rgb: 255, 255, 255;

  /* Navbar specific variables for better contrast */
  --bs-navbar-bg: #0b1326; /* deep slate */
  --bs-navbar-color: rgba(var(--bs-emphasis-color-rgb), .85);
  --bs-navbar-hover-color: rgba(var(--bs-emphasis-color-rgb), 1);
  --bs-navbar-active-color: rgba(var(--bs-emphasis-color-rgb), 1);
  --bs-navbar-disabled-color: rgba(var(--bs-emphasis-color-rgb), .4);
  --bs-navbar-brand-color: rgba(var(--bs-emphasis-color-rgb), .95);
  --bs-navbar-brand-hover-color: rgba(var(--bs-emphasis-color-rgb), 1);
  --bs-navbar-toggler-border-color: rgba(var(--bs-emphasis-color-rgb), .25);

  /* Generic nav link colors (non-navbar contexts) */
  --bs-nav-link-color: rgba(var(--bs-emphasis-color-rgb), .85);
  --bs-nav-link-hover-color: rgba(var(--bs-emphasis-color-rgb), 1);

  /* Dropdown theming */
  --bs-dropdown-bg: #0b1326; /* match navbar bg for consistency */
  --bs-dropdown-color: #e2e8f0;
  --bs-dropdown-link-color: #e2e8f0;
  --bs-dropdown-link-hover-color: #ffffff;
  --bs-dropdown-link-hover-bg: rgba(124, 58, 237, 0.25); /* primary with alpha */
  --bs-dropdown-link-active-color: #ffffff;
  --bs-dropdown-link-active-bg: #7c3aed; /* primary */
  --bs-dropdown-border-color: #334155;
}
/* Brand navbar links */
[data-bs-theme="brand"] .navbar .navbar-brand { color: var(--bs-navbar-brand-color); }
[data-bs-theme="brand"] .navbar .navbar-brand:hover { color: var(--bs-navbar-brand-hover-color); }
[data-bs-theme="brand"] .navbar .nav-link { color: var(--bs-navbar-color); }
[data-bs-theme="brand"] .navbar .nav-link:hover,
[data-bs-theme="brand"] .navbar .nav-link:focus { color: var(--bs-navbar-hover-color); }
[data-bs-theme="brand"] .navbar .nav-link.active,
[data-bs-theme="brand"] .navbar .nav-link.show { color: var(--bs-navbar-active-color); }
/* Brand dropdown inside navbar */
[data-bs-theme="brand"] .navbar .dropdown-menu { background-color: var(--bs-dropdown-bg); color: var(--bs-dropdown-color); border-color: var(--bs-dropdown-border-color); }
[data-bs-theme="brand"] .navbar .dropdown-item { color: var(--bs-dropdown-link-color); }
[data-bs-theme="brand"] .navbar .dropdown-item:hover,
[data-bs-theme="brand"] .navbar .dropdown-item:focus { color: var(--bs-dropdown-link-hover-color); background-color: var(--bs-dropdown-link-hover-bg); }
[data-bs-theme="brand"] .navbar .dropdown-item.active,
[data-bs-theme="brand"] .navbar .dropdown-item:active { color: var(--bs-dropdown-link-active-color); background-color: var(--bs-dropdown-link-active-bg); }
/* BRAND theme – finer hover/selected tuning for navbar and dropdown */
[data-bs-theme="brand"] {
  /* New brand navbar interaction variables */
  --bbnk-brand-nav-hover-bg: #c4b5fd;   /* light purple */
  --bbnk-brand-nav-hover-color: #0b1326;/* dark slate text */
  --bbnk-brand-nav-active-bg: #a78bfa;  /* a bit darker than hover */
  --bbnk-brand-nav-active-color: #0b1326;/* dark slate text */
}

/* Navbar links (brand) */
[data-bs-theme="brand"] .navbar .nav-link {
  transition: color .15s ease, background-color .15s ease;
  border-radius: .375rem; /* subtle pill */
}
[data-bs-theme="brand"] .navbar .nav-link:hover,
[data-bs-theme="brand"] .navbar .nav-link:focus {
  color: var(--bbnk-brand-nav-hover-color);
  background-color: var(--bbnk-brand-nav-hover-bg);
}
[data-bs-theme="brand"] .navbar .nav-link.active,
[data-bs-theme="brand"] .navbar .nav-link.show {
  color: var(--bbnk-brand-nav-active-color);
  background-color: var(--bbnk-brand-nav-active-bg);
}

/* Dropdown items inside navbar (brand) */
[data-bs-theme="brand"] .navbar .dropdown-item {
  color: var(--bs-dropdown-link-color);
  border-radius: .375rem;
}
[data-bs-theme="brand"] .navbar .dropdown-item:hover,
[data-bs-theme="brand"] .navbar .dropdown-item:focus {
  color: var(--bbnk-brand-nav-hover-color);
  background-color: var(--bbnk-brand-nav-hover-bg);
}
[data-bs-theme="brand"] .navbar .dropdown-item.active,
[data-bs-theme="brand"] .navbar .dropdown-item:active {
  color: var(--bbnk-brand-nav-active-color);
  background-color: var(--bbnk-brand-nav-active-bg);
}

/* Light navbar link hover/active background for visibility */
[data-bs-theme="light"] .navbar .navbar-nav .nav-link {
  border-radius: .375rem;
  transition: color .15s ease, background-color .15s ease;
}
[data-bs-theme="light"] .navbar .navbar-nav .nav-link:hover,
[data-bs-theme="light"] .navbar .navbar-nav .nav-link:focus {
  background-color: rgba(0,0,0,.06);
}
[data-bs-theme="light"] .navbar .navbar-nav .nav-link.active,
[data-bs-theme="light"] .navbar .navbar-nav .nav-link.show {
  background-color: rgba(0,0,0,.12);
}

/* Dark navbar link hover/active background for visibility */
[data-bs-theme="dark"] .navbar .navbar-nav .nav-link {
  border-radius: .375rem;
  transition: color .15s ease, background-color .15s ease;
}
[data-bs-theme="dark"] .navbar .navbar-nav .nav-link:hover,
[data-bs-theme="dark"] .navbar .navbar-nav .nav-link:focus {
  background-color: rgba(255,255,255,.1);
}
[data-bs-theme="dark"] .navbar .navbar-nav .nav-link.active,
[data-bs-theme="dark"] .navbar .navbar-nav .nav-link.show {
  background-color: rgba(255,255,255,.18);
}

/* Compact Navbar: reduce vertical height and inner paddings */
.navbar { padding-top: .125rem !important; padding-bottom: .125rem !important; }
.navbar .container-fluid { padding-top: 0; padding-bottom: 0; }
.navbar .navbar-brand { padding-top: 0; padding-bottom: 0; margin-top: 0; margin-bottom: 0; line-height: 1.1; }
.navbar .navbar-nav .nav-link { padding-top: .25rem !important; padding-bottom: .25rem !important; padding-left: .5rem; padding-right: .5rem; line-height: 1.1; }
.navbar .navbar-toggler { padding: .125rem .375rem; line-height: 1; }

/* Extra compact Navbar spacing */
.navbar { padding-top: 0 !important; padding-bottom: 0 !important; }
.navbar .container-fluid { padding-top: 0; padding-bottom: 0; gap: .25rem; }
.navbar .navbar-brand { padding-top: 0; padding-bottom: 0; margin-top: 0; margin-bottom: 0; line-height: 1; }
.navbar .navbar-nav .nav-link { padding-top: .125rem !important; padding-bottom: .125rem !important; padding-left: .375rem; padding-right: .375rem; line-height: 1; }
.navbar .navbar-toggler { padding: .125rem .25rem; line-height: 1; }

/* Reduce gaps in menu wrapper and tools */
.navbar .bbnk-menu-wrap { gap: 2px !important; }
.navbar .bbnk-tools { gap: .25rem !important; }

/* Compact user panel inside navbar */
.navbar .bbnk-user-panel { padding: .125rem .125rem; gap: .25rem; border-radius: 4px; }
.navbar .bbnk-user-panel .navbar-text { margin: 0; line-height: 1.1; font-size: .95rem; }
.navbar .bbnk-user-panel img { width: 24px !important; height: 24px !important; }
/* More compact user panel (height and spacing) */
.navbar .bbnk-user-panel { padding: 0px; gap: .125rem; border-radius: 4px; }
.navbar .bbnk-user-panel .navbar-text { margin: 0; line-height: 0; font-size: .9rem; }
.navbar .bbnk-user-panel img { width: 22px !important; height: 22px !important; }

/* User panel styling: bordered pill and clear hover across themes */
.navbar .bbnk-user-panel {
  border: 1px solid var(--bs-border-color, rgba(0,0,0,.15));

  padding: .15rem .2rem;
  transition: background-color .15s ease, border-color .15s ease, box-shadow .15s ease;
}
/* Light theme user panel */
[data-bs-theme="light"] .navbar .bbnk-user-panel:hover {
  background-color: rgba(0,0,0,.06);
  border-color: rgba(0,0,0,.25);
  box-shadow: 0 0 0 .15rem rgba(0,0,0,.06);
}
/* Dark theme user panel */
[data-bs-theme="dark"] .navbar .bbnk-user-panel:hover {
  background-color: rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.35);
  box-shadow: 0 0 0 .15rem rgba(255,255,255,.08);
}
/* Brand theme user panel */
[data-bs-theme="brand"] .navbar .bbnk-user-panel:hover {
  background-color: rgba(124, 58, 237, 0.20);
  border-color: #7c3aed;
  box-shadow: 0 0 0 .15rem rgba(124, 58, 237, 0.20);
}

/* Navbar tools (user + theme) sizing and alignment */
.navbar .bbnk-tools {
  width: max-content;
  margin-right: auto;
}

/* Prevent horizontal overflow globally while keeping vertical scroll */
html, body { height: 100%; }
body { overflow-x: hidden; overflow-y: auto; }

/* Let navbar container clip excess and allow children to shrink */
.navbar .container-fluid { min-width: 0; overflow: hidden; }

/* Brand should be shrinkable; ellipsis if too long, but never vanish */
.navbar .navbar-brand {
  /* allow some shrink but keep a sensible minimum so logo/title remain visible */
  flex: 0 1 40vw; /* base width ~40vw on larger screens */
  min-width: 120px; /* never collapse to 0 */
  max-width: 50vw; /* cap expansion */
  overflow: hidden;
  text-overflow: ellipsis;
}
/* Ensure brand text truncates with ellipsis next to logo */
.navbar .navbar-brand span {
  display: inline-block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Tools (user + theme) should never shrink; keep visible until collapse */
.navbar .bbnk-tools {
  width: auto;
  flex: 0 0 auto;    /* do not shrink */
  min-width: max-content; /* ensure full content fits */
  margin-right: 0;
  overflow: visible;
}

/* Menu wrapper should fill remaining width; shrink and clip overflow */
.navbar .bbnk-menu-wrap {
    display:flex;
  flex: 1 1 auto;   /* take the rest and allow shrink */
  min-width: 0;     /* required for flex children to shrink */
  overflow: hidden; /* prevent horizontal body overflow from menu items */
}
/* Keep menu in a single line, aligned left */
.navbar .bbnk-menu { display: flex; flex-wrap: nowrap; justify-content: flex-start; }

/* Existing footer/content appearance (kept) */
.bbnk-footer {
  border-top: 1px solid var(--bs-border-color, rgba(0,0,0,.15)) !important;
  background-color: rgba(0,0,0,.03);
}
.bbnk-content {
  border: 1px solid var(--bs-border-color, rgba(0,0,0,.15));
  border-radius: .1rem;
  background-color: rgba(0,0,0,.015);
  padding: .25rem;

}
/* Dark theme adjustments */
[data-bs-theme="dark"] .bbnk-footer { border-top-color: rgba(255,255,255,.2) !important; background-color: rgba(255,255,255,.03); }
[data-bs-theme="dark"] .bbnk-content { border-color: rgba(255,255,255,.2); background-color: rgba(255,255,255,.04); }
/* Brand theme adjustments */
[data-bs-theme="brand"] .bbnk-footer { border-top-color: #334155 !important; background-color: rgba(124,58,237,.06); }
[data-bs-theme="brand"] .bbnk-content { border-color: #334155; background-color: rgba(124,58,237,.05); }
/* Prevent text wrapping in navbar */
.navbar .navbar-brand,
.navbar .nav-link,
.navbar .dropdown-toggle,
.navbar .dropdown-item,
.navbar .navbar-text,
.navbar .bbnk-user-panel,
.navbar .bbnk-user-panel * {
  white-space: nowrap;
}

/* Core styles for Bbnk components */
.bbnk-tree-item {}
.bbnk-tree-item .bbnk-tree-body { min-height: 28px; cursor: pointer; border-radius: 8px; padding:2px 4px; transition: background-color .12s ease, color .12s ease, border-color .12s ease; color: var(--bs-body-color); }
.bbnk-tree-item .bbnk-tree-body.bbnk-bordered { border:1px solid var(--bs-border-color, rgba(0,0,0,.15)); }
/* Theme-aware hover: emphasize background and text using theme vars */
.bbnk-tree-item .bbnk-tree-body:hover { background-color: var(--bs-primary-bg-subtle, rgba(13,110,253,.12)); color: var(--bs-primary-text-emphasis, #0a58ca); }

/* Active menu body state when expanded (header-like emphasis) */
.bbnk-tree-item .bbnk-tree-body.bbnk-menu-active {
  border:1px solid var(--bs-primary-border-subtle, var(--bs-border-color));
  background-color: var(--bs-primary-bg-subtle, rgba(13,110,253,.12));
  color: var(--bs-primary-text-emphasis, #0a58ca);
  font-weight: 600;
}

/* Adjust radii so body bottom and children top meet seamlessly in menu mode */
.bbnk-tree-item .bbnk-tree-body.bbnk-menu-active {  }
.bbnk-tree-item .bbnk-menu-children { border-top-left-radius: 0; border-top-right-radius: 0; }
/* Also cover portaled children */
.bbnk-menu-children { border-top-left-radius: 0; border-top-right-radius: 0; }

.bbnk-tree-item .bbnk-tree-children { }
/* Menu variant children container (no left margin). Rounded border, transparent bg by default */
.bbnk-tree-item .bbnk-menu-children { margin-left:0 !important; border:1px solid var(--bs-border-color); border-radius:10px; padding:6px; transition: background-color .12s ease, border-color .12s ease, color .12s ease; background-color: transparent; color: var(--bs-body-color); width:max-content; max-width:400px; max-height:600px; overflow:auto; }
/* Active state for children: slightly stronger theme contrast */
.bbnk-tree-item .bbnk-menu-children.bbnk-menu-children-active {
  background-color: var(--bs-secondary-bg, rgba(0,0,0,.04));
  border-color: var(--bs-primary-border-subtle, var(--bs-border-color));
  color: var(--bs-emphasis-color, var(--bs-body-color));
}

/* Also apply when childrenBox is portaled outside of .bbnk-tree-item (e.g., appended to body) */
.bbnk-menu-children { margin-left:0 !important; border:1px solid var(--bs-border-color); border-radius:10px; padding:6px; transition: background-color .12s ease, border-color .12s ease, color .12s ease; background-color: transparent; color: var(--bs-body-color); width:max-content; max-width:400px; max-height:600px; overflow:auto; }
.bbnk-menu-children.bbnk-menu-children-active { background-color: var(--bs-secondary-bg, rgba(0,0,0,.04)); border-color: var(--bs-primary-border-subtle, var(--bs-border-color)); color: var(--bs-emphasis-color, var(--bs-body-color)); }
/* Remove any border that might be on menuWrap */
.bbnk-menu-wrap { border: none !important; }
/* checkbox */
.bbnk-tree-item .bbnk-tree-body .bbnk-check { width:24px; height:24px; display:flex; align-items:center; justify-content:center; padding:0; margin:0; border:0; }
.bbnk-tree-item .bbnk-tree-body .bbnk-check svg { width:24px; height:24px; display:block; }
/* image/icon holder */
.bbnk-tree-item .bbnk-tree-body .bbnk-image { width:24px; height:24px; display:flex; align-items:center; justify-content:center; overflow:hidden; border:1px solid var(--bs-border-color, rgba(0,0,0,.15)); border-radius:6px; background-color: var(--bs-tertiary-bg, rgba(0,0,0,.02)); line-height:0; }
.bbnk-tree-item .bbnk-tree-body .bbnk-image > img { width:100%; height:100%; object-fit:contain; }
.bbnk-tree-item .bbnk-tree-body .bbnk-image > svg { width:100%; height:100%; }
.bbnk-tree-item .bbnk-tree-body .bbnk-image > span { font-size:20px; line-height:24px; }
/* buttons */
.bbnk-tree-item .bbnk-tree-body button { padding:0; width:24px; height:24px; display:flex; align-items:center; justify-content:center; }
.bbnk-tree-item .bbnk-tree-body button svg { width:24px; height:24px; display:block; }
/* options button visibility: only when body hovered AND item has commands */
.bbnk-tree-item .bbnk-tree-body .bbnk-options { display: none; }
.bbnk-tree-item .bbnk-tree-body.bbnk-has-cmd:hover .bbnk-options { display: flex; }

.bbnk-tree-item .bbnk-title { font-feature-settings: "liga" on, "kern" on; }
/* Prevent treeItem title from wrapping */
.bbnk-title { white-space: nowrap; }
.bbnk-tree-item .bbnk-menu-body { background-color: var(--bs-tertiary-bg, rgba(0,0,0,.03)); }
[data-bs-theme="light"] .bbnk-tree-item .bbnk-menu-body { background-color: rgba(0,0,0,.04); }
[data-bs-theme="dark"] .bbnk-tree-item .bbnk-menu-body { background-color: rgba(255,255,255,.06); }
[data-bs-theme="brand"] .bbnk-tree-item .bbnk-menu-body { background-color: rgba(124,58,237,.10); }
/* Explicit hover for menu body to ensure it wins over base background */
.bbnk-tree-item .bbnk-menu-body:hover { background-color: var(--bs-primary-bg-subtle, rgba(13,110,253,.12)); color: var(--bs-primary-text-emphasis, #0a58ca); }
[data-bs-theme="brand"] .bbnk-tree-item .bbnk-menu-body:hover { background-color: rgba(124,58,237,.20); color: #0b1326; }
/* Active state: emphasize a bit more */
.bbnk-tree-item .bbnk-tree-body.bbnk-menu-active { background-color: var(--bs-primary-bg-subtle, rgba(13,110,253,.12)); }
[data-bs-theme="brand"] .bbnk-tree-item .bbnk-tree-body.bbnk-menu-active { background-color: rgba(124,58,237,.20); }
/* Expand overlay base style for navbar/menu expand. Used by expandDiv; colors are theme-driven. */
.bbnk-expand-div {
  border-width: 2px;
  border-style: solid;
  border-radius: 10px;
  background-clip: padding-box;
  z-index: 10;
  transition: background-color .2s ease, border-color .2s ease;
  border-color: var(--bs-primary, #0d6efd);
  background-color: var(--bs-primary-bg-subtle, rgba(13,110,253,.12));
}

[data-bs-theme="dark"] .bbnk-expand-div {
  border-color: var(--bs-emphasis-color, #fff);
  background-color: rgba(var(--bs-primary-rgb, 13,110,253), .22);
}

[data-bs-theme="brand"] .bbnk-expand-div {
  border-color: var(--bs-primary, #0d6efd);
  background-color: rgba(var(--bs-primary-rgb, 13,110,253), .20);
}

/* Menu body background (isMenu=true) – more prominent with always-on border */
.bbnk-tree-item .bbnk-menu-body {
  border: 1px solid var(--bs-primary-border-subtle, var(--bs-border-color));
  border-radius: 10px;
  background-color: rgba(var(--bs-primary-rgb, 13,110,253), .10);
}
[data-bs-theme="light"] .bbnk-tree-item .bbnk-menu-body {
  border-color: var(--bs-primary-border-subtle, var(--bs-border-color));
  background-color: rgba(var(--bs-primary-rgb, 13,110,253), .10);
}
[data-bs-theme="dark"] .bbnk-tree-item .bbnk-menu-body {
  border-color: var(--bs-primary-border-subtle, rgba(255,255,255,.25));
  background-color: rgba(var(--bs-primary-rgb, 13,110,253), .18);
}
[data-bs-theme="brand"] .bbnk-tree-item .bbnk-menu-body {
  border-color: var(--bs-primary, #7c3aed);
  background-color: rgba(var(--bs-primary-rgb, 124,58,237), .18);
}
/* Hover keeps emphasis */
.bbnk-tree-item .bbnk-menu-body:hover {
  background-color: var(--bs-primary-bg-subtle, rgba(13,110,253,.16));
  color: var(--bs-primary-text-emphasis, #0a58ca);
}
[data-bs-theme="brand"] .bbnk-tree-item .bbnk-menu-body:hover { background-color: rgba(124,58,237,.24); color: #0b1326; }
/* Active state: slightly stronger than hover */
.bbnk-tree-item .bbnk-tree-body.bbnk-menu-active {
  border: 1px solid var(--bs-primary-border-subtle, var(--bs-border-color));
  background-color: var(--bs-primary-bg-subtle, rgba(13,110,253,.20));
  color: var(--bs-primary-text-emphasis, #0a58ca);
  font-weight: 600;
}
[data-bs-theme="brand"] .bbnk-tree-item .bbnk-tree-body.bbnk-menu-active { background-color: rgba(124,58,237,.28); }
