.dash-card-state .highcharts-container {
	border-radius: 8px;
}

.navbar-vertical .navbar-nav .nav-item .nav-link:hover .nav-icon{
	color: rgba(var(--Aca-link-color-rgb), var(--Aca-link-opacity, 1));
}
/*.navbar-vertical .navbar-nav .nav-item .nav-link[aria-expanded="true"],*/
.navbar-vertical .navbar-nav .nav-item .nav-link.active{
	background: #1f1e28;
    border-color: #6343d8;
    color: #fff !important;
}
.navbar-vertical .navbar-nav .nav-item .nav-link[aria-expanded="true"] .nav-icon{
	
	color: rgba(var(--Aca-link-color-rgb), var(--Aca-link-opacity, 1));
}
.navbar-vertical .navbar-nav .nav-item .nav-link{
	align-items: center;
	line-height: inherit;
    border-left: 4px solid transparent;
}
.navbar-vertical .navbar-brand {
    padding: .65rem;
    margin: 1rem;
    border-radius: .25rem;
    /*background: #fff;*/
    line-height: normal;
    font-size: 18px;
}
.bs-stepper .step-trigger{
    background-color: transparent;
    border: 0;
}
.profile-container {
    position: relative;
    display: inline-block;
}

.profile-img {
    display: inline-block;
    width: 150px;
    height: 150px;
    object-fit: cover;
    border-radius: 50%;
    border: 3px solid #dee2e6;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.edit-icon {
    position: absolute;
    bottom: 0;
    right: 0;
    background: #0c0c0f;
    color: #fff;
    border-radius: 50%;
    padding: 8px;
    font-size: 12px;
    cursor: pointer;
    transition: background 0.3s;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
    width: 35px;
    text-align: center;
}

.edit-icon:hover {
    background: #0056b3;
}

