/* --------------------------------------------
   THEME OVERRIDES
-------------------------------------------- */
body.theme-light {
  background: #fff;
  color: #000;
}
body.theme-light .navbar {
  background-color: #f8f9fa !important;
}
body.theme-light .navbar .nav-link,
body.theme-light .navbar .navbar-brand {
  color: #000 !important;
}

/* --------------------------------------------
   BURGER BUTTON (slim, transparent)
-------------------------------------------- */
.burger-btn {
  display: none;                  /* hidden in docked mode */
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;                      /* span full navbar height */
  width: auto;                    /* shrink to fit content */
  background: none !important;    /* transparent */
  border: none !important;
  border-radius: 0 !important;
  padding: 0 1rem;                /* click padding around icon */
  color: inherit;                 /* inherit navbar text color */
  z-index: 1100;
  cursor: pointer;
}
.burger-btn i {
  font-size: 1.25rem;
}

/* show & center icon only in flyout mode */
body.menu-flyout .burger-btn {
  display: flex;
  align-items: center;
  justify-content: center;
}

/* --------------------------------------------
   BURGER BUTTON – MATCH NAV-LINK COLORS
-------------------------------------------- */
/* Dark-mode default (same as .navbar-dark .nav-link) */
body.menu-flyout .burger-btn i {
  color: rgba(255, 255, 255, 0.5);
}
/* Dark-mode hover & focus */
body.menu-flyout .burger-btn:hover i,
body.menu-flyout .burger-btn:focus i {
  color: rgba(255, 255, 255, 0.75);
}
/* Dark-mode active/pressed */
body.menu-flyout .burger-btn:active i {
  color: #fff;
}

/* Light-mode overrides */
body.theme-light.menu-flyout .burger-btn i {
  color: rgba(0, 0, 0, 0.5) !important;
}
body.theme-light.menu-flyout .burger-btn:hover i,
body.theme-light.menu-flyout .burger-btn:focus i {
  color: rgba(0, 0, 0, 0.75) !important;
}
body.theme-light.menu-flyout .burger-btn:active i {
  color: #000 !important;
}

/* --------------------------------------------
   SHIFT NAV CONTENT OVER WHEN FLYOUT IS ACTIVE
-------------------------------------------- */
body.menu-flyout nav .container-fluid {
  padding-left: 3rem !important;  /* ≈48px, matches burger padding */
}

/* --------------------------------------------
   SIDEBAR (240px) & FLYOUT LOGIC
-------------------------------------------- */
.left-sidebar {
  background-color: #f8f9fa;
  border-right: 1px solid #ddd;
  padding-top: 1rem;
  position: fixed;
  top: 56px;
  bottom: 0;
  width: 240px;
  overflow-y: auto;
  z-index: 1000;
  transform: translateX(0);
  transition: transform 0.2s ease;
}

/* docked: always visible */
body.menu-docked .left-sidebar {
  transform: translateX(0);
}

/* flyout: hidden by default */
body.menu-flyout .left-sidebar {
  transform: translateX(-100%);
}

/* when you click the ☰ we toggle .open on #subNav */
.left-sidebar.open {
  transform: translateX(0) !important;
  box-shadow: 2px 0 8px rgba(0,0,0,0.15);
}

/* --------------------------------------------
   CONTENT WRAPPER
-------------------------------------------- */
#mainContent {
  padding: 1rem;
  transition: margin-left 0.2s ease;
}

/* when docked make room for the 240px sidebar */
body.menu-docked #mainContent {
  margin-left: 240px;
}

/* when flyout occupy full width */
body.menu-flyout #mainContent {
  margin-left: 0;
}

/* --------------------------------------------
   CARD & UTILITY
-------------------------------------------- */
.card {
  border-radius: 8px;
  margin-top: 1rem;
}
.card-body {
  padding: 1.5rem;
}
.mt-3 { margin-top: 1rem !important; }
.mt-4 { margin-top: 1.5rem !important; }

/* --------------------------------------------
   DROPDOWN-SUBMENU FIXES
-------------------------------------------- */
.dropdown-submenu-left {
  position: relative;
}
.dropdown-submenu-left .dropdown-menu {
  top: 0;
  left: auto;
  right: 100%;
  margin-top: 0;
  margin-right: -1px;
}
.navbar .dropdown-menu {
  margin-top: 0 !important;
  transform: none !important;
  top: auto !important;
  left: auto !important;
}

/* ── moved from base.html ─────────────────────────────────────────────────── */
/* Keep Bootstrap's sticky behavior for the navbar */
/* Removed overriding position to avoid top white bar offsets */

.dropdown-menu-right {
  /* was style="width:250px" on the user‐profile menu */
  width: 250px;
}

/* login.html styles */
html, body {
  height: 100%;
  margin: 0;
  padding: 0;
  background-color: #fff;
}
.login-page {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh;
}
.login-box {
  width: 300px;
  text-align: center;
}

/* make QR code max-250px without inline styles */
.qr-code {
  max-width: 250px;
}

/* Align top-right nav items */
.navbar .navbar-nav.ml-auto { align-items: center; }
.navbar .nav-link { display: flex; align-items: center; }
