/* ===== VMS compact enterprise theme (Tabler) ===== */
html { font-size: 14.5px; }
body { font-family: inherit; }

/* ---------- Brand ---------- */
.brand-badge { display:inline-flex; align-items:center; justify-content:center; min-width:2.4rem; height:2.4rem;
  background:linear-gradient(135deg,#206bc4,#4299e1); color:#fff; border-radius:.5rem; font-weight:700; letter-spacing:.02em; }
.brand-sub { display:block; font-size:.62rem; font-weight:500; opacity:.75; line-height:1.1; margin-top:.15rem; }
.navbar-brand { display:flex; align-items:center; gap:.5rem; }

/* ---------- Sidebar ---------- */
#sidebar { width:15.5rem; transition:width .18s ease; z-index:1030; }
#sidebar .nav-label { font-size:.62rem; text-transform:uppercase; letter-spacing:.08em; color:var(--tblr-secondary);
  padding:.5rem 1rem .1rem; font-weight:700; opacity:.8; }
#sidebar .nav-link { padding:.42rem .75rem; border-radius:.4rem; margin:.05rem .5rem; font-size:.83rem; }
#sidebar .nav-link:hover { background:var(--tblr-bg-surface-secondary); }
#sidebar .nav-item.active > .nav-link { background:var(--tblr-primary); color:#fff; }
#sidebar .nav-item.active > .nav-link .nav-link-icon { color:#fff; }
#sidebar .nav-link-icon { width:1.4rem; }
.sidebar-item-disabled .nav-link { opacity:.55; }
#sidebar.collapsed { width:4.6rem; }
#sidebar.collapsed .nav-link-title, #sidebar.collapsed .nav-label, #sidebar.collapsed .brand-sub, #sidebar.collapsed .badge { display:none; }
#sidebar.collapsed .navbar-brand { justify-content:center; }
#sidebar.collapsed .nav-link { justify-content:center; margin:.15rem auto; }
@media (max-width: 991.98px) {
  #sidebar { position:fixed; top:0; bottom:0; left:0; transform:translateX(-100%); transition:transform .2s ease; }
  #sidebar.mobile-open { transform:translateX(0); box-shadow:0 0 3rem rgba(0,0,0,.2); }
  .sidebar-overlay { position:fixed; inset:0; background:rgba(0,0,0,.4); z-index:1025; opacity:0; pointer-events:none; transition:opacity .2s; }
  .sidebar-overlay.show { opacity:1; pointer-events:auto; }
}

/* ---------- Header ---------- */
header.navbar { min-height:3.4rem; border-bottom:1px solid var(--tblr-border-color); }
.header-search { width:13rem; }
#sidebar-toggle i, #sidebar-collapse i { font-size:1.25rem; }

/* ---------- Cards / tables / forms: narrow density ---------- */
.card { border-radius:.6rem; }
.card-header { padding:.55rem 1rem; }
.card-title { font-size:.9rem; }
.table { font-size:.8rem; margin-bottom:0; }
.table th { font-size:.65rem; letter-spacing:.05em; padding:.4rem .5rem; }
.table td { padding:.4rem .5rem; }
.form-label { font-size:.72rem; font-weight:600; margin-bottom:.15rem; }
.form-control, .form-select { font-size:.8rem; padding:.3rem .5rem; }
.form-control-sm, .form-select-sm { font-size:.75rem; padding:.22rem .4rem; }
.btn { font-size:.8rem; }
.btn-sm { font-size:.72rem; padding:.22rem .55rem; }
.btn-icon { width:1.7rem; height:1.7rem; }
.pagination { font-size:.75rem; }
.badge { font-size:.62rem; }
.dropdown-item { font-size:.8rem; padding:.35rem .75rem; }

/* ---------- Dashboard stat tiles ---------- */
.stat-tile { background:var(--tblr-bg-surface); border:1px solid var(--tblr-border-color); border-radius:.5rem;
  padding:.6rem .75rem; height:100%; }
.stat-tile .stat-label { font-size:.6rem; letter-spacing:.06em; margin-bottom:.1rem; }

/* ---------- Widget sorter ---------- */
.widget-sort-item { cursor:grab; }
.widget-sort-item.dragging { opacity:.4; }

/* ---------- Empty states ---------- */
.empty { padding:1rem 0; }
.empty-header { font-size:2rem; }

/* ---------- Dark-mode chart polish ---------- */
[data-bs-theme=dark] .stat-tile { background:var(--tblr-bg-surface); }
[data-bs-theme=dark] .card { --tblr-card-bg: var(--tblr-bg-surface); }
[data-bs-theme=dark] #sidebar .nav-link:hover { background:rgba(255,255,255,.06); }
[data-bs-theme=dark] .brand-badge { background:linear-gradient(135deg,#4299e1,#7048e8); }

/* ---------- Breadcrumbs ---------- */
.breadcrumb { font-size:.78rem; margin:0; }

/* ---------- Modal / forms on compact density ---------- */
.modal-header { padding:.7rem 1rem; }
.modal-body { padding:1rem; }
.modal-footer { padding:.5rem 1rem; }
