.sidebar .nav .nav-item.active > .nav-link {
    color: #A95C25 !important;
}

.app-stats-card{
    width: 100%;
    min-width: 100%;
    border-radius: 16px;
    padding: 0px !important;
    border: 1px solid #E6E6E8 !important;
    box-shadow: 0px 5px 3px -2px rgba(0, 0, 0, 0.02) !important;
}

.stats-card-title{
    color: #6C7078 !important;
}

.app-action-bar{
    background-color: #EBEBF6; /* Blue background */
    color: #333BA3; /* White text */
    padding: 18px;
    margin-bottom: 15px;
    border-radius: 10px;
    font-size: 20px;
}

.app-action-bar.no-background{
    background-color: transparent !important;
}

.app-action-bar h1{
    font-size: 20px;
    padding: 0px;
    margin:0;
}

.page-title{
    color: #2A2727;
    font-size: 20px;
    font-weight: 700;
}

/*Paasword Eye Alignment */
.password-icon {
    position: absolute;
    top: 60%;
    right: 40px; /* Adjust based on padding and border */
    transform: translateY(-50%);
    cursor: pointer;
    color: #ccc;
    z-index: 5;
}

/*Loader */
     
#loader-wrapper {
    position: fixed;
    width: 100%;
    height: 100%;
    z-index: 1000;
    background-color: rgba(255,255,255,0.8); /* Semi-transparent background */
    display: flex;
    justify-content: center;
    align-items: center;
}

#loader {
    text-align: center;
}

.blinking-icon {
    width: 40px; /* Adjust size as needed */
    animation: blink 1.9s infinite; /* Infinite blinking animation */
}

.blinking-text {
    font-size: 16px;
    font-family: Arial, sans-serif;
    color: #000;
    margin-top: 20px;
    animation: blink 1.9s infinite; /* Infinite blinking animation */
}

@keyframes blink {
    0% {
        opacity: 1;
    }
    50% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

/* BUTTONS*/

.btn-primary{
    background-color: #333BA3 !important;
    color: #fff !important;
    padding: 15px;
    border-radius: 8px;
}

.btn-update, .btn-create{
    background-color: #F28335 !important;
    color: #fff !important;
    padding: 15px;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 700;
}

.btn-danger{
    background-color: #E63C3C !important;
    color: #fff !important;
    padding: 15px;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 700;
}

/* Add DataTable styles */
.dataTables_wrapper .dataTables_paginate .paginate_button {
    padding: 5px 10px;
    margin-left: 10px;
    background-color: #f5f5f5;
    border: 1px solid #ddd;
    color: #333;
}

.dataTables_wrapper .dataTables_paginate .paginate_button.current {
    background-color: #333ba3;
    border: 1px solid #333ba3;
    color: #fff;
}

/* Search input alignment */
#searchStudent {
    width: 300px;
    float: right;
}

/* Empty state custom styling */
#emptyState img {
    max-width: 80px;
    margin-bottom: 15px;
}

#emptyState h5 {
    color: #333;
    font-weight: 600;
}

#emptyState p {
    color: #666;
}

/* Ensure table responsiveness */
.table-responsive {
    overflow-x: auto;
}

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

.user-avatar {
    background-color: #EBEBF6; /* Blue background */
    color: #333BA3; /* White text */
    width: 40px; /* Avatar size */
    height: 40px; /* Avatar size */
    border-radius: 50%; /* Makes it circular */
    font-size: 18px; /* Size of the letter */
    font-weight: bold; /* Bold letter */
    display: flex;
    justify-content: center;
    align-items: center;
    text-transform: uppercase; /* Ensure it's uppercase */
}

/* If the profile image is available, ensure both are properly aligned */
.img-xs {
    width: 40px;
    height: 40px;
    border-radius: 50%;
}

/* General Table Styling */
.appTable {
    width: 100%;
    margin-top: 20px;
    border-collapse: collapse;
    border-radius: 3px;
    border: 1px solid #EAE9E9;
}

/* Table Header Styling */
.appTable thead {
    background-color: #F8F7FF;
    color: #838282;
    text-align: center !important;
}

.appTable th {
  text-align: center !important;
  padding: 20px !important;
  font-weight: bold;
  font-size: 12px;
}

.appTable th.sorting {
    cursor: pointer;
}

.appTable th.sorting_desc:after {
    content: " ▼";
}

.appTable th.sorting_asc:after {
    content: " ▲";
}

/* Table Row Styling */
.appTable tbody tr {
    text-align: center;
    background-color: #ffffff;
    transition: background-color 0.3s ease;
    height: 60px;
}


.appTable tbody tr:hover {
    background-color: #f1f1f1;
}

.appTable td {
    padding: 12px;
    font-size: 14px;
}

/* Action Column Styling */
.appTable .view-link {
    color: #ffffff;
    background-color: #F28335;
    text-decoration: none;
    font-weight: bold;
    font-size: 16px;
    padding: 7px;
    border-radius: 10px;
    transition: background-color 0.3s ease;
}

.appTable .edit-link {
  color: #ffffff;
  background-color: #333BA3;
  text-decoration: none;
  font-weight: bold;
  font-size: 18px;
  padding: 5px;
  border-radius: 10px;
  transition: background-color 0.3s ease;
}

.appTable .delete-link {
  color: #ffffff;
  background-color: #E63C3C;
  text-decoration: none;
  font-weight: bold;
  font-size: 18px;
  padding: 5px;
  border-radius: 10px;
  transition: background-color 0.3s ease;
}

