@charset "UTF-8";
@import url(https://fonts.googleapis.com/css2?family=Chakra+Petch:wght@300;400;500;600;700&display=swap);


.nav-link {
  border-radius: 0 !important;
}

:root {
  --bs-font-size: 0.875rem;
  --bs-body-color: rgba(0, 0, 0, 0.75);
  --bs-body-bg: #FFF;
  --bs-body-font-family: "Chakra Petch", sans-serif;
  --bs-link-color: var(--bs-primary);
  --bs-link-hover-color: var(--bs-primary);
  --bs-btn-bg: var(--bs-primary);
  --bs-btn-border-color: var(--bs-primary);
  --bs-body-color-rgb: 64, 21, 91;
  --bs-nav-link-font-size: 0.875rem;
  --bs-btn-color: var(--bs-primary);
  
  /* Modern Pleasing Color Palette */
  --bs-success: #06d6a0;
  --bs-success-rgb: 6, 214, 160;
  --bs-success-light: #e6fff9;
  --bs-success-dark: #04a877;
  
  --bs-warning: #ffd60a;
  --bs-warning-rgb: 255, 214, 10;
  --bs-warning-light: #fff8d6;
  --bs-warning-dark: #d4af37;
  
  --bs-danger: #ff6b6b;
  --bs-danger-rgb: 255, 107, 107;
  --bs-danger-light: #ffe8e8;
  --bs-danger-dark: #e55353;
  
  --bs-info: #4ecdc4;
  --bs-info-rgb: 78, 205, 196;
  --bs-info-light: #e8fffe;
  --bs-info-dark: #3db5ac;
  
  --bs-secondary: #95a5a6;
  --bs-secondary-rgb: 149, 165, 166;
  --bs-secondary-light: #f4f6f6;
  --bs-secondary-dark: #7f8c8d;
  
  --bs-dark: #2c3e50;
  --bs-dark-rgb: 44, 62, 80;
  --bs-dark-light: #ecf0f1;
  
  --bs-light: #f8f9fa;
  --bs-light-rgb: 248, 249, 250;
  --bs-light-dark: #e9ecef;
}

.sidebar {
  position: fixed;
  top: 3.5rem;
  left: 0;
  width: 15.625rem;
  height: calc(100vh - 3.5rem);
  overflow-y: auto;
  z-index: 1000;
}

.sidebar .nav-link {
  color: var(--bs-primary);
  padding: 0.75rem 1rem;
  display: flex;
  align-items: center;
  transition: all 0.2s ease-in-out;
}

.sidebar .nav-link:hover {
  background-color: var(--bs-primary);
  color: var(--bs-body-bg);
}

.sidebar .nav-link.active {
  color: var(--bs-body-bg);
  background-color: var(--bs-primary);
}

.sidebar .nav-header {
  font-size: 0.65625rem;
  color: var(--bs-secondary);
  font-weight: 600;
  padding: 1rem 1rem 0.5rem 1rem;
}

.main-content {
  margin-left: 15.625rem;
  padding-top: 3.5rem;
  min-height: 100vh;
}

.card {
  --bs-border-color-rgb: var(--bs-body-color-rgb);
  position: relative;
}

.card>* {}

.card:after,
.card:before {
  content: "";
  position: absolute;
  pointer-events: none;

}


.card:not(.border-0) {
  border: 1px solid rgba(var(--bs-border-color-rgb), .3);
  border-radius: 0;
}

.card:not(.border-0):before {
  left: -1px;
  right: -1px;
  bottom: -1px;
  top: -1px;
  --b: 2px;
  --c: rgba(var(--bs-border-color-rgb), .75);
  --w: 10px;
  border: var(--b) solid #0000;
  --_g: #0000 90deg, var(--c) 0;
  --_p: var(--w) var(--w) border-box no-repeat;
  background:
    conic-gradient(from 90deg at top var(--b) left var(--b), var(--_g)) 0 0 / var(--_p),
    conic-gradient(from 180deg at top var(--b) right var(--b), var(--_g)) 100% 0 / var(--_p),
    conic-gradient(from 0deg at bottom var(--b) left var(--b), var(--_g)) 0 100% / var(--_p),
    conic-gradient(from -90deg at bottom var(--b) right var(--b), var(--_g)) 100% 100% / var(--_p);
}

.btn-outline-primary {
  --bs-btn-color: var(--bs-primary);
  --bs-btn-border-color: var(--bs-primary);
  --bs-btn-hover-bg: var(--bs-primary);
  --bs-btn-hover-border-color: var(--bs-primary);
  --bs-btn-hover-color: var(--bs-body-bg);
  --bs-btn-active-bg: var(--bs-primary);
  --bs-btn-active-border-color: var(--bs-primary);
}

.btn-primary {
  --bs-btn-bg: var(--bs-primary);
  --bs-btn-border-color: var(--bs-primary);
  --bs-btn-hover-bg: var(--bs-primary);
  --bs-btn-hover-border-color: var(--bs-primary);
  --bs-btn-hover-color: var(--bs-body-bg);
  --bs-btn-active-bg: var(--bs-primary);
  --bs-btn-active-border-color: var(--bs-primary);
}

.pagination {
  --bs-pagination-active-bg: var(--bs-primary);
  --bs-pagination-active-color: var(--bs-body-bg);
  --bs-pagination-active-border-color: var(--bs-primary);
}

.page-header {
  font-size: 1.5rem;
  margin: 0;
}



.breadcrumb {
  display: none;
  flex-wrap: wrap;
  padding: 0.5rem 1rem;
  margin-bottom: 1rem;
  list-style: none;
  background-color: #e9ecef;
}

.breadcrumb-item+.breadcrumb-item {
  padding-left: 0.5rem;
}

.breadcrumb-item+.breadcrumb-item::before {
  display: inline-block;
  padding-right: 0.5rem;
  color: #6c757d;
  content: "/";
}

.breadcrumb-item.active {
  color: #6c757d;
}

.nav {
  display: flex;
  flex-wrap: wrap;
  padding-left: 0;
  margin-bottom: 0;
  list-style: none;
}

.nav-link {
  display: block;
  padding: 0.75rem 1.25rem;
  color: #6c757d;
  text-decoration: none;
  transition: all 0.15s ease-in-out;
  border-radius: 0.375rem;
  font-weight: 500;
}

.nav-link:hover,
.nav-link:focus {
  color: var(--bs-primary);
  background-color: #f8f9fa;
}

.nav-link.disabled {
  color: #6c757d;
  pointer-events: none;
  cursor: default;
  background-color: transparent;
}

.nav-tabs {
  border-bottom: 2px solid #e9ecef;
  margin-bottom: 1.5rem;
}

.nav-tabs .nav-link {
  margin-bottom: -2px;
  background: none;
  border: none;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  padding: 1rem 1.5rem;
  font-weight: 500;
  color: #6c757d;
}

.nav-tabs .nav-link:hover,
.nav-tabs .nav-link:focus {
  border-color: transparent transparent var(--bs-primary) transparent;
  background-color: transparent;
  color: var(--bs-primary);
}

.nav-tabs .nav-link.disabled {
  color: #6c757d;
  background-color: transparent;
  border-color: transparent;
}

.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {
  color: var(--bs-primary);
  background-color: transparent;
  border-color: transparent transparent var(--bs-primary) transparent;
  font-weight: 600;
}

.nav-pills .nav-link {
  background: none;
  border: 0;
  border-radius: 0.375rem;
  color: #6c757d;
  font-weight: 500;
}

.nav-pills .nav-link.active,
.nav-pills .show>.nav-link {
  color: #fff;
  background-color: var(--bs-primary);
  font-weight: 600;
}

.text-primary {
  color: var(--bs-primary) !important;
}

.form-group {
  margin-bottom: 1rem;
}


.modal .modal-dialog {
  min-height: 100%;
  margin: 0 0 0 auto;
  height: 100%;
}

.modal .modal-dialog .modal-content {
  border-radius: 0;
  display: flex;
  flex-direction: column;
  height: 100%;
}

.modal .modal-header,
.modal .modal-footer {
  flex-shrink: 0;
}

.modal .modal-body {
  flex: 1 1 auto;
  overflow-y: auto;
  overflow-x: hidden;
}

.modal.fade .modal-dialog {
  -webkit-transform: translate(100%, 0)scale(1);
  transform: translate(100%, 0)scale(1);
}

.modal.fade.show .modal-dialog {
  -webkit-transform: translate(0, 0);
  transform: translate(0, 0);
  display: flex;
  align-items: stretch;
  -webkit-box-align: stretch;
  height: 100%;
}

.table tbody {
  overflow: hidden;
}
.table tbody td{padding: 0.8rem;}

.table.hover tbody tr:hover {
  box-shadow: 0 0 5px rgba(var(--bs-primary-rgb), 0.3);
  transition: all 0.2s ease-in-out;
  transform: scale(1.01);
  cursor: pointer;
}

.table thead {
  border-bottom: 2px solid rgba(var(--bs-primary-rgb), 0.7);
  color: var(--bs-primary);
}

/* Status Color Utility Classes */
.text-success { color: var(--bs-success) !important; }
.text-warning { color: var(--bs-warning) !important; }
.text-danger { color: var(--bs-danger) !important; }
.text-info { color: var(--bs-info) !important; }
.text-secondary { color: var(--bs-secondary) !important; }

.bg-success { background-color: var(--bs-success) !important; }
.bg-warning { background-color: var(--bs-warning) !important; }
.bg-danger { background-color: var(--bs-danger) !important; }
.bg-info { background-color: var(--bs-info) !important; }
.bg-secondary { background-color: var(--bs-secondary) !important; }

.bg-success-light { background-color: var(--bs-success-light) !important; }
.bg-warning-light { background-color: var(--bs-warning-light) !important; }
.bg-danger-light { background-color: var(--bs-danger-light) !important; }
.bg-info-light { background-color: var(--bs-info-light) !important; }
.bg-secondary-light { background-color: var(--bs-secondary-light) !important; }

.border-success { border-color: var(--bs-success) !important; }
.border-warning { border-color: var(--bs-warning) !important; }
.border-danger { border-color: var(--bs-danger) !important; }
.border-info { border-color: var(--bs-info) !important; }
.border-secondary { border-color: var(--bs-secondary) !important; }

/* Alert and Badge Styles */
.alert-success {
  background-color: var(--bs-success-light);
  border-color: var(--bs-success);
  color: var(--bs-success-dark);
}

.alert-warning {
  background-color: var(--bs-warning-light);
  border-color: var(--bs-warning);
  color: var(--bs-warning-dark);
}

.alert-danger {
  background-color: var(--bs-danger-light);
  border-color: var(--bs-danger);
  color: var(--bs-danger-dark);
}

.alert-info {
  background-color: var(--bs-info-light);
  border-color: var(--bs-info);
  color: var(--bs-info-dark);
}

.badge-success { background-color: var(--bs-success); }
.badge-warning { background-color: var(--bs-warning); }
.badge-danger { background-color: var(--bs-danger); }
.badge-info { background-color: var(--bs-info); }
.badge-secondary { background-color: var(--bs-secondary); }

/* Button Variants */
.btn-success {
  background-color: var(--bs-success);
  border-color: var(--bs-success);
  color: white;
}

.btn-warning {
  background-color: var(--bs-warning);
  border-color: var(--bs-warning);
  color: white;
}

.btn-danger {
  background-color: var(--bs-danger);
  border-color: var(--bs-danger);
  color: white;
}

.btn-info {
  background-color: var(--bs-info);
  border-color: var(--bs-info);
  color: white;
}

.btn-outline-success {
  color: var(--bs-success);
  border-color: var(--bs-success);
}

.btn-outline-warning {
  color: var(--bs-warning);
  border-color: var(--bs-warning);
}

.btn-outline-danger {
  color: var(--bs-danger);
  border-color: var(--bs-danger);
}

.btn-outline-info {
  color: var(--bs-info);
  border-color: var(--bs-info);
}

/* Student Profile Enhancement Styles */
.info-item {
  margin-bottom: 0.5rem;
}

.info-item label {
  font-weight: 500;
  color: var(--bs-secondary);
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* .card {
  transition: all 0.3s ease;
}

.card:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 25px rgba(0,0,0,0.15) !important;
} */

.accordion-button {
  font-weight: 500;
  padding: 1rem 1.25rem;
}

.accordion-button:not(.collapsed) {
  background-color: var(--bs-primary);
  color: white;
}

.accordion-button:focus {
  box-shadow: none;
  border-color: var(--bs-primary);
}

.breadcrumb {
  background-color: var(--bs-light);
  margin-bottom: 0;
}

.breadcrumb-item + .breadcrumb-item::before {
  color: var(--bs-secondary);
}


.chat-messages-container{overflow:hidden;overflow-y: scroll;flex:1 1 auto}