.profile-container input[type="file"].hidden-input {
    display: none;
}
.card{
    margin-bottom: 1rem;
}
.btn{
    margin-bottom: 0.5rem ;
}
.card-body ,
.accordion-body{
    padding: 1rem;
}
.navbar-vertical .navbar-nav .nav-item .collapse .nav .nav-item .nav-link{
    transition: none !important;
}
.bg-gradient-primary{
    background: #232526;  /* fallback for old browsers */
    background: -webkit-linear-gradient(to right, #414345, #232526);  /* Chrome 10-25, Safari 5.1-6 */
    background: linear-gradient(to right, #414345, #232526); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */

}
.bg-gradient-primary .title-description p{
    color: #fff;
}
.navbar-vertical .navbar-brand img{
    filter: invert(1)
}
#search-results .card,
.profile-page .card,
.index-container .card{
    padding: .65rem;
    border-radius: .85rem;
    border: 1px solid #d1d2e0;
    box-shadow: none;
}
#search-results .card img,
.profile-page .card img,
.index-container .card img{
    border-radius: 0.85rem;  
}
#search-results .card-body,
.profile-page .card-body,
.index-container .card-body{
    padding : .85rem 0 0;
    border-radius: 0.85rem; 
}
#search-results .card:hover,
.results-header select:hover,
.profile-page .card:hover,
.index-container .card:hover{
    background-color: #f6f7f9;
}
.results-header select.form-select{
    border: 0;
    padding: 0.5rem 1rem 0.5rem 1rem;
    color: #212529;
}
.offcanvas-start.sidebar-canvas.mobile-canvas {
    width: 300px;
}
.mobile-canvas .offcanvas-header,
.mobile-canvas .offcanvas-body{
    padding: 1rem !important;
}

.mobile-canvas .menu-item {
    padding: 0.35rem;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: background-color 0.3s ease;
    font-size: 0.95rem;
    font-weight: 500;
}

.mobile-canvas .menu-item:hover {
    background-color: #e9ecef;
}

.mobile-canvas .submenu {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease, padding 0.3s ease;
    background-color: #f1f1f1;
}

.mobile-canvas .submenu.open {
    max-height: 1000px; /* Large enough value */
    padding: 0.5rem 0;
}
.mobile-navbar .mobile-bar{
    text-decoration: none;
    padding: 0;
    font-size: 1.5rem;
    margin: 0;
}
.mobile-canvas .submenu .menu-item {
    padding: 0.5rem 1.35rem;
    font-size: 0.9rem;
}

.mobile-canvas .active-menu {
    background-color: #e0d9f9;
}

.mobile-canvas .menu-toggle-icon {
    transition: transform 0.3s ease;
}

.mobile-canvas .menu-item.collapsed .menu-toggle-icon {
    transform: rotate(0deg);
}

.mobile-canvas .menu-item.expanded .menu-toggle-icon {
    transform: rotate(90deg);
}
.small-rating-widget {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

.small-rating-widget.block {
    display: flex;
}

.rating-stars-small {
    display: flex;
    gap: 1px;
    align-items: center;
}

.rating-star-small {
    color: #ffc107;
    font-size: 0.875rem;
    line-height: 1;
}

.rating-star-small.empty {
    color: #e4e5e9;
}

.rating-star-small.half {
    position: relative;
    color: #e4e5e9;
}

.rating-star-small.half::before {
    content: "★";
    position: absolute;
    left: 0;
    color: #ffc107;
    width: 50%;
    overflow: hidden;
}

/* Star sizes */
.rating-stars-small.size-small .rating-star-small {
    font-size: 0.875rem;
}

.rating-stars-small.size-medium .rating-star-small {
    font-size: 1rem;
}

.rating-stars-small.size-large .rating-star-small {
    font-size: 1.25rem;
}

.rating-numeric {
    color: #f59e0b;
    font-weight: 600;
    font-size: 0.875rem;
    margin-right: 0.25rem;
}

.rating-count {
    color: #6b7280;
    font-size: 0.875rem;
    white-space: nowrap;
}

.rating-count a {
    color: inherit;
    text-decoration: none;
}

.rating-count a:hover {
    color: #374151;
    text-decoration: underline;
}

.no-ratings {
    font-size: 0.875rem;
}

/* Compact variant */
.small-rating-widget.compact {
    gap: 0.25rem;
}

.small-rating-widget.compact .rating-numeric,
.small-rating-widget.compact .rating-count {
    font-size: 0.8125rem;
}

.small-rating-widget.compact .rating-stars-small .rating-star-small {
    font-size: 0.8125rem;
}

/* Course card specific styling */
.course-card .small-rating-widget {
    margin-top: 0.5rem;
}

.course-grid .small-rating-widget {
    justify-content: flex-start;
}

@media (max-width: 576px) {
    .small-rating-widget {
        gap: 0.375rem;
    }
    
    .rating-numeric,
    .rating-count {
        font-size: 0.8125rem;
    }
    
    .rating-stars-small .rating-star-small {
        font-size: 0.8125rem;
    }
}
.simplebar-wrapper .navbar-brand{
    background-color: #fff !important;
}
.simplebar-wrapper .navbar-brand img{
    filter: none;
}
 .completion-circle {
   width: 80px;
   height: 80px;
   border-radius: 50%;
   background: conic-gradient(#38a169 var(--completion), #e9ecef var(--completion));
   display: flex;
   align-items: center;
   justify-content: center;
   position: relative;
   }
   .completion-circle::before {
   content: '';
   position: absolute;
   inset: 8px;
   border-radius: 50%;
   background: white;
   }
   .completion-circle span {
   position: relative;
   z-index: 1;
   }
   .completion-items {
   max-height: 300px;
   overflow-y: auto;
   }
   .profile-container {
   position: relative;
   display: inline-block;
   }
   .profile-img {
   width: 120px;
   height: 120px;
   border-radius: 50%;
   object-fit: cover;
   border: 3px solid #dee2e6;
   }
   .edit-icon {
   position: absolute;
   bottom: 0;
   right: 0;
   background: #007bff;
   color: white;
   border-radius: 50%;
   width: 35px;
   height: 35px;
   display: flex;
   align-items: center;
   justify-content: center;
   cursor: pointer;
   border: 3px solid white;
   transition: all 0.3s ease;
   }
   .edit-icon:hover {
   background: #0056b3;
   transform: scale(1.1);
   }
   .hidden-input {
   display: none;
   }

   .input-group-text {
   background-color: #f8f9fa;
   border-color: #ced4da;
   color: #6c757d;
   font-size: 0.875rem;
   }
   /* Social Media URL extraction styles */
   .social-url-input.url-detected {
   border-color: #28a745;
   animation: urlDetected 0.3s ease-in-out;
   }
   @keyframes urlDetected {
   0% { background-color: #f8f9fa; }
   50% { background-color: #d4edda; }
   100% { background-color: #ffffff; }
   }
   .input-group .form-control.url-detected + .input-group-text {
   border-color: #28a745;
   }
   .learning-card-img{
    height: 90px;
    width: 100%;
   }