:root {
  --belm-sidebar-width: 281px;
  --belm-sidebar-navy: #04101f;
  --belm-sidebar-navy-soft: #0a2540;
  --belm-sidebar-green: #00a958;
  --belm-sidebar-yellow: #f5c518;
}

.belm-admin-sidebar {
  position: fixed;
  inset: 0 auto 0 0;
  z-index: 10050;
  display: flex;
  width: var(--belm-sidebar-width);
  flex-direction: column;
  overflow: hidden;
  color: #dbe5f2;
  background:
    radial-gradient(circle at 15% 0, rgba(0, 169, 88, .18), transparent 18rem),
    linear-gradient(180deg, var(--belm-sidebar-navy-soft), var(--belm-sidebar-navy));
  border-right: 4px solid var(--belm-sidebar-yellow);
  box-shadow: 14px 0 34px rgba(10, 18, 34, .18);
  font-family: Inter, system-ui, sans-serif;
}

.belm-sidebar-brand {
  display: flex;
  align-items: center;
  gap: 11px;
  min-height: 76px;
  padding: 15px 17px;
  color: #fff;
  border-bottom: 1px solid rgba(255, 255, 255, .1);
  text-decoration: none;
}

.belm-sidebar-brand-mark {
  display: grid;
  flex: 0 0 40px;
  place-items: center;
  width: 40px;
  height: 40px;
  color: var(--belm-sidebar-yellow);
  border: 2px solid var(--belm-sidebar-yellow);
  border-radius: 11px;
  background: var(--belm-sidebar-green);
  font-weight: 900;
}

.belm-sidebar-brand strong,
.belm-sidebar-brand small {
  display: block;
}

.belm-sidebar-brand strong {
  font-size: 14px;
  line-height: 1.2;
}

.belm-sidebar-brand small {
  margin-top: 3px;
  color: #97a6ba;
  font-size: 10px;
}

.belm-sidebar-user {
  margin: 12px 13px 6px;
  padding: 11px 12px;
  border: 1px solid rgba(255, 255, 255, .09);
  border-radius: 12px;
  background: rgba(255, 255, 255, .045);
}