.appTable .view-link:hover {
    background-color: #F28335;
    color: white;
    text-decoration: none;
}

/* Pagination Button Styling */
.dataTables_paginate {
    margin-top: 20px;
    text-align: center;
}

.dataTables_paginate .paginate_button {
    background-color: #007bff;
    color: white;
    border: 1px solid #007bff;
    padding: 5px 12px;
    margin: 0 5px;
    border-radius: 4px;
    cursor: pointer;
}

.dataTables_paginate .paginate_button:hover {
    background-color: #0056b3;
}

.dataTables_paginate .paginate_button.current {
    background-color: #0056b3;
    color: white;
}

/* Search Box Styling */
.dataTables_filter input {
    padding: 8px;
    margin-left: 5px;
    border-radius: 4px;
    border: 1px solid #ccc;
    max-width: 250px;
}

/* Responsive Table */
@media (max-width: 768px) {
    .appTable th, .appTable td {
        font-size: 12px;
        padding: 8px;
    }

    .dataTables_filter input {
        max-width: 200px;
    }
}

/* ============ TOASTS (JEDApp style) ============ */

/* Container */
.toast-container {
  position: fixed;
  top: 72px;                 /* clears top nav a bit more */
  right: 20px;
  z-index: 10000;
  display: flex;
  flex-direction: row;
  gap: 12px;                 /* space between stacked toasts */
}

/* Base toast */
.toast {
  width: 420px;              /* slightly slimmer */
  max-width: calc(100vw - 32px);
  padding: 10px 12px;
  background: #ffffff;
  color: #1f2937;
  border-radius: 16px;
  border: 1px solid #e5e7eb;
  box-shadow: 0 8px 18px rgba(51, 59, 163, 0.12);  /* brand-tinted shadow */
  opacity: 1;
  overflow: hidden;
}

/* Header */
.toast-header {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 4px 2px 0 2px;
  margin: 0;
  border: 0 !important;
  background: transparent !important;
  color: inherit;
}

/* Title text inside header (if you use a <strong> or .toast-title) */
.toast-header .toast-title,
.toast-header strong {
  font-weight: 700;
  font-size: 0.95rem;
  color: #0f172a;
  margin-right: auto;
}

/* Message/body */
.toast-body {
  padding: 8px 2px 6px 2px;
  font-size: 0.92rem;
  line-height: 1.35;
  color: #374151;
}

/* Close button (x) */
.toast-header .close,
.toast .close {
  appearance: none;
  border: none;
  background: transparent;
  cursor: pointer;
  font-size: 1.1rem;
  line-height: 1;
  color: #6b7280;
  padding: 4px;
  border-radius: 10px;
}
.toast-header .close:hover,
.toast .close:hover {
  background: #f3f4f6;
  color: #333BA3;
}

/* Leading icon circle (optional) */
.toast-icon {
  flex: 0 0 auto;
  width: 28px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  border: 1px solid #dee2ff;
  background: #eef0ff;      /* brand tint */
  color: #333BA3;
  font-size: 16px;
}

/* Accent bar (top) for variants */
.toast::before {
  content: "";
  display: block;
  height: 3px;
  width: 100%;
  border-radius: 16px 16px 0 0;
  background: #eef0ff; /* default brand tint */
  position: absolute;
  top: 0;
  left: 0;
}

/* ===== Variants ===== */

/* SUCCESS */
.toast-success {
  border-color: #bce7cf;
  background: #ffffff;
}
.toast-success .toast-icon {
  background: #eaf7f0;
  border-color: #cdeede;
  color: #0a6a36;
}
.toast-success::before {
  background: #22c55e; /* green bar */
}

/* ERROR */
.toast-error {
  border-color: #f6b8c0;
  background: #fff;
}
.toast-error .toast-icon {
  background: #fdecef;
  border-color: #f9c7cf;
  color: #8f1b2a;
}
.toast-error::before {
  background: #ef4444; /* red bar */
}

/* INFO */
.toast-info {
  border-color: #cfd9ff;
  background: #ffffff;
}
.toast-info .toast-icon {
  background: #eef0ff;
  border-color: #dee2ff;
  color: #333BA3;           /* brand */
}
.toast-info::before {
  background: #333BA3;      /* brand bar */
}

/* WARNING (optional) */
.toast-warning {
  border-color: #ffe3a3;
  background: #ffffff;
}
.toast-warning .toast-icon {
  background: #fff6db;
  border-color: #ffe3a3;
  color: #9a6700;
}
.toast-warning::before {
  background: #f59e0b; /* amber bar */
}

/* Bounce entrance */
@keyframes toast-bounce {
  0%, 60%, 80%, 100% { transform: translateY(0); }
  40% { transform: translateY(-8px); }
}
.toast--enter {
  animation: toast-bounce 600ms ease-out;
}

/* Small screens */
@media (max-width: 576px) {
  .toast {
    width: auto;
    border-radius: 14px;
  }
}

/* Optional: progress line at bottom (for auto-dismiss) */
.toast-progress {
  position: relative;
  height: 3px;
  width: 100%;
  background: #f3f4f6;
  border-radius: 999px;
  overflow: hidden;
  margin-top: 6px;
}
.toast-progress > span {
  display: block;
  height: 100%;
  width: 0%;
  background: #333BA3; /* brand */
  transition: width linear;
}
