.stars-container {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

.star {
	position: absolute;
	width: 2px;
	height: 2px;
	background-color: #fff;
	border-radius: 50%;
	opacity: 0;
	animation: shootingStars 5s linear infinite;
}

@keyframes shootingStars {
	0% {
		opacity: 1;
		transform: translate(0, 0);
	}
	90% {
		opacity: 1;
	}
	100% {
		opacity: 0;
		transform: translate(-100vw, 100vh);
	}
}
.accountbg {
    position: relative; /* Ensure proper positioning of balls container */
    height: 100vh; /* Full viewport height */
    width: 100%;
    top: 0;
    overflow: hidden; /* Hide overflowing balls */
    -webkit-box-shadow: inset 0 0 0 2000px rgba(24, 27, 46, 0.8); 
    -moz-box-shadow: inset 0 0 0 2000px rgba(24, 27, 46, 0.8); 
    box-shadow: inset 0 0 0 2000px rgba(24, 27, 46, 0.8);
}

.alertShow {
  position: relative;
  border: 0;
}

.alertShow.alert-success {
  color: #ffffff;
  background-color: #1ecab8;
}
.alertShow.alert-danger {
  color: #ffffff;
  background-color: #f93b7a;
}

#installmentsTable,#studentList {
    width: 100% !important;
}
.dataTables_wrapper {
    width: 100%;
    /* overflow-x: auto; */
}

.text-wrap {
    white-space: normal !important;
    word-wrap: break-word;
}

.highlight_expired {
	background-color: #3b1f23 !important;
}

.row-expired{
  background-color: #3b1f23 !important;
  color: #ffb3b3 !important;
}
/* Future (upcoming) batches */
.row-future {
  background-color: #0f2f22 !important; /* deep blue */
  color: #ffb3b3 !important;            /* soft light text */
}

