:root {
  --tblr-primary: #5546ed;
  --tblr-primary-rgb: 85, 70, 237;
  --app-sidebar-width: 248px;
}

body { background: #f6f7f9; letter-spacing: 0; }
.navbar-vertical { width: var(--app-sidebar-width); border-right: 1px solid #e4e7ec; background: #fff; }
.navbar-vertical .container-fluid { min-height: 100vh; align-items: stretch; }
.navbar-brand { height: 72px; padding: 0 12px; border-bottom: 1px solid #edf0f3; }
.navbar-brand a { display: flex; align-items: center; gap: 10px; color: #182433; text-decoration: none; font-size: 16px; font-weight: 700; }
.brand-mark { display: inline-grid; place-items: center; width: 34px; height: 34px; border-radius: 7px; color: #fff; background: #5546ed; font-size: 13px; font-weight: 800; }
.navbar-vertical .navbar-nav { gap: 4px; }
.navbar-vertical .nav-link { min-height: 42px; border-radius: 6px; color: #5d6675; }
.navbar-vertical .nav-link:hover { background: #f3f4f6; color: #182433; }
.navbar-vertical .nav-link.active { background: #efedff; color: #4938df; font-weight: 600; }
.nav-link-icon { font-size: 20px; }
.sidebar-footer { display: flex; align-items: center; justify-content: space-between; padding: 16px 4px; border-top: 1px solid #edf0f3; }
.page-wrapper { margin-left: var(--app-sidebar-width); }
.page-body { margin-top: 0; padding: 32px 0 48px; }
.page-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin: 0 0 24px; min-height: 48px; }
.page-header > div:first-child { margin-right: auto; text-align: left; }
.page-title { font-size: 24px; line-height: 1.25; }
.page-title-count { margin-left: 8px; font-weight: 500; }
.page-pretitle { margin-bottom: 4px; color: #8b93a1; }
.page-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.card { border-color: #dfe3e8; box-shadow: 0 1px 2px rgba(24, 36, 51, .04); }
.table > :not(caption) > * > * { padding: 12px 16px; }
.table thead th { color: #697386; font-size: 12px; font-weight: 600; text-transform: none; letter-spacing: 0; background: #f8f9fa; }
.table-title { color: #182433; font-weight: 600; text-decoration: none; }
.filter-card { margin-bottom: 16px; }
.filter-card .card-body { padding: 16px; }
.details-list dt { color: #697386; font-weight: 500; }
.details-list dd { margin-bottom: 10px; }
.compact-empty { height: auto; min-height: 132px; padding: 20px 0; }
.login-shell { display: grid; place-items: center; min-height: calc(100vh - 64px); }
.login-shell .card { width: min(420px, calc(100vw - 32px)); }
.login-brand { display: flex; align-items: center; gap: 12px; margin-bottom: 28px; }
.login-brand h1 { margin: 0; font-size: 20px; line-height: 1.3; }
.btn { gap: 7px; }
.btn-primary { --tblr-btn-bg: #5546ed; --tblr-btn-border-color: #5546ed; --tblr-btn-hover-bg: #493bd1; --tblr-btn-hover-border-color: #493bd1; }

@media (max-width: 991.98px) {
  .navbar-vertical { width: 100%; }
  .navbar-vertical .container-fluid { min-height: auto; }
  .navbar-brand { height: 60px; border: 0; }
  .sidebar-footer { margin-top: 12px !important; }
  .page-wrapper { margin-left: 0; }
  .page-body { padding-top: 20px; }
  .page-header { align-items: flex-start; flex-direction: column; gap: 12px; }
  .page-header > div:first-child { margin-right: 0; }
}
