/* LeadPilot additions on top of Tabler. Keep small. */
.kanban-col { min-height: 60vh; }
.kanban-card { cursor: grab; }
.score-pill { min-width: 2.2rem; text-align: center; }
.empty-state { padding: 3rem 1rem; text-align: center; color: var(--tblr-secondary); }
.table-lead td { vertical-align: middle; }
.text-truncate-2 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

/* theme toggle: moon in light mode, sun in dark mode */
[data-bs-theme="dark"] .theme-icon-light, [data-bs-theme="light"] .theme-icon-dark { display: none; }
/* kanban columns and brand text must follow the theme */
.kanban-col { background: transparent; }
[data-bs-theme="light"] .navbar-vertical .navbar-brand { color: var(--tblr-body-color); }

/* product name in the sidebar: heaviest weight, sized to sit next to the logo */
.brand-name { font-weight: 900; font-size: 1.02rem; line-height: 1.15; letter-spacing: -0.1px; }

/* sidebar menu: sturdier text so items do not look thin */
.navbar-vertical .nav-link { font-weight: 600; font-size: 0.95rem; }
.navbar-vertical .nav-link .nav-link-icon { opacity: 1; }
.navbar-vertical .nav-item.active > .nav-link { font-weight: 700; }
.navbar-vertical .nav-link.disabled { font-weight: 800; letter-spacing: 0.06em; opacity: 0.85; }
.navbar-vertical .badge { font-weight: 700; }
.navbar-vertical .navbar-footer { font-weight: 600; }

/* sidebar: roomy like the first version on normal screens; it only tightens on short screens so it never needs a scrollbar */
.navbar-vertical .navbar-collapse { overflow-y: auto; scrollbar-width: none; }
.navbar-vertical .navbar-collapse::-webkit-scrollbar { display: none; }
@media (max-height: 945px) and (min-width: 992px) {  /* slightly tighter than the roomy default, still airy */
  .navbar-vertical .navbar-nav .nav-link { min-height: 0 !important; padding-top: .5rem !important; padding-bottom: .5rem !important; }
  .navbar-vertical .navbar-brand { padding-top: .6rem !important; padding-bottom: .6rem !important; }
}
@media (max-height: 840px) and (min-width: 992px) {
  .navbar-vertical .navbar-nav .nav-link { min-height: 0 !important; padding: .27rem .75rem !important; font-size: .9rem; line-height: 1.25; }
  .navbar-vertical .navbar-nav .nav-link-icon .ti { font-size: 1.15rem !important; }
  .navbar-vertical .navbar-brand { padding-top: .25rem !important; padding-bottom: .25rem !important; min-height: 0; }
  .navbar-vertical .navbar-brand img { width: 30px; height: 30px; }
  .navbar-vertical .navbar-nav .nav-item.mt-3 { margin-top: .2rem !important; }
  .navbar-vertical .navbar-nav .nav-link.disabled { min-height: 0 !important; padding: .1rem .75rem 0 !important; font-size: .64rem; line-height: 1; }
  .navbar-vertical .navbar-collapse > .px-3 { padding-bottom: .3rem !important; }
  .navbar-vertical .navbar-collapse > .px-3 .btn { padding-top: .25rem; padding-bottom: .25rem; font-size: .85rem; }
  .navbar-vertical .navbar-footer { padding: .4rem .8rem !important; }
  .navbar-vertical .navbar-footer > a { margin-bottom: .3rem !important; font-size: .75rem; }
  .navbar-vertical .navbar-footer .avatar { width: 1.6rem; height: 1.6rem; font-size: .7rem; }
}
@media (max-height: 640px) and (min-width: 992px) {
  .navbar-vertical .navbar-nav .nav-link { min-height: 0 !important; padding: .15rem .75rem !important; }
  .navbar-vertical .navbar-collapse > .px-3 { display: none; }  /* "New hunt plan" is also on every page header */
  .navbar-vertical .navbar-nav .nav-link.disabled { display: none; }
  .navbar-vertical .navbar-nav .nav-item.mt-3 { margin-top: .1rem !important; border-top: 1px solid var(--tblr-border-color); padding-top: .1rem; }
}
