.loader-wrapper {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.9); /* Light overlay */
  z-index: 1000;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  transition: opacity 0.3s ease-in-out;
  opacity: 1;
}

#loader {
  width: 4.8px;
  height: 4.8px;
  display: block;
  margin: 20px auto;
  position: relative;
  border-radius: 4px;
  color: #115109;
  background: currentColor;
  box-sizing: border-box;
  animation: animloader 0.3s 0.3s linear infinite alternate;
}
#loader::after,
#loader::before {
  content: "";
  box-sizing: border-box;
  width: 4.8px;
  height: 4.8px;
  border-radius: 4px;
  background: currentColor;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 15px;
  animation: animloader 0.3s 0.45s linear infinite alternate;
}
#loader::after {
  top: -15px;
  animation-delay: 0s;
}

@keyframes animloader {
  0% {
    width: 4.8px;
  }
  100% {
    width: 48px;
  }
}

.custom-bg-sidebar {
  background-color: #4e73df;
  background-image: linear-gradient(180deg, #4e73df 10%, #224abe 100%);
  background-size: cover;
}

.custom-bg-sidebar-header {
  background-color: #4e73df;
  background-size: cover;
}

/* Toast */
.colored-toast.swal2-icon-success {
  background-color: #a5dc86 !important;
}

.colored-toast.swal2-icon-error {
  background-color: #f27474 !important;
}

.colored-toast.swal2-icon-warning {
  background-color: #f8bb86 !important;
}

.colored-toast.swal2-icon-info {
  background-color: #0dcaf0 !important;
}

.colored-toast.swal2-icon-question {
  background-color: #87adbd !important;
}

.colored-toast .swal2-title {
  color: white;
}

.colored-toast .swal2-close {
  color: white;
}

.colored-toast .swal2-html-container {
  color: white;
}

/* Toast end */

.long-button {
  width: 800px; /* or a percentage like 80% */
  max-width: 100%; /* Ensures responsiveness */
  height: 35px;
  font-size: 14px;
  border-radius: 8px; /* Optional for rounded edges */
}

/* Datatable page entry text */
div .dt-length .dt-input {
  margin-right: 5px !important;
}

/* Navbar alingment */
/* Ensure Navigation Items Wrap */
.nav-item {
  display: block; /* Ensure items are treated as block elements */
  padding: 10px 15px;
}

.nav-item a {
  display: flex;
  align-items: center;
  width: 100%;
  text-decoration: none;
  overflow: hidden; /* Prevent horizontal scrolling */
}

.nav-item p {
  display: block; /* Ensure the title behaves like a block element */
  margin: 0;
  white-space: normal; /* Allow text to wrap */
  word-break: break-word; /* Break long words */
  overflow: visible; /* Allow content to expand */
  line-height: 1.2; /* Adjust spacing for readability */
  font-size: 14px;
}

/* Fix for Collapsible Items */
.collapse {
  margin-left: 15px; /* Optional slight indent for collapsed items */
}

.collapse.show p {
  white-space: normal; /* Ensure expanded items wrap */
}

/* Submenu Styles */
.submenu {
  padding-left: 20px; /* Indent submenu items */
}

.submenu p {
  font-size: 12px; /* Smaller font size for submenus */
  white-space: normal; /* Allow wrapping in submenus */
  word-break: break-word; /* Handle long submenu titles */
}
.nav-item p {
  max-width: 250px; /* Set a reasonable width for wrapping */
  width: 100%; /* Ensure it takes full space */
}
.nav-item a,
.nav-item p {
  white-space: normal !important; /* Force wrapping, overriding Bootstrap styles */
  word-break: break-word !important; /* Force breaking long words */
  overflow: visible !important; /* Ensure visibility of wrapped text */
}
/* Navbar alingment END*/

/* Success Alert */
.custom-alert-success {
  background-color: #d1e7dd;
  color: #0f5132;
}
.custom-notice-icon-success {
  color: #0f5132;
}

/* Info Alert */
.custom-alert-info {
  background-color: #cfe2ff;
  color: #084298;
}
.custom-notice-icon-info {
  color: #084298;
}

/* Warning Alert */
.custom-alert-warning {
  background-color: #fff3cd;
  color: #664d03;
}
.custom-notice-icon-warning {
  color: #664d03;
}

/* Danger Alert */
.custom-alert-danger {
  background-color: #f8d7da;
  color: #842029;
}
.custom-notice-icon-danger {
  color: #842029;
}

/* tabs */
.nav-tabs .nav-link {
  margin-right: 10px !important; /* Updated margin-right */
}

/* datatable fix columns */
th,
td {
  white-space: nowrap;
}

/* use this instead of readonly or disabled */
.custom_disabled {
  pointer-events: none; /* Prevents clicking/focus */
  background-color: #e9ecef; /* Typically a disabled/readonly color */
}

/* select2 size */
.select2-container .select2-selection--single {
  height: 40px !important;
}

.select2-container .select2-selection--single .select2-selection__rendered,
.select2-container--bootstrap-5 .select2-selection--single .select2-selection__rendered .select2-selection__placeholder {
  line-height: 2 !important;
}

.is-invalid + .select2-container--bootstrap-5 .select2-selection,
.was-validated select:invalid + .select2-container--bootstrap-5 .select2-selection {
  border-width: 2px;
}

/* place this in your site stylesheet, or inside a <style> block */
#update-referred-est-dialog {
  /* e.g. max width of 900px */
  max-width: 1500px;
  /* optional: make it shrink on very small screens */
  width: 100%;
}

