body {
  font-size: .875rem;
  background-color: #f8f9fa;
}

.navbar {
  background-color: #343a40 !important;
  color: white;
}

.navbar .nav-link {
  color: white !important;
}

.sidebar {
  position: fixed;
  top: 56px;
  bottom: 0;
  left: 0;
  z-index: 100;
  padding: 0;
  box-shadow: inset -1px 0 0 rgba(0, 0, 0, .1);
}

.sidebar-sticky {
  position: relative;
  top: 0;
  height: calc(100vh - 56px);
  overflow-x: hidden;
  overflow-y: auto;
}

.sidebar .nav-link {
  font-weight: 500;
  color: #333;
  padding: 10px;
  transition: background-color 0.3s, color 0.3s;
}

.sidebar .nav-link:hover {
  color: #007bff;
  background-color: #e9ecef;
}

.sidebar .nav-link.active {
  color: #007bff;
  background-color: #e9ecef;
}

.sidebar .user-email {
  font-size: 1rem;
  color: white;
  text-align: right;
  padding-right: 20px;
}

.main {
  margin-left: 240px;
  padding: 20px;
}

.card {
  margin-top: 20px;
}

.table thead th {
  vertical-align: middle;
  text-align: center;
}

.table tbody td {
  vertical-align: middle;
  text-align: center;
}

.display-4 {
  font-size: 2.5rem;
  font-weight: 300;
  line-height: 1.2;
  text-align: center;
}

.btn-lg {
  padding: 10px 20px;
  font-size: 1.25rem;
  border-radius: 4px;
}

.form-control-lg {
  padding: 10px;
  font-size: 1.25rem;
  border-radius: 4px;
}

.nav-link.active {
  color: #007bff;
  background-color: #e9ecef;
  font-weight: bold;
}

.btn-outline-primary {
  margin-right: 10px;
}

.btn-outline-secondary {
  margin-left: 10px;
}

.edit-form-container {
  position: fixed;
  right: -100%;
  top: 0; /* Set top to 0 */
  height: 100%; /* Full height */
  width: 400px; /* Adjusted width for better appearance */
  background: white;
  box-shadow: -2px 0 5px rgba(0,0,0,0.3); /* Slightly lighter shadow for a softer look */
  z-index: 1000;
  transition: right 0.3s ease;
  padding: 20px;
  overflow-y: auto;
  border-left: 1px solid #ddd; /* Light border for a clean separation */
  padding-top: 80px; /* Add padding to avoid overlap with header */
}

.edit-form-container.open {
  right: 0;
}

.edit-form h2 {
  margin-top: 0; /* Remove default margin-top */
  margin-bottom: 20px;
  font-size: 1.5rem; /* Slightly larger font size for the header */
  color: #333; /* Darker color for better readability */
}

.edit-form .form-group {
  margin-bottom: 15px;
}

.edit-form .form-group label {
  display: block;
  margin-bottom: 5px;
  font-weight: 600; /* Bold labels for better visibility */
}

.edit-form .form-group input {
  width: 100%;
  padding: 10px; /* Added padding for better user experience */
  border: 1px solid #ccc; /* Border to match the overall design */
  border-radius: 4px; /* Rounded corners for a modern look */
  box-sizing: border-box; /* Ensure padding is included in width and height */
}

.edit-form .form-group input[readonly] {
  background-color: #f9f9f9; /* Slightly different background for read-only fields */
}

.edit-form button {
  width: 100%; /* Full width buttons for consistency */
  padding: 10px; /* Padding for better user experience */
  margin-top: 10px; /* Space between buttons */
}

.edit-form .btn-primary {
  background-color: #007bff;
  border-color: #007bff;
}

.edit-form .btn-secondary {
  background-color: #6c757d;
  border-color: #6c757d;
}

.pagination-container {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px; /* Add spacing between elements */
  flex-wrap: nowrap; /* Ensure elements do not wrap */
  padding-bottom: 20px; /* Add padding to the bottom to provide space */
}

.pagination-container {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px; /* Add spacing between elements */
  flex-wrap: nowrap; /* Ensure elements do not wrap */
  padding-bottom: 20px; /* Add padding to the bottom to provide space */
}

.pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 0;
}

.page-link {
  margin: 0 5px;
  border: 1px solid transparent; /* Ensure border does not affect layout */
  padding: 0.375rem 0.75rem;
  color: #007bff;
  background-color: white;
  transition: background-color 0.3s, color 0.3s;
  display: inline-block;
  border-radius: 0.25rem; /* Optional: to add rounded corners */
}

.page-link:hover {
  background-color: #007bff;
  color: #ffffff;
}

.page-item.active .page-link {
  background-color: #007bff;
  color: white;
  border-color: #007bff;
}

#records-per-page {
  width: auto;
  margin-left: 10px;
  height: 38px;  /* Match the height of the pagination buttons */
  padding: 0.375rem 0.75rem; /* Match the padding of the pagination buttons */
  font-size: 0.875rem;  /* Match the font size of the pagination buttons */
  line-height: 1.5; /* Match the line height of the pagination buttons */
  border-radius: 0.25rem; /* Match the border-radius of the pagination buttons */
  border: 1px solid #ced4da; /* Match the border color of the pagination buttons */
}

@media (max-width: 576px) {
  .pagination-container {
      flex-direction: column; /* Stack items vertically on small screens */
      align-items: center; /* Center items */
  }

  #records-per-page {
      margin-top: 10px; /* Add spacing on top for small screens */
      margin-left: 0; /* Reset left margin */
  }
}

/* Add margin to the main title */
main h1.h2 {
  margin-top: 20px; /* Adjust the value to your liking */
}

/* Style for delete button */
.btn-link.delete-record {
  color: red;
}

.btn-link.delete-record:hover {
  color: darkred;
}

