/* public/assets/css/vertbooks-theme.css
   Vertbooks brand colours layered over the Preadmin theme. Loaded after style.css.
   The only place the brand palette lives; the SCSS sources stay untouched. */
:root,
:root[data-color] {
  --primary: #009444;
  --primary-hover: #00753a;
  --primary-rgb: 0, 148, 68;
  --primary-200: #d9efe2;
  --primary-300: #bfe4cf;
  --primary-500: #8fd0aa;
  --primary-600: #66bf8e;
  --primary-700: #33a969;
  --primary-transparent: #eef7f1;
  --primary-gradient-100: linear-gradient(90deg, #d9efe2 0%, rgba(134, 132, 153, 0) 100%);
  --vb-accent: #8dc63f;
  --vb-teal: #00a79d;
  --vb-gradient: linear-gradient(135deg, #8dc63f 0%, #009444 55%, #00a79d 100%);
  --info: #00a79d;
  --info-hover: #00857d;
  --info-transparent: #e6f6f5;
}

:root[data-bs-theme=dark] {
  --primary-transparent: #0b2a17;
  --primary-gradient-100: linear-gradient(90deg, #0b2a17 0%, rgba(134, 132, 153, 0) 100%);
  --info-transparent: #0a2624;
}

.bg-primary-gradient,
.btn.bg-primary-gradient,
.vb-gradient { background: var(--vb-gradient) !important; color: #fff; }
.text-vb-accent { color: var(--vb-accent) !important; }
.auth-bg { background: var(--vb-gradient); }
.auth-bg .card { border-radius: 1rem; }
.vb-code-input { letter-spacing: .35em; font-variant-numeric: tabular-nums; font-size: 1.5rem; text-align: center; }

/* Sidebar logo: the wordmark is very wide (925x192); give it the full column now
   that the collapse button lives in the narrow left strip. */
.sidebar .sidebar-logo .logo img,
.sidebar .sidebar-logo .dark-logo img,
.sidebars .sidebar-logo .logo img,
.sidebars .sidebar-logo .dark-logo img { max-width: 168px; height: auto; display: block; }
.sidebar .sidebar-logo .logo-small img,
.sidebar .sidebar-logo .dark-small img { width: 28px; height: auto; display: block; margin: 0 auto; }

/* Narrow left strip: "+" on top, then the menu collapse button beneath it,
   same size and shape as the "+" (btn-icon btn-sm rounded-circle). */
.two-col-sidebar .twocol-mini .vb-mini-top { display: flex; flex-direction: column; align-items: center; width: 100%; }
.two-col-sidebar .twocol-mini .vb-mini-top .dropdown { margin-bottom: 12px; }
.vb-sidebar-toggle,
.vb-sidebar-toggle:hover,
.vb-sidebar-toggle:focus,
.vb-sidebar-toggle:active {
  color: var(--primary); background: var(--primary-transparent); border: 1px solid transparent; box-shadow: none;
}
.vb-sidebar-toggle i { font-size: 18px; line-height: 1; display: inline-block; }

/* Collapsed mode is ONE 72px column (the theme hides the strip). The bird gives
   way to a rail button that expands the menu again. */
.vb-rail-toggle { display: none; }
@media (min-width: 992px) {
  .mini-sidebar .sidebar .sidebar-logo .logo-small,
  .mini-sidebar .sidebar .sidebar-logo .dark-small { display: none !important; }
  .mini-sidebar .sidebar .sidebar-logo .vb-rail-toggle {
    display: flex; align-items: center; justify-content: center;
    width: 32px; height: 32px; margin: 0 auto; border-radius: 50%;
    color: var(--primary); background: var(--primary-transparent); font-size: 18px; line-height: 1;
  }
  .expand-menu.mini-sidebar .sidebar .sidebar-logo .vb-rail-toggle { display: none; }
}

/* Initials avatar used when a user has no uploaded picture. */
.vb-initials {
  display: inline-flex; align-items: center; justify-content: center;
  width: 100%; height: 100%; min-width: 32px; min-height: 32px;
  background: var(--vb-gradient); color: #fff; font-weight: 600; font-size: 13px; letter-spacing: .02em;
}
.avatar-lg .vb-initials { font-size: 16px; }
.avatar-xl .vb-initials { font-size: 22px; }

/* Branch selector stays on one line. */
.vb-branch-btn { white-space: nowrap; }

/* Header right-hand controls: even spacing, and the branch button sizes to
   its label instead of the theme's fixed icon width. */
.header .header-user .user-menu .d-flex.align-items-center > * + * { margin-inline-start: 12px; }
.header .header-user .user-menu .flag-nav.me-2,
.header .header-user .user-menu .theme-item.me-2,
.header .header-user .user-menu .nav-item.dropdown.me-2 { margin-inline-end: 0 !important; }
.header .header-user .user-menu .btn-menubar {
  width: auto; min-width: 36px; height: 36px; padding: 0 10px;
  display: inline-flex; align-items: center; justify-content: center; gap: 6px;
}
.header .header-user .user-menu .flag-nav .btn-menubar img { width: 20px; height: 20px; object-fit: cover; border-radius: 50%; }

/* Clickable rows: the whole line is the target, not just the trailing menu. */
tr.vb-row-link { cursor: pointer; }
tr.vb-row-link:hover > td { background-color: var(--vb-row-hover, rgba(0, 148, 68, .05)); }
tr.vb-row-link:focus-visible { outline: 2px solid var(--primary); outline-offset: -2px; }
/* The actions cell keeps the normal cursor so its buttons read as buttons. */
tr.vb-row-link .vb-row-actions { cursor: default; }
