/* App custom theme and component overrides */
:root {
  --app-primary: #245B91;
  --app-primary-dark: #1b446e;
}

/* Primary brand overrides */
.text-primary { color: var(--app-primary) !important; }
.bg-primary { background-color: var(--app-primary) !important; }
.border-primary { border-color: var(--app-primary) !important; }
.btn-primary {
  color: #fff !important;
  background-color: var(--app-primary) !important;
  border-color: var(--app-primary) !important;
  box-shadow: 0 3px 5px rgba(36, 91, 145, 0.2) !important;
}
.btn-primary:hover, .btn-primary:focus {
  background-color: var(--app-primary-dark) !important;
  border-color: var(--app-primary-dark) !important;
}
.bg-gradient-primary {
  background: linear-gradient(310deg, var(--app-primary) 0%, var(--app-primary-dark) 100%) !important;
}

/* Active elements (pagination current, active nav links) */
.pagination .page-item.active .page-link,
.dataTables_wrapper .dataTables_paginate .paginate_button.current {
  background: linear-gradient(310deg, var(--app-primary) 0%, var(--app-primary-dark) 100%) !important;
  border-color: var(--app-primary) !important;
  color: #fff !important;
}

/* Unified DataTables pagination styling across all grids */
.dataTables_wrapper .dataTables_paginate {
  margin-top: 0.75rem;
}
.dataTables_wrapper .dataTables_paginate .paginate_button {
  border: 1px solid #d1d5db !important; /* neutral-300 */
  color: #374151 !important;            /* neutral-700 */
  background: #ffffff !important;
  border-radius: 10px !important;
  padding: 0.4rem 0.75rem !important;
  margin: 0 0.2rem !important;
  line-height: 1 !important;
  min-width: 36px !important;
  transition: all 0.2s ease;
}
.dataTables_wrapper .dataTables_paginate .paginate_button:hover:not(.current) {
  color: var(--app-primary) !important;
  border-color: var(--app-primary) !important;
  background: rgba(36, 91, 145, 0.06) !important;
}
.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
  color: #ffffff !important;
  border-color: var(--app-primary) !important;
  background: linear-gradient(310deg, var(--app-primary) 0%, var(--app-primary-dark) 100%) !important;
  box-shadow: 0 6px 12px rgba(36, 91, 145, 0.25) !important;
}
.dataTables_wrapper .dataTables_paginate .paginate_button.disabled,
.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover {
  color: #9ca3af !important;
  border-color: #e5e7eb !important;
  background: #f9fafb !important;
  cursor: not-allowed !important;
  box-shadow: none !important;
}
.dataTables_wrapper .dataTables_paginate .paginate_button > i {
  font-size: 0.875rem;
  line-height: 1;
}

/* Switches, checkboxes, inputs focus */
.form-check-input:checked {
  background-color: var(--app-primary) !important;
  border-color: var(--app-primary) !important;
}
.form-control:focus, .form-select:focus {
  border-color: var(--app-primary) !important;
  box-shadow: 0 0 0 0.2rem rgba(36, 91, 145, 0.15) !important;
}

/* Links */
a { color: var(--app-primary); }
a:hover { color: var(--app-primary-dark); }

/* Badges */
.badge.bg-primary {
  background-color: var(--app-primary) !important;
}

/* Sidebar active item */
#sidenav-main .nav-link.active {
  background: linear-gradient(310deg, var(--app-primary) 0%, var(--app-primary-dark) 100%) !important;
}

/* Sidebar text color overrides to match theme */
/* Default: non-active links black */
#sidenav-main .nav-link .nav-link-text { color: #000000 !important; }
/* Active link: white */
#sidenav-main .nav-link.active .nav-link-text { color: #ffffff !important; }
/* Hover: slightly darker for non-active */
#sidenav-main .nav-link:not(.active):hover .nav-link-text { color: #1b1b1b !important; opacity: 0.95; }
/* Keep brand/section titles light */
#sidenav-main .navbar-brand span { color: #ffffff !important; }
#sidenav-main h6 { color: rgba(255,255,255,0.85) !important; }

/* Auth logo sizing */
.auth-logo {
  height: 50px;
  width: auto;
}

/* Responsive header fixes */
@media (max-width: 991.98px) {
  /* Hide breadcrumb on small screens to free space */
  #navbarBlur nav[aria-label="breadcrumb"] {
    display: none !important;
  }
  /* Ensure navbar content aligns properly */
  .navbar-main .container-fluid {
    padding-left: 0.75rem !important;
    padding-right: 0.75rem !important;
  }
  /* Increase hit area for sidenav toggler */
  #iconNavbarSidenav .sidenav-toggler-inner {
    width: 36px;
    height: 28px;
  }
  #iconNavbarSidenav .sidenav-toggler-line {
    width: 22px;
  }
  /* Avatar sizing for easier tap */
  .navbar-main .avatar.avatar-sm {
    width: 40px !important;
    height: 40px !important;
  }
  .navbar-main .dropdown-menu-end {
    right: 0 !important;
    left: auto !important;
    margin-right: 0.5rem !important;
  }
}


.ui-autocomplete {
  position: absolute !important;
  z-index: 10000 !important;
  max-height: 250px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  background: #fff !important;
  border: 1px solid #ddd !important;
  border-radius: 4px !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15) !important;
  list-style: none !important;
  padding: 0 !important;
  cursor: pointer !important;
}

.ui-autocomplete .ui-menu-item {
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  list-style: none !important;
}

.ui-autocomplete .ui-menu-item-wrapper {
  padding: 10px 15px !important;
  cursor: pointer !important;
  border: none !important;
  margin: 0 !important;
  display: block !important;
}

.ui-autocomplete .ui-menu-item-wrapper:hover,
.ui-autocomplete .ui-menu-item-wrapper.ui-state-active,
.ui-autocomplete .ui-menu-item-wrapper.ui-state-focus {
  background: #f5f5f5 !important;
  border: none !important;
  margin: 0 !important;
  cursor: pointer !important;
}