/* Typographic features (with a safe fallback) */
body {
  font-variant-ligatures: contextual common-ligatures;
  font-feature-settings: "ss01" 1, "liga" 1; /* keep if your font supports these */
}

/* Disable ligatures in code for clarity */
code, pre, kbd, samp {
  font-variant-ligatures: none;
  font-feature-settings: "liga" 0;
}

/* Brand & logo */
.navbar-brand { font-weight: 600; letter-spacing: .2px; }
.navbar-brand picture { display: inline-flex; align-items: center; }
.navbar-brand img { height: 28px; width: auto; display: block; }

/* Tables (Bootstrap 5 specificity) */
.table>:not(caption)>*>* { vertical-align: middle; }
/* or: .table td, .table th { vertical-align: middle !important; } */

/* Keep the toggle button compact next to password inputs */
.input-group > .btn { min-width: 64px; white-space: nowrap; }

/* Details disclosure */
details summary { cursor: pointer; }
details[open] summary { opacity: .8; }

/* Code sizing in table cells */
.table code { font-size: .85em; }

/* Sidebar look */
/* Ensure sidebar fills the viewport and logout stays bottom */
#sidebar { display:flex; flex-direction:column; min-height:100vh; }

#sidebar .brand-text{
  color:#fff; font-weight:700; letter-spacing:.4px;
}
#sidebar .nav-link{ color:#cbd5e1; border-radius:.5rem; }
#sidebar .nav-link:hover{ color:#fff; background:rgba(255,255,255,.08); }
#sidebar .nav-link.active{ color:#fff; background:#495057; }
#sidebar .nav-link .bi{ width:1.2rem; text-align:center; }
#sidebar .navbar-brand img{ height:32px; width:auto; display:block; }

/* Keep table cells vertically centered */
.table>:not(caption)>*>*{ vertical-align: middle; }