.belm-sidebar-user strong,
.belm-sidebar-user span {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.belm-sidebar-user strong {
  color: #fff;
  font-size: 12px;
}

.belm-sidebar-user span {
  margin-top: 3px;
  color: #9cabbd;
  font-size: 10px;
}

.belm-sidebar-nav {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  padding: 7px 9px 16px;
  overflow-y: auto;
  overflow-x: hidden;
  scrollbar-width: thin;
}

.belm-sidebar-section {
  flex: 0 0 auto;
  margin: 12px 10px 6px;
  color: #78889c;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.belm-sidebar-link {
  position: relative;
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 10px;
  min-height: 42px;
  margin: 3px 0;
  padding: 9px 11px;
  color: #aebacc;
  border: 1px solid transparent;
  border-radius: 10px;
  font-size: 13.5px;
  font-weight: 750;
  text-decoration: none;
  transition: .15s ease;
}

.belm-sidebar-link > span:nth-child(2) {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  line-height: 1.35;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.belm-sidebar-link:hover {
  color: #fff;
  background: rgba(255, 255, 255, .07);
}

.belm-sidebar-link.active {
  color: #fff;
  border-color: rgba(242, 206, 0, .35);
  background: linear-gradient(90deg, rgba(0, 169, 88, .28), rgba(255, 255, 255, .07));
}

.belm-sidebar-link.active::before {
  position: absolute;
  inset: 8px auto 8px -9px;
  width: 4px;
  content: "";
  border-radius: 0 6px 6px 0;
  background: var(--belm-sidebar-yellow);
}

.belm-sidebar-icon {
  display: grid;
  flex: 0 0 29px;
  place-items: center;
  width: 29px;
  height: 29px;
  color: var(--belm-sidebar-yellow);
  border-radius: 8px;
  background: rgba(255, 255, 255, .07);
  font-size: 9px;
  font-weight: 900;
}

.belm-sidebar-icon svg {
  width: 16px;
  height: 16px;
  display: block;
}

.belm-sidebar-badge {
  min-width: 20px;
  margin-left: auto;
  padding: 3px 6px;
  color: #151d31;
  border-radius: 999px;
  background: var(--belm-sidebar-yellow);
  font-size: 9px;
  font-weight: 900;
  text-align: center;
}

.belm-sidebar-footer {
  padding: 12px;
  border-top: 1px solid rgba(255, 255, 255, .1);
}

.belm-sidebar-activity-panel {
  flex: 0 0 auto;
  margin: 0 10px 8px;
  padding: 11px;
  color: #dbe5f2;
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 12px;
  background: rgba(255, 255, 255, .045);
}

.belm-sidebar-activity-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
}

.belm-sidebar-activity-head strong {
  color: #fff;
  font-size: 10px;
}

.belm-sidebar-activity-head a {
  color: var(--belm-sidebar-yellow);
  font-size: 8px;
  font-weight: 800;
  text-decoration: none;
}

.belm-sidebar-activity-list {
  display: grid;
  max-height: 154px;
  gap: 6px;
  overflow-y: auto;
  scrollbar-width: thin;
}

.belm-sidebar-activity-item {
  display: grid;
  grid-template-columns: 27px minmax(0, 1fr);
  gap: 7px;
  align-items: center;
  padding: 7px;
  border-radius: 8px;
  background: rgba(255, 255, 255, .055);
}

.belm-sidebar-activity-icon {
  display: grid;
  place-items: center;
  width: 27px;
  height: 27px;
  color: #fff;
  border-radius: 7px;
  background: var(--belm-sidebar-green);
  font-size: 8px;
  font-weight: 900;
}

.belm-sidebar-activity-copy {
  min-width: 0;
}

.belm-sidebar-activity-copy strong,
.belm-sidebar-activity-copy span,
.belm-sidebar-activity-copy time {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.belm-sidebar-activity-copy strong {
  color: #fff;
  font-size: 8px;
}

.belm-sidebar-activity-copy span,
.belm-sidebar-activity-copy time,
.belm-sidebar-activity-empty {
  color: #93a3b7;
  font-size: 7px;
}

.belm-sidebar-activity-copy time {
  margin-top: 2px;
}

.belm-sidebar-activity-empty {
  padding: 8px 4px;
  text-align: center;
}

.belm-sidebar-theme-toggle {
  width: 100%;
  min-height: 38px;
  margin-bottom: 8px;
  color: var(--belm-sidebar-yellow, #f2ce00);
  border: 1px solid rgba(255, 255, 255, .15);
  border-radius: 10px;
  background: transparent;
  font-size: 11px;
  font-weight: 800;
  cursor: pointer;
}

.belm-sidebar-theme-toggle:hover {
  border-color: var(--belm-sidebar-yellow, #f2ce00);
  background: rgba(242, 206, 0, .08);
}

.belm-sidebar-logout {
  width: 100%;
  min-height: 40px;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, .15);
  border-radius: 10px;
  background: transparent;
  font-size: 11px;
  font-weight: 800;
}

.belm-sidebar-logout:hover {
  border-color: #f2ce00;
  background: rgba(242, 206, 0, .08);
}

.belm-sidebar-toggle {
  position: fixed;
  top: 11px;
  left: 11px;
  z-index: 10060;
  display: none;
  width: 42px;
  height: 42px;
  color: #fff;
  border: 2px solid var(--belm-sidebar-yellow);
  border-radius: 11px;
  background: var(--belm-sidebar-navy);
  box-shadow: 0 8px 22px rgba(10, 18, 34, .2);
  font-size: 20px;
}

.belm-sidebar-scrim {
  position: fixed;
  inset: 0;
  z-index: 10040;
  display: none;
  background: rgba(5, 11, 22, .62);
  backdrop-filter: blur(2px);
}

@media (min-width: 981px) {
  body.belm-sidebar-ready {
    padding-left: var(--belm-sidebar-width) !important;
  }
}

@media (max-width: 980px) {
  .belm-admin-sidebar {
    transform: translateX(-105%);
    transition: transform .2s ease;
  }

  .belm-sidebar-toggle {
    display: grid;
    place-items: center;
  }

  body.belm-sidebar-open .belm-admin-sidebar {
    transform: translateX(0);
  }

  body.belm-sidebar-open .belm-sidebar-scrim {
    display: block;
  }

  body.belm-sidebar-ready .topbar,
  body.belm-sidebar-ready > header {
    padding-left: 64px !important;
  }
}

/* V195 UI refresh: BELM industrial palette and cleaner navigation hierarchy. */
:root {
  --belm-sidebar-width: 271px;
  --belm-sidebar-blue: #1769c2;
  --belm-sidebar-green: #00a651;
  --belm-sidebar-yellow: #ffd400;
  --belm-sidebar-black: #070b12;
  --belm-sidebar-navy: #0b1422;
  --belm-sidebar-navy-soft: #111f34;
}

.belm-admin-sidebar {
  isolation: isolate;
  border-right: 1px solid rgba(23, 105, 194, .34);
  background:
    linear-gradient(115deg, rgba(23, 105, 194, .10), transparent 32%),
    radial-gradient(circle at 92% 8%, rgba(0, 166, 81, .16), transparent 15rem),
    linear-gradient(180deg, #101d30 0%, #0b1422 52%, #070b12 100%);
  box-shadow: 18px 0 48px rgba(6, 12, 22, .20);
}
.belm-admin-sidebar::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  z-index: 4;
  height: 5px;
  background: linear-gradient(90deg,
    var(--belm-sidebar-blue) 0 27%,
    var(--belm-sidebar-green) 27% 55%,
    var(--belm-sidebar-yellow) 55% 81%,
    #111 81% 100%);
}
.belm-admin-sidebar::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  opacity: .22;
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.02) 1px, transparent 1px);
  background-size: 26px 26px;
  mask-image: linear-gradient(to bottom, #000, transparent 82%);
}

.belm-sidebar-brand {
  min-height: 92px;
  padding: 19px 16px 15px;
  gap: 12px;
  border-bottom: 1px solid rgba(255,255,255,.08);
  background: linear-gradient(180deg, rgba(255,255,255,.035), transparent);
}
.belm-sidebar-brand:hover { background-color: rgba(255,255,255,.025); }
.belm-sidebar-brand-mark {
  position: relative;
  display: grid;
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
  padding: 3px;
  place-items: center;
  border: 0;
  border-radius: 15px;
  background: conic-gradient(from 35deg,
    var(--belm-sidebar-blue) 0 25%,
    var(--belm-sidebar-green) 25% 50%,
    var(--belm-sidebar-yellow) 50% 75%,
    #171717 75% 100%);
  box-shadow: 0 10px 24px rgba(0,0,0,.26), 0 0 0 1px rgba(255,255,255,.10);
}
.belm-sidebar-brand-mark > span {
  display: grid;
  width: 100%;
  height: 100%;
  place-items: center;
  color: #fff;
  border-radius: 12px;
  background: linear-gradient(145deg, #14243b, #080f19);
  font: 900 19px "Space Grotesk", Inter, system-ui, sans-serif;
  letter-spacing: -.04em;
}
.belm-sidebar-brand-copy { min-width: 0; flex: 1; }
.belm-sidebar-brand strong {
  color: #fff;
  font: 800 13px "Space Grotesk", Inter, system-ui, sans-serif;
  letter-spacing: .025em;
}
.belm-sidebar-brand small {
  margin-top: 4px;
  color: #98aac1;
  font-size: 9.5px;
}
.belm-sidebar-brand-palette {
  display: grid !important;
  grid-template-columns: 1.15fr 1.15fr 1fr .8fr;
  width: 86px;
  height: 3px;
  margin-top: 8px;
  overflow: hidden;
  border-radius: 999px;
}
.belm-sidebar-brand-palette i:nth-child(1) { background: var(--belm-sidebar-blue); }
.belm-sidebar-brand-palette i:nth-child(2) { background: var(--belm-sidebar-green); }
.belm-sidebar-brand-palette i:nth-child(3) { background: var(--belm-sidebar-yellow); }
.belm-sidebar-brand-palette i:nth-child(4) { background: #020305; }

.belm-sidebar-user {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  margin: 12px 12px 4px;
  padding: 10px 11px;
  border-color: rgba(255,255,255,.09);
  border-radius: 13px;
  background: rgba(255,255,255,.045);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.025);
}

/* V279 - sidebar search */
.belm-sidebar-search {
  position: relative;
  display: flex;
  align-items: center;
  margin: 14px 12px 6px;
}
.belm-sidebar-search-icon {
  position: absolute;
  left: 12px;
  color: #7d8ba3;
  font-size: 13px;
  pointer-events: none;
}
.belm-sidebar-search input {
  width: 100%;
  padding: 9px 32px 9px 32px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 10px;
  background: rgba(255,255,255,.05);
  color: #e9f1fb;
  font: inherit;
  font-size: 12.5px;
}
.belm-sidebar-search input::placeholder { color: #7d8ba3; }
.belm-sidebar-search input:focus {
  outline: none;
  border-color: #ffd400;
  background: rgba(255,255,255,.08);
}
.belm-sidebar-search-clear {
  position: absolute;
  right: 8px;
  width: 22px;
  height: 22px;
  border: 0;
  border-radius: 6px;
  background: rgba(255,255,255,.08);
  color: #cdd8ea;
  font-size: 14px;
  line-height: 1;
  cursor: pointer;
}
.belm-sidebar-search-clear:hover { background: rgba(255,255,255,.16); }
.belm-sidebar-search-clear.hidden { display: none; }
.belm-sidebar-group.belm-sidebar-search-hidden { display: none; }
.belm-sidebar-link.belm-sidebar-search-hidden { display: none; }
.belm-sidebar-user-avatar {
  position: relative;
  display: grid !important;
  width: 38px;
  height: 38px;
  place-items: center;
  color: #fff !important;
  border: 1px solid rgba(23,105,194,.60);
  border-radius: 11px;
  background: linear-gradient(145deg, rgba(23,105,194,.48), rgba(0,166,81,.26));
  font-size: 11px !important;
  font-weight: 900;
  letter-spacing: .04em;
}
.belm-sidebar-user-avatar::after {
  content: "";
  position: absolute;
  right: -2px;
  bottom: -2px;
  width: 8px;
  height: 8px;
  border: 2px solid #0b1422;
  border-radius: 50%;
  background: var(--belm-sidebar-green);
}
.belm-sidebar-user-copy { min-width: 0; }
.belm-sidebar-user-copy strong { font-size: 11.5px; }
.belm-sidebar-user-copy > span { margin-top: 3px; color: #8fa1b8; font-size: 9px; }

.belm-sidebar-nav { padding: 7px 9px 18px; }
.belm-sidebar-nav::-webkit-scrollbar { width: 5px; }
.belm-sidebar-nav::-webkit-scrollbar-thumb { border-radius: 999px; background: rgba(255,255,255,.12); }
.belm-sidebar-section {
  display: flex;
  align-items: center;
  gap: 7px;
  margin: 13px 10px 6px;
  color: #71839a;
  font-size: 8.5px;
  letter-spacing: .14em;
}
.belm-sidebar-section::before {
  content: "";
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--belm-sidebar-blue);
  box-shadow: 8px 0 0 var(--belm-sidebar-green), 16px 0 0 var(--belm-sidebar-yellow);
  margin-right: 17px;
}
.belm-sidebar-link {
  min-height: 43px;
  margin: 2px 0;
  padding: 7px 10px;
  gap: 10px;
  color: #aebcd0;
  border-radius: 11px;
  font-size: 13.5px;
  font-weight: 760;
}
.belm-sidebar-link:hover {
  color: #fff;
  border-color: rgba(255,255,255,.07);
  background: linear-gradient(90deg, rgba(23,105,194,.13), rgba(255,255,255,.045));
  transform: translateX(2px);
}
.belm-sidebar-link.active {
  color: #fff;
  border-color: rgba(255,212,0,.22);
  background:
    linear-gradient(90deg, rgba(23,105,194,.24), rgba(0,166,81,.10) 68%, rgba(255,212,0,.045));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035), 0 7px 16px rgba(0,0,0,.12);
}
.belm-sidebar-link.active::before {
  inset: 7px auto 7px -9px;
  width: 4px;
  background: linear-gradient(180deg, var(--belm-sidebar-yellow), var(--belm-sidebar-green));
  box-shadow: 0 0 12px rgba(255,212,0,.25);
}
.belm-sidebar-icon {
  width: 30px;
  height: 30px;
  flex-basis: 30px;
  color: #8fc0ff;
  border: 1px solid rgba(23,105,194,.24);
  border-radius: 9px;
  background: rgba(23,105,194,.10);
  font-size: 8px;
  letter-spacing: .03em;
}
.belm-sidebar-link[data-section="Customers & maintenance"] .belm-sidebar-icon {
  color: #8ee1b4;
  border-color: rgba(0,166,81,.25);
  background: rgba(0,166,81,.10);
}
.belm-sidebar-link[data-section="Finance & administration"] .belm-sidebar-icon {
  color: #ffe675;
  border-color: rgba(255,212,0,.24);
  background: rgba(255,212,0,.08);
}
.belm-sidebar-link.active .belm-sidebar-icon {
  color: #0c1728;
  border-color: rgba(255,255,255,.22);
  background: var(--belm-sidebar-yellow);
  box-shadow: 0 5px 14px rgba(255,212,0,.17);
}
.belm-sidebar-link.workflow:not(.active)::after {
  content: "";
  flex: 0 0 5px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--belm-sidebar-green);
  box-shadow: 0 0 0 3px rgba(0,166,81,.08);
}

.belm-sidebar-footer {
  padding: 10px 11px 12px;
  background: rgba(0,0,0,.12);
}
.belm-sidebar-theme-toggle,
.belm-sidebar-logout {
  min-height: 38px;
  border-radius: 10px;
  font-size: 10px;
}
.belm-sidebar-theme-toggle {
  color: #bdd7f8;
  border-color: rgba(23,105,194,.24);
  background: rgba(23,105,194,.07);
}
.belm-sidebar-theme-toggle:hover {
  color: #fff;
  border-color: rgba(23,105,194,.60);
  background: rgba(23,105,194,.16);
}
.belm-sidebar-logout { color: #d8e2ef; }
.belm-sidebar-logout:hover {
  color: #101722;
  border-color: var(--belm-sidebar-yellow);
  background: var(--belm-sidebar-yellow);
}

.belm-sidebar-toggle {
  border-color: rgba(255,212,0,.9);
  background: linear-gradient(145deg, #13243b, #080f19);
  box-shadow: 0 10px 26px rgba(5,10,20,.25);
}

/* ========================================================================
   V210 UX CLEANUP - collapsible task-oriented navigation groups
   ======================================================================== */
.belm-sidebar-group { flex:0 0 auto; margin:2px 0 4px; }
.belm-sidebar-group > summary { list-style:none; cursor:pointer; user-select:none; }
.belm-sidebar-group > summary::-webkit-details-marker { display:none; }
.belm-sidebar-group .belm-sidebar-section {
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  margin:8px 6px 4px; padding:7px 8px; border-radius:8px;
  color:#8fa0b5; transition:.15s ease;
}
.belm-sidebar-group .belm-sidebar-section:hover { color:#d8e4f2; background:rgba(255,255,255,.045); }
.belm-sidebar-section-chevron { color:var(--belm-sidebar-yellow); font-size:13px; transition:transform .18s ease; }
.belm-sidebar-group[open] .belm-sidebar-section-chevron { transform:rotate(180deg); }
.belm-sidebar-group-links { display:grid; gap:1px; padding-bottom:3px; }
.belm-sidebar-group:not([open]) .belm-sidebar-group-links { display:none; }
.belm-sidebar-link.workflow { font-weight:850; }
.belm-sidebar-link.workflow .belm-sidebar-icon { background:rgba(0,169,88,.16); }
.belm-sidebar-group:has(.belm-sidebar-link.active) > .belm-sidebar-section { color:#fff; }

/* ========================================================================
   V357 - FLAT A-Z SIDEBAR + VISIBLE REFRESH MOTION
   ======================================================================== */
.belm-sidebar-nav-flat {
  gap: 1px;
  padding-top: 9px;
}
.belm-sidebar-nav-flat > .belm-sidebar-link {
  margin: 2px 0;
}

@keyframes belmRefreshControlWiggle {
  0%   { transform: translateX(0) scale(1); }
  25%  { transform: translateX(-2px) scale(1.015); }
  50%  { transform: translateX(0) scale(1.025); }
  75%  { transform: translateX(2px) scale(1.015); }
  100% { transform: translateX(0) scale(1); }
}
@keyframes belmRefreshGlyphSpin {
  to { transform: rotate(360deg); }
}
.belm-refresh-working {
  position: relative;
  animation: belmRefreshControlWiggle .42s ease-in-out infinite !important;
  box-shadow: 0 0 0 3px rgba(23, 105, 194, .16), 0 8px 20px rgba(13, 33, 58, .14) !important;
}
.belm-refresh-working::before {
  display: inline-block;
  margin-right: .42em;
  content: "↻";
  font-weight: 900;
  animation: belmRefreshGlyphSpin .58s linear infinite;
}
@media (prefers-reduced-motion: reduce) {
  .belm-refresh-working { animation: none !important; }
  .belm-refresh-working::before { animation: none; }
}

/* V451: every sidebar label in ALL CAPITAL LETTERS - brand, user name/role,
   section links, footer (theme toggle / log out). The search box is
   excluded so what the person types/sees typed isn't forced uppercase. */
.belm-admin-sidebar { text-transform: uppercase; }
.belm-admin-sidebar input,
.belm-admin-sidebar input::placeholder {
  text-transform: none;
}

/* V458 - nested sidebar (TECHNICAL DEP / BELM WORKSHOP): the "Back to
   Main Menu" link gets a visible separator below it so it reads as a
   distinct escape-hatch, not just a third page in the same list. */
.belm-sidebar-back-link {
  margin-bottom: 10px;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(255, 255, 255, .14);
  opacity: .85;
}
.belm-sidebar-back-link:hover { opacity: 1; }

/* ========================================================================
   V488 - CONTENT-FIT SIDEBAR
   Desktop sidebar width follows the longest visible label, within safe
   bounds. Long labels wrap instead of being cut with an ellipsis. Mobile
   width is capped to the viewport so the close area remains reachable.
   ======================================================================== */
:root {
  --belm-sidebar-width: 271px;
}

.belm-sidebar-link {
  height: auto;
}

.belm-sidebar-link > span:nth-child(2) {
  overflow: visible;
  white-space: normal;
  text-overflow: clip;
  overflow-wrap: anywhere;
}

.belm-sidebar-brand-copy strong,
.belm-sidebar-brand-copy small,
.belm-sidebar-user-copy strong,
.belm-sidebar-user-copy > span,
.belm-sidebar-theme-toggle,
.belm-sidebar-logout {
  white-space: normal;
  overflow-wrap: anywhere;
}

@media (min-width: 981px) {
  .belm-admin-sidebar {
    min-width: 235px;
    max-width: 360px;
  }
}

@media (max-width: 980px) {
  .belm-admin-sidebar {
    width: min(var(--belm-sidebar-width), calc(100vw - 54px));
    min-width: min(235px, calc(100vw - 54px));
    max-width: calc(100vw - 54px);
  }
}


/* V708 - Registration actions live in the sidebar, not across the page header. */
.belm-sidebar-registration-submenu {
  position: relative;
  display: grid;
  gap: 2px;
  margin: 2px 0 8px 18px;
  padding: 7px 0 7px 10px;
  border-left: 2px solid rgba(245, 197, 24, .48);
}
.belm-sidebar-registration-title {
  margin: 1px 10px 4px;
  color: #71849a;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .12em;
}
.belm-sidebar-registration-action {
  width: 100%;
  min-height: 36px;
  margin: 1px 0;
  padding: 7px 9px;
  border: 0;
  background: transparent;
  font-family: inherit;
  font-size: 11.5px;
  text-align: left;
  cursor: pointer;
}
.belm-sidebar-registration-action:hover {
  background: rgba(255, 255, 255, .065);
}
.belm-sidebar-registration-action .belm-sidebar-registration-icon {
  flex-basis: 25px;
  width: 25px;
  height: 25px;
  color: #f5c518;
  background: rgba(245, 197, 24, .08);
  font-size: 7.5px;
}
.belm-sidebar-registration-refresh {
  margin-top: 5px;
  border-top: 1px solid rgba(255, 255, 255, .08);
  border-radius: 0 0 9px 9px;
}
@media (max-width: 980px) {
  .belm-sidebar-registration-submenu { margin-left: 14px; }
}


/* V709 — Contextual module sidebar. WM ROLE MENU is the only parent menu. */
.belm-sidebar-module-head{
  display:grid;gap:3px;margin:5px 12px 7px;padding:10px 11px 11px;
  border:1px solid rgba(245,197,24,.20);border-radius:12px;
  background:linear-gradient(135deg,rgba(245,197,24,.08),rgba(17,119,222,.06));
}
.belm-sidebar-module-head .belm-sidebar-back-main{
  display:inline-flex;align-items:center;width:max-content;max-width:100%;margin-bottom:5px;
  color:#f5c518;text-decoration:none;font-size:9px;font-weight:900;letter-spacing:.06em;
}
.belm-sidebar-module-head small{color:#6f859c;font-size:8px;font-weight:900;letter-spacing:.12em;}
.belm-sidebar-module-head strong{color:#fff;font-size:14px;line-height:1.25;}
.belm-sidebar-action{width:100%;font:inherit;text-align:left;cursor:pointer;background:transparent;}
.belm-sidebar-action:disabled{opacity:.45;cursor:not-allowed;}
body.belm-module-finance .billing-section-sidebar{display:none!important;}
body.belm-module-finance .billing-workspace{grid-template-columns:minmax(0,1fr)!important;}
/* V708 nested registration submenu is retired; V709 uses the whole sidebar as Registration Menu. */
.belm-sidebar-registration-submenu{display:none!important;}

/* V710 — function-page bridge palette follows the supplied dashboard palette. */
:root{--belm-sidebar-navy:#04101f;--belm-sidebar-navy-soft:#071c33;--belm-sidebar-yellow:#f5c518;--belm-sidebar-blue:#2f86d6;--belm-sidebar-green:#21b06b;}
