/* Navbar */
.navbar {
   background-color: #0a0a0a !important; 
}

/* Smaller burger button */
.navbar-toggler {
  padding: 0.25rem 0.5rem;
  font-size: 1rem;
}

/* Remove white border from dark theme toggler */
.navbar-toggler[data-bs-theme="dark"],
.navbar-toggler[data-bs-theme="dark"] .navbar-toggler-icon {
  border: none !important;
  box-shadow: none !important;
}

.nav-link:hover {
  color: #8dc63f !important;
}

.nav-link {
  color: var(--bs-body-color) !important; 
}

html, body {
  overflow-x: hidden;
}

/* General buttons */
.btn-square {
    width: 40px;
    height: 40px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 0.25rem; 
    font-size: 1.2rem;      
}

/* Card styling for dashboard/site/route pages */
.simple-card {
    border: 1px solid var(--bs-border-color);
    border-radius: 0.5rem;
    padding: 1rem;
    text-align: center;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    display: flex;           
    flex-direction: column;  
    justify-content: center; 
    align-items: center;     
    height: 100px;           
}

.simple-card .title {
  font-size: 1.25rem;
  font-weight: 500;
  margin: 0.25rem 0;
}

.simple-card .muted {
  color: #6c757d; 
  font-size: 1rem;
}

/* Base content area (mobile-first) */
.content-area {
  padding-top: 100px; /* height of navbar */
  width: 100%;
  margin-left: 0;      
  margin-right: 0;
  max-width: 100%;     /* ensure no residual max-width */
}

/* Desktop: sidebar exists */
@media (min-width: 992px) {
  .content-area {
    /* Margin left = sidebar left offset + sidebar width */
    margin-left: calc(max(0px, 50% - 800px) + 210px);
    margin-right: 20px;
    width: auto;          /* fill remaining space */
    max-width: 1400px;    /* optional container cap */
  }
}

/* For pages that have a datatable */
.has-datatable {
    padding-bottom: 50px; /* space for footer + extra buffer */
}

/* Footer */
.footer {
   background-color: #0a0a0a !important; 
}
