html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
  position: relative;
  min-height: 100%;
}

body {
  margin-bottom: 60px;
}

/* Mobile sidebar slide-in */
@media (max-width: 767px) {
  #layoutSidebar {
    transition: transform 0.3s ease-in-out;
    box-shadow: 4px 0 24px rgba(0, 0, 0, 0.3);
  }
  #layoutSidebar.hidden {
    display: flex !important;
    transform: translateX(-100%);
    pointer-events: none;
  }
  #layoutSidebar.translate-x-0 {
    display: flex !important;
    transform: translateX(0);
    pointer-events: auto;
  }
}