.badge-large {
  font-size: 1.25rem; /* adjust as needed */
}

/* Uniform spinner size */
.category-card .spinner-border {
  width: 2rem;
  height: 2rem;
}

/* Program item spacing */
.program-item {
  margin-bottom: 1rem;
}

.card-header.custom-card-header-secondary {
  background-color: #6c757d;
  color: white;
}

#monthlyLguChart #provinceMonthlyTrendChart {
  padding-left: 60px;
  padding-right: 60px;
}

.card-body canvas {
  padding-top: 0.5rem;
}

/* Custom dashboard styling */
.dash-section {
  background: linear-gradient(135deg, #f8fafc 0%, #e8eaf6 100%);
  border-radius: 2rem;
  box-shadow: 0 4px 32px 0 rgba(80, 93, 120, 0.09);
  padding: 2rem 2rem 1.5rem 2rem;
  margin-bottom: 2.5rem;
  transition: box-shadow 0.25s;
}

.dash-card {
  border-radius: 1.5rem !important;
  box-shadow: 0 2px 14px 0 rgba(64, 74, 104, 0.09);
  background: #fff;
  transition: box-shadow 0.3s, transform 0.15s;
}

.dash-card-header {
  font-size: 1.25rem;
  border-radius: 1.25rem 1.25rem 0 0 !important;
  letter-spacing: 0.03em;
  font-weight: 600;
  box-shadow: 0 2px 8px 0 rgba(33, 150, 243, 0.07);
}

.dash-form-label {
  font-weight: 600;
  color: #303744;
  letter-spacing: 0.02em;
}

.dash-select {
  border-radius: 0.8rem;
  border: 1px solid #e0e7ef;
  font-size: 1.05rem;
  transition: border 0.2s;
}
.dash-select:focus {
  border: 1.5px solid #47b5ff;
  box-shadow: 0 0 0 0.15rem #47b5ff21;
}

.dash-counter {
  font-size: 2.2rem !important;
  font-weight: 700 !important;
  margin-bottom: 0.3rem;
  color: #47b5ff;
  text-shadow: 0 1px 6px rgba(33, 150, 243, 0.09);
  letter-spacing: 0.03em;
  transition: color 0.2s;
}
/* .dash-card:hover .dash-counter {
  color: #009e80;
} */

.dash-muted {
  color: #8c94a5 !important;
  font-size: 0.96rem !important;
  margin-top: 0.15rem;
}

@media (max-width: 991px) {
  .dash-section {
    padding: 1.2rem 0.7rem 1rem 0.7rem;
    border-radius: 1rem;
  }
  .dash-card,
  .dash-chart-card {
    border-radius: 1rem !important;
  }
}

.dashboard-tabs {
  position: relative;
  justify-content: center;
  gap: 1.5rem;
  margin-bottom: 2rem;
  padding-bottom: 0;
  border-bottom: none;
}

.dashboard-tabs::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 2px;
  background: #efefef;
  z-index: 0;
  border-radius: 1px;
}

/* Nav link (tab) styling */
.dashboard-tabs .nav-link {
  position: relative;
  font-weight: 500;
  background: #f4f6fb;
  color: #1e293b;
  padding: 0.85rem 2.5rem 0.7rem 2.5rem;
  border: none;
  border-radius: 1.75rem 1.75rem 0 0;
  font-size: 1.07rem;
  z-index: 1; /* Above the underline */
  margin-bottom: -3px; /* Pull tab down over the underline */
  transition: background 0.18s, color 0.18s, box-shadow 0.18s;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Active tab "breaks" the underline */
.dashboard-tabs .nav-link.active {
  background: #2563eb;
  color: #fff;
  box-shadow: 0 3px 14px 0 rgba(37, 99, 235, 0.08);
}

/* Icon styling */
.dashboard-tabs .nav-link i {
  font-size: 1.2rem;
}

/* Responsive: stack tabs on mobile */
@media (max-width: 576px) {
  .dashboard-tabs {
    flex-direction: column !important;
    gap: 0.5rem;
  }
  .dashboard-tabs .nav-link {
    width: 100%;
    padding: 0.85rem 1rem 0.7rem 1rem;
    border-radius: 1.5rem;
    font-size: 1rem;
    margin-bottom: 0;
  }
  .dashboard-tabs::after {
    display: none;
  }
}

.module-select {
    cursor: pointer;
    transition: box-shadow 0.3s, border-color 0.3s;
  }

  .module-select:hover {
    box-shadow: 0 0 10px rgba(0, 123, 255, 0.2);
    border-color: #0d6efd;
  }

  .module_checkbox:checked + label,
  .module-select input:checked ~ .fw-semibold {
    color: #0d6efd;
  }

 .long-text {
  display: inline-block;
  word-break: break-word;
  overflow-wrap: break-word;
  white-space: normal;
}