.row-today { background-color: #17a2b826 !important; }

.row-ni  { 
	background-color:rgba(255,193,7,.15)!important;
	color: #ffb3b3 !important;
}
.row-notGenuine {
  background-color: #2a1d1d !important; /* deep maroon / muted red tone */
  color: #ffbebe !important;            /* soft pinkish text for contrast */
}

.status-cell {
  display: inline-block;
  /* padding: 4px 10px;
  border-radius: 6px;
  font-weight: 500; */
}

.status-cell.col-notGenuine {
  /* background-color: rgba(255, 99, 71, 0.1) !important; */
  color: #ff9b9b !important;
  /* border: 1px solid rgba(255,99,71,0.25); */
}

.status-cell.col-expired {
  background-color: rgba(255, 0, 0, 0.15) !important;
  color: #ffb3b3 !important;
  border: 1px solid rgba(255,0,0,0.25);
}

.status-cell.col-ni {
  /* background-color: rgba(255,193,7,0.15) !important; */
  color: #ffd36b !important;
  /* border: 1px solid rgba(255,193,7,0.25); */
}

td.pointer { cursor: pointer; }

/* inside your theme css */
.alert .dup-alert { gap: 12px; }
.alert .dup-alert .mono { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; }
.alert-danger .btn.btn-light { background:#fff; border-color:#fff; }
.alert-danger .btn.btn-light:hover { filter: brightness(0.95); }
.btn.font-weight-600 { font-weight:600; border-radius:999px; padding:6px 12px; }

.btn-outline-light.active {
  background-color: #5664d2;
  color: #fff;
  border-color: #5664d2;
}

.select2-selection--multiple {
    max-height: 60px !important;   /* adjust height */
    overflow-y: auto !important;   /* enable scrolling */
    scrollbar-width: thin;         /* thinner scrollbar for Firefox */
}
.meta-notes {
  margin-top: 4px !important;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
}
.badge-stack {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
}
.badge-stack .badge {
  margin-right: 0;
}
.phone-badge {
  color: #1f2235;
  font-weight: 600;
}
.badges-section {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.badge-span {
  width: fit-content;
}
.text-light {
  color: #FFFFFF !important;
}
/*Portal IQ Chnages end here */

/*codex**/

.select2-container--default .select2-selection--multiple {
  background-color: rgba(255, 255, 255, 0.04);
  border-color: rgba(255, 255, 255, 0.15);
  color: #f8f9ff;
}
.form-control:focus {
  border-color: #0acf97;
  box-shadow: none;
}

.custom-control-label::before {
  background-color: rgba(255, 255, 255, 0.15);
  border-color: rgba(255, 255, 255, 0.25);
}
.custom-control-input:checked ~ .custom-control-label::before {
  border-color: #0acf97;
  background-color: #0acf97;
}

.stacked-modal-scroll {
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}


/* Floating filter panels – shared for Enquiry, Followup, Visit */

.filter-panel-wrapper {
  position: fixed;              /* float above page, not full-screen modal */
  top: 80px;                    /* adjust as per your header height */
  right: 20PX;
  z-index: 1050;                /* above table/card but below real modals (1050 is Bootstrap modal-level) */
  /* display: none; */
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
  transition: opacity 0.18s ease-out, transform 0.18s ease-out;
}

/* Make Filters button always sit above the floating filter panel */
.filter-toggle-btn {
  position: relative;
  /* z-index: 1060; */ /* higher than .filter-panel-wrapper (1050-ish) */
}


/* Hidden state – added by JS */
.filter-panel-wrapper--hidden {
  opacity: 0;
  transform: translateY(-10px);
  pointer-events: none;         /* allows clicks to pass through when closed */
}

.filter-panel-close {
  border: none;
  background: #ffffff20;   /* light translucent */
  border-radius: 6px;
  padding: 2px 8px;
  cursor: pointer;
  transition: background 0.2s ease;
}

.filter-panel-close:hover {
  background: #ffffff35;
}

/* Actual panel look */
.filter-panel {
  min-width: 1080px;
  max-width: 1080px;
  max-height: calc(100vh - 120px);
  overflow: auto;

  background: rgba(15, 23, 42, 0.96);   /* dark with near-opaque */
  border-radius: 0.9rem;
  box-shadow: 0 14px 35px rgba(0, 0, 0, 0.55);
  backdrop-filter: blur(8px);           /* glassy feel (if supported) */
  border: 1px solid rgba(148, 163, 184, 0.4); /* subtle border */

  /* you already have .card .card-body styles; this just refines it */
}

/* Tweak forms inside the panel */
.filter-panel .form-group {
  margin-bottom: 0.6rem;
}

.filter-panel .btn {
  margin-top: 0.4rem;
}

/* Mobile responsiveness */
@media (max-width: 767.98px) {
  .filter-panel-wrapper {
    top: 70px;
    right: 10px;
    left: 10px;                 /* full width minus margins */
  }

  .filter-panel {
    min-width: auto;
    max-width: 100%;
  }
}

    /**Codex Ends/

/*# sourceMappingURL=style.css.map */
/* ---------------------------------------------
   SYSTEM SETTINGS PAGE (NEW TAB DESIGN)
   --------------------------------------------- */

/* Card styling */
.system-settings-card {
    background: #1f2235;
    border: 1px solid rgba(255,255,255,0.05);
    border-radius: 12px;
}

/* Header */
.system-settings-header {
    background: #272a40;
    padding: 18px 20px;
    border-bottom: 1px solid rgba(255,255,255,0.08);
}

.system-settings-header h4 {
    color: #fff;
    font-size: 18px;
    letter-spacing: 0.5px;
}

.system-settings-header small {
    font-size: 12px;
}

/* Tabs */
.system-settings-tabs {
    border-bottom: 1px solid rgba(255,255,255,0.1);
    margin-bottom: 20px;
}

.system-settings-tabs .nav-link {
    color: #b5b9d5;
    background: transparent;
    border: none;
    font-weight: 500;
    padding: 10px 20px;
    border-radius: 0;
    transition: all 0.2s ease-in-out;
}

.system-settings-tabs .nav-link:hover {
    color: #fff;
}

.system-settings-tabs .nav-link.active {
    color: #00bcd4;
    background: #323651;
    border-bottom: 2px solid #00bcd4;
}

/* Tab content container */
.system-settings-tab-content {
    padding-top: 10px;
}

/* Table */
.system-settings-table {
    width: 100%;
    color: #d5d8ec;
}

.system-settings-table tbody tr {
    border-bottom: 1px solid rgba(255,255,255,0.05);
}

.system-setting-row th {
    width: 32%;
    font-weight: 500;
    color: #fff;
}

.system-setting-label {
    position: relative;
}

.system-setting-label i {
    font-size: 16px;
}

/* Setting info tooltip icon */
.setting-meta-icon {
    color: #9aa0c4;
    cursor: pointer;
    margin-left: 8px;
}

.setting-meta-icon:hover {
    color: #ffffff;
}

/* Controls */
.system-setting-control input.form-control,
.system-setting-control .custom-select,
.system-setting-control select.form-control {
    background: #2e3147;
    border: 1px solid rgba(255,255,255,0.1);
    color: #fff;
    border-radius: 6px;
    height: 36px;
}

.system-setting-control input.form-control:disabled,
.system-setting-control select:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

/* Select2 */
.select2-container--default .select2-selection--multiple {
    background: #2e3147;
    border-color: rgba(255,255,255,0.1);
    min-height: 36px;
    padding-top: 3px;
}

.select2-selection__choice {
    background: #414567 !important;
    border: none !important;
    color: #fff !important;
}

.select2-dropdown {
    background: #2a2d42 !important;
    border-color: rgba(255,255,255,0.1) !important;
}

.select2-results__option--highlighted {
    background: #4b4f70 !important;
}

/* Select2 invalid state */
.is-invalid.select2-hidden-accessible + .select2-container .select2-selection,
.select2-container--default .select2-selection.is-invalid,
.select2-container--default .select2-selection.is-invalid:focus {
    border: 1px solid #e74c3c !important;
    box-shadow: 0 0 0 0.2rem rgba(231,76,60,0.15) !important;
}

/* Password rules list (remove default bullets) */
#passwordRules {
    list-style: none;
    padding-left: 0;
    margin: 0;
}

/* Save button */
.save-actions .btn-success {
    padding: 8px 25px;
    font-size: 14px;
    border-radius: 6px;
}

/* Responsive tweaks */
@media (max-width: 768px) {
    .system-setting-row th,
    .system-setting-row td {
        display: block;
        width: 100%;
        padding: 10px 0;
    }

    .system-setting-row th {
        margin-top: 15px;
    }
}
