:root {

    --primary-background-color: #000000;
    --primary-font-color: #ffffff;
    --dash-containerecondary-font-color: #ffffff;
    --title-color: #ffffff;
    --sub-header-color: #30a9fa;
    --tab-color: #ffae01;
    --tab-font-color: #fff;
    --top-bar-color: #000000;
    --top-bar-font-color: #000000;
    --nav-bar-color: #000000;
    --nav-bar-font-color: #ffffff;
    --panel-color: #171a21;
    --panel-font-color: #e6e6e6;
    --primary-icon-color: #ffffff;
    --learning-time-color: #1e90ff; /* DodgerBlue */
    --percent-complete-color: #32cd32; /* LimeGreen */
    --test-score-color: #ff4500; /* OrangeRed */
    --completion-status-color: #ffa500; /* Orange */
    --link-color: #03a9f4;
    --warning-color: #ffa500;
    --error-color: #ff0000;
    --table-header-color: #242424;
    --table-header-font-color: #ffffff;
    --table-row-color: #1f1e1e;
    --table-row-color-odd: #272727;
    --table-row-hover-color: #000000;
    --modal-background-color: #000000;
    --modal-font-color: #ffffff;
    --modal-button-color: #313131;
    --modal-button-font-color: #ffffff;
    --modal-footer-color:#1f1e1e;

    /* Team Wizard Variables (from team-styles.css) */
    --panel: #171a21;
    --muted: #9aa4af;
    --text: #fff;
    --accent: #00a3ff;
    --accent-2: #1dd1a1;
    --danger: #ff5c5c;
    --border: #2a2f3a;
    --input: #000000;
    --input-border: #2a2f3a;
    --modal-bg: #1c1c1e;
    --modal-header-bg: #2a2a2d;
    --modal-border: #333;

    /* Additional utility colors */
    --success-color: #28a745;
    --info-color: #007bff;
    --light-gray: #ccc;
    --medium-gray: #888;
    --dark-gray: #555;
    --darker-gray: #333;
    --very-dark-gray: #222222;
    --scrollbar-track: #2c2c2c;
    --scrollbar-thumb: #888;
    --scrollbar-thumb-hover: #555;
    --border-light: #eceeef;
    --border-medium: #dedede;
    --badge-yellow: #ffc107;
    --badge-yellow-border: #ff9800;
    --badge-orange: #ffb84d;
    --tooltip-bg: #2a1e10;
    --tooltip-border: #7a5a2f;
    --tooltip-text: #ffd9a8;
    --favorite-toggle-bg: #d1d5db;
    --favorite-toggle-checked: #ffc107;
    --toast-text: #00140f;

    /* Toast notification variables */
    --toast-bg: #2d2d2d;
    --toast-header-bg: #363636;
    --toast-border: #444;
    --toast-text-color: #e0e0e0;
    --toast-muted: #aaa;
    --toast-close-color: #fff;
    --toast-progress-bg: #444;
    --toast-progress-bar: #f0ad4e;

}


body {
    background-color: var(--primary-background-color);
    font-family: 'Open Sans', sans-serif, 'arial', helvetica;
    color: var(--primary-font-color);
    font-size: .9em;
    font-weight: 400;
}


/* Global form field styles (for non-wizard forms like teams pages) */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="password"],
input[type="number"],
textarea,
select{
  width:100%;background:var(--input) !important;color:var(--text) !important;border:1px solid var(--input-border) !important;
  border-radius:10px;padding:12px 12px;outline:none !important;transition:border-color .15s ease;
  font-size:14px;font-family:inherit
}
textarea{min-height:120px;resize:vertical}
input:focus,
textarea:focus,
select:focus{border-color:var(--accent)}
input[disabled],
textarea[disabled],
select[disabled]{opacity:.6;cursor:not-allowed}
label{display:block;font-size:13px;color:var(--muted);margin-bottom:6px}
.hint{font-size:12px;color:var(--muted);margin-top:6px}


.btn {
    cursor: pointer;
    font-family: arial !important;
    font-size: 1em !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
}

a {
    text-decoration: none;
    color: var(--link-color);
}

.p-inverse {
    color: var(--primary-font-color) !important;
}

p {
    color: var(--primary-font-color);
}

.alternate-color {
    color: var(--secondary-font-color);
}

.highlight-bg {
    background-color: var(--panel-color) !important;
}



h4 {
    font-family: Roboto, sans-serif;
    font-size: 1.25em;
    padding-top: 15px;
    color: var(--sub-header-color);
    font-weight: 300;
    margin-bottom: 15px;
}

.card-header {
    background-color: var(--tab-color);
    color: var(--tab-font-color);
}

.card-body {
    background-color: inherit;
    color: inherit;
}



.new-badge {
  display: inline-block;
  padding: 0.25em 0.5em;
  font-size: 75%;
  font-weight: bold;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: 0.25rem;
  color: var(--primary-font-color) !important;
  background-color: var(--info-color) !important;
  margin-left: 0.5em;
}

.badge-new {
    background-color: var(--success-color) !important;
}

.modal-content {
    background-color: var(--modal-background-color);
    color: var(--modal-font-color);
    border-radius: 15px;
    padding: 15px;
}

.modal-body p {
    color: var(--modal-font-color);
}

.modal-header-warning, .model-header {
    background-color: var(--modal-background-color);
    font-weight: 500;
    color: var(--modal-font-color);
    border: none;
}

.modal-footer {
    border: none;
    background-color: var(--modal-footer-color);
    border-radius: 5px;
}

.modal-footer button {
    background-color: var(--modal-button-color);
    color: var(--modal-button-font-color);
    border: none;
    font-family: arial;
}

.modal-header .close {
    width: 20px;
    height: 20px;
    background-color: var(--primary-font-color);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: none; /* Remove default border */
    opacity: 1;
    cursor: pointer;
    /* Ensure it overrides Bootstrap */
    position: relative;
    top: 10px;
    right: 10px;
}

.modal-header .close span {
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1;
    color: var(--primary-background-color); /* Set color for the X */
}


.logo-image-top-bar {
    background-image: url('/public/assets/images/top-bar-logo.png'); 
    background-repeat: no-repeat;
    max-width: 200px;
    height: auto;
}

img.lazy-load {
    opacity: 0;
    transition: opacity 0.5s;
}

img.lazy-load.loaded {
    opacity: 1;
}

.top-nav-bar-color {
    background-color: var(--top-bar-color) !important;
    color: var(--nav-bar-font-color);
}

.side-bar-background-color {
    background-color: var(--top-bar-color) !important;
}

.side-bar-item-background-color {
    background-color: var(--top-bar-color) !important;
}

nav .navbar-nav li a {
    color: var(--nav-bar-font-color);
}

nav .nav-link {
    color: var(--nav-bar-font-color);
}

.navbar .navbar-brand {
    color: var(--nav-bar-font-color);
    padding-left: 0;
    padding-right: 20px;
    font-size: 24px;
}

.navbar .navbar-brand:hover,
.navbar .navbar-brand:focus {
    color: var(--nav-bar-font-color);
}

.navbar {

    background-color: var(--top-bar-color) !important;
    color: var(--nav-bar-font-color);
    padding: 5px 16px;
    border-radius: 0;

}

.navbar .nav>li a {
    color: var(--nav-bar-font-color);
    padding: 8px 15px;
    font-size: 14px;
}

.navbar .nav>li a:hover,
.navbar .nav>li a:focus {
    color: var(--nav-bar-font-color);
    text-shadow: 0 0 4px rgba(255, 255, 255, 0.3);
}

.navbar .nav .active a,
.navbar .nav .active a:hover,
.navbar .nav .active a:focus {
    color: var(--nav-bar-font-color);
    text-shadow: 0 0 4px rgba(255, 255, 255, 0.2);
    background: transparent !important;
}

.navbar .nav-item.open>a,
.navbar .nav-item.open>a:hover,
.navbar .nav-item.open>a:focus {
    color: var(--nav-bar-font-color);
    background: none !important;
}

.navbar-light .navbar-nav .nav-link {
    color: var(--nav-bar-font-color);
    color: var(--nav-bar-font-color);
}

.navbar .dropdown-menu li a {
    color: var(--primary-background-color) !important;
    padding: 8px 20px;
    line-height: normal;
}

.profile-img {
    width: 175px;
    margin: 10px;
    border: 10px solid var(--panel-color);
    border-radius: 500px;
    -webkit-border-radius: 500px;
    -moz-border-radius: 500px;
}

.bg-dark {
    background-color: var(--primary-background-color)000 !important;
}


.tab-wrap {
    transition: 0.3s box-shadow ease;
    border-radius: 6px;
    max-width: 100%;
    display: flex;
    flex-wrap: wrap;
    position: relative;
    list-style: none;
    background-color: var(--panel-color);
    margin: 15px 0;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
}

.tab-wrap:hover {
    box-shadow: 0 12px 23px rgba(0, 0, 0, 0.23), 0 10px 10px rgba(0, 0, 0, 0.19);
}

.tab+label:hover {
    background-color: var(--primary-background-color);
}

.tab:checked+label {
    background-color: var(--tab-color);
    box-shadow: 0 -1px 0 var(--border-medium) unset;
    cursor: default;
    color: var(--primary-background-color);
}

.tab+label {
    border-radius: 6px 6px 0 0;
    cursor: pointer;
    display: block;
    text-decoration: none;
    color: var(--primary-font-color);
    flex-grow: 3;
    text-align: left;
    background-color: var(--panel-color);
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    transition: 0.3s background-color ease, 0.3s box-shadow ease;
    height: 65px;
    box-sizing: border-box;
    padding: 15px;
}

.page-title {
    font-family: Roboto, sans-serif;
    font-size: 1.75em;
    padding-top: 15px;
    margin-bottom: 15px;
    color: var(--title-color);
    font-weight: 300;
    letter-spacing: -1px;
}

.bold-page-title {
    font-family: 'Anton';
    font-size: 1.75em;
    padding-top: 15px;
    padding-left: 15px;
    color: var(--title-color);
    font-weight: 200;
    letter-spacing: -1px;
}

.course_nav_box {
    overflow: auto;
    border: none;
    border-radius: 6px;
    margin-bottom: 20px;
    height: 100%;
    min-height: 400px;
    background-color: var(--panel-color);
    color: var(--panel-font-color);
    border-radius: 10px;
    margin-top: 60px;    
}

.course-nav-col-container {
    display: flex;
    width: 100%;
  }
  .course-nav-col {
    flex: 1;
    padding: 16px;
  }

.progress {
    background-color: var(--light-gray) !important;
}
.module {
    color: var(--tab-color) !important;
}


.module-progress-info {

    font-weight: 300;
    padding-top: 3px;
}

.accordion a {
    color: var(--panel-font-color) !important;
}

.accordian-content-panel::-webkit-scrollbar {
    background-color: var(--panel-color);
    width: 8px
}

.accordian-content-panel::-webkit-scrollbar-track {
    background-color: var(--very-dark-gray)
}

.accordian-content-panel::-webkit-scrollbar-thumb {
    background-color: var(--panel-color);
    border-radius: 2px;
    border: 4px solid var(--panel-color);
}

.avatar-largeWrapper {
    position: relative;
    margin: 0 auto;
    width: 258px;
}

.avatar-large-large {
    background-color: var(--panel-color);
    border-radius: 100%;
    height: 216px;
    width: 216px;
    padding: 8px 50px 8px 0;
}

.avatar-large.active {
    border-radius: 100% 0 20px 100%;
    background-color: var(--error-color);
}

.avatar-large img {
    border-radius: 100%;
    width: 200px;
    margin-left: 8px;
}

.avatar-large .uploadOverlay,
.avatar-large .uploadCompleteOverlay {
    background-color: rgba(204, 1, 1, 0.8);
    -webkit-transition: all 150ms ease;
    -moz-transition: all 150ms ease;
    -ms-transition: all 150ms ease;
    -o-transition: all 150ms ease;
    transition: all 150ms ease;
    background-repeat: no-repeat;
    background-position: center;
    border-radius: 100%;
    position: absolute;
    height: 200px;
    width: 200px;
    left: 8px;
    top: 0;
    opacity: 0;
}

.avatar-large .uploadOverlay i,
.avatar-large .uploadCompleteOverlay i {
    vertical-align: bottom;
    display: inline-block;
    line-height: 200px;
    text-align: center;
    font-size: 40px;
    height: 200px;
    width: 200px;
    color: var(--primary-font-color);
}

.avatar-large:hover .uploadOverlay {
    -webkit-transition: all 150ms ease;
    -moz-transition: all 150ms ease;
    -ms-transition: all 150ms ease;
    -o-transition: all 150ms ease;
    transition: all 150ms ease;
    opacity: 1;
    top: 8px;
}

.avatar-large .uploadCompleteOverlay {
    background-color: rgba(104, 174, 0, 0.9);
    opacity: 1;
    top: 8px;
}

.avatar-large .processingOverlay {
    background-image: url("https://s3-us-west-2.amazonaws.com/s.cdpn.io/20625/loading2.gif");
    background-color: rgba(204, 1, 1, 0.8);
    background-repeat: no-repeat;
    background-position: center;
    border-radius: 100%;
    position: absolute;
    height: 200px;
    width: 200px;
    left: 8px;
    top: 8px;
}

.avatar-largeNav {
    background-color: var(--error-color) !important;
    position: absolute;
    top: 0;
    right: 0;
    width: 42px;
    height: 100%;
    font-size: 30px;
    border-radius: 0 10px 10px 0;
    color: var(--primary-font-color);
}

.avatar-largeNav a {
    color: var(--primary-font-color);
    opacity: 1;
}

.avatar-largeNav a:hover {
    opacity: 0.7;
}

.avatar-largeNav .avZoomIn,
.avatar-largeNav .avZoomOut,
.avatar-largeNav .avSave,
.avatar-largeNav .avDelete {
    position: absolute;
}

.avatar-largeNav .avZoomIn {
    top: 20px;
    left: 6px;
}

.avatar-largeNav .avZoomOut {
    top: 55px;
    left: 6px;
}

.avatar-largeNav .divider {
    position: absolute;
    top: 91px;
    left: 7px;
    color: var(--danger);
    font-size: 20px;
    text-align: center;
    width: 24px;
}

.avatar-largeNav .avSave {
    top: 112px;
    left: 4px;
}

.avatar-largeNav .avDelete {
    background-color: var(--panel-color);
    color: var(--muted);
    top: 174px;
    left: 0px;
    width: 42px;
    border-radius: 10px 0 0 0;
}

.cursor-pointer {
    cursor: pointer;
}

.cursor-move {
    cursor: move;
}

.cursor-wait {
    cursor: wait;
}

.tooltip {
    white-space: nowrap;
}

ul.nav.nav-pills.nav-stacked {
    text-align: left;
    margin-bottom: 50px;
}

ul.nav.nav-pills.nav-stacked li a {
    color: var(--secondary-font-color);
}

ul.nav.nav-pills.nav-stacked li a .fa-angle-right {
    display: none;
    line-height: 20px;
}

ul.nav.nav-pills.nav-stacked li a:hover {
    background-color: var(--secondary-font-color);
}

ul.nav.nav-pills.nav-stacked li a:hover .fa-angle-right {
    display: block;
}

ul.nav.nav-pills.nav-stacked li.active a {
    background-color: var(--error-color);
    color: var(--primary-font-color);
}

ul.nav.nav-pills.nav-stacked li.active a .fa-angle-right {
    display: block;
}

.fast {
    -webkit-animation-duration: 200ms;
    animation-duration: 200ms;
}

.panel-box {
    border: 1px solid var(--primary-font-color);
    color: var(--primary-font-color);
    width: 100%;
    border-radius: 6px;
    margin-top: 10px;
    margin-bottom: 10px;
    padding: 15px;
}

.admin-bar {
    background-color: var(--primary-background-color);
    width: 100%;
    border-radius: 5px;
    padding: 5px;
    margin-bottom: 10px;
}



.metric-box {
    width: 99%;
    padding: 10px 10px 10px 20px;
    background-color: var(--panel-color);
    color: var(--panel-font-color);
    min-height: 275px;
    border-radius: 6px;
}

.metric-desc {
    font-family: roboto;
    font-size: 1em;
    line-height: 20px;
    margin-top: 15px;
}


.box {
    background-color: var(--panel-color);
    min-height: 200px;
    width: 100%;
    margin: 30px auto;
    padding-top: 40px;
    background: var(--panel-color);
    border-radius: 5px;
    text-align: center;
    font-weight: 700;
    color: var(--panel-font-color);
    text-decoration: none;
}

.box p {
    font-weight: 300;
    font-size: .9em;
}


.box .fas {
    font-size: 4em !important;
    color: var(--tab-color);
    padding-bottom: 10px;
}

.box-a {
    text-decoration: none !important;
}

.box-a:hover {
    text-decoration: none;
}


.success-message {
    border: 1px solid var(--primary-font-color);
    border-radius: 6px;
    padding-left: 10px;
    padding: 20px;
    display: inline-flex;
    vertical-align: middle;
    align-items: center;
    color: var(--primary-font-color);
}





@media (max-width: 1024px) {
    .course-nav-col-container {
        display: block;
        width: 100%;
      }
      .course-nav-col {
        flex: 1;
        padding: 16px;
      }
}

.question-row-decoration {
    background-color: rgba(255, 255, 255, 0.12);
    border-radius: 7px;
    padding-bottom: 10px;
}

.form-label {
    padding-left: 0px;
    padding-bottom: 7px;
    display: inline-block;
}

.list-group-item-action { 
    color: var(--nav-bar-font-color);
}

.list-group-item-action:hover { 
    border-radius: 7px;
}

a.bg-dark:focus, a.bg-dark:hover, button.bg-dark:focus, button.bg-dark:hover {
    background-color: var(--panel-color) !important;
    border-radius: 7px;
}


.course-top-nav-bar {
    background-color: var(--panel-color);
    padding: 10px;
    border-radius: 7px;
    width: 100%;
}

.highlight-bar {
    background-color: var(--panel-color);
    padding: 10px;
    border-radius: 7px;
    width: 100%;
    margin-bottom: 20px;
}

.history-icons {
    color:var(--tab-color);
    font-size: 2em;
}


.gj-editor-bootstrap, .gj-editor-bootstrap [role=body] {
    border: 1px solid var(--border-light);
    color: var(--primary-background-color);
}


.btn-outline-secondary {
    color: var(--primary-font-color);
    background-color: var(--panel-color);
    background-image: none;
    border-color: var(--panel-color);
}

.dark-box {
    background-color: var(--panel-color);
    padding: 15px;
}


.dark-box:hover {
    background-color: var(--primary-background-color);
    color: var(--panel-font-color);
    padding: 15px;
}


.upload-area {
    width: 100%;
    height: 150px;
    border: 3px dotted var(--primary-font-color) !important;
    border-radius: 7px;
    margin: 0 auto;
    margin-top: 10px;
    text-align: center;
    overflow: auto;
    margin-left: 20px;
    margin-right: 20px;
}

.upload-area h1 {
    font-size: 1em;
    text-align: center;
    font-weight: normal;
    font-family: sans-serif;
    color: var(--primary-font-color) !important;
}

.resource-icon-side {
    background-color: var(--tab-color);
    color: var(--tab-font-color);
    padding: 10px;
    max-width: 60px;
    padding-left: 20px !important;
}


.side-tab {
    position: fixed;
    right: 0;
    transform: translateY(-50%);
    z-index: 1000;
}

.side-tab-button {
    background-color: var(--tab-color);
    color: var(--tab-font-color);
    padding: 10px 20px;
    border: none;
    border-radius: 5px 0 0 5px;
    cursor: pointer;
    transition: background-color 0.3s;
    font-size: 16px;
}

/* course metrics containers */

.metrics-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
   
    margin: 0 auto; /* Center align the container */
}
.metric-card {
    flex: 1 1 45%; /* Grow to fill space, shrink if needed, start with 45% width */
    background-color: var(--panel-color);
    border-radius: 7px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    padding: 20px;
    margin: 10px;
    box-sizing: border-box; /* Ensure padding is included in width calculation */
}
@media (min-width: 768px) {
    .metric-card {
        flex: 1 1 22%; /* On medium screens and up, 4 cards per row */
    }
}
.metric-title {
    font-size: 16px;
    color: var(--panel-font-color);
    margin-bottom: 10px;
}
.metric-value {
    font-size: 20px;

}
.learning-time {
    color: var(--learning-time-color);
}
.percent-complete {
    color: var(--percent-complete-color);
}
.test-score {
    color: var(--test-score-color);
}
.completion-status {
    color: var(--completion-status-color);
}       





/* The sidebar menu */
.sidebar {
    height: 100%; /* Full-height */
    width: 0; /* Initially, the width is set to 0 */
    position: fixed; /* Stay in place */
    z-index: 1; /* Stay on top */
    top: 0;
    left: 0;
    background-color: var(--primary-background-color); /* Black */
    overflow-x: hidden; /* Disable horizontal scroll */
    transition: 0.5s; /* 0.5 second transition effect to slide in the sidebar */
    padding-top: 60px; /* Place content 60px from the top */
}

/* Sidebar links */
.sidebar a {
    padding: 10px 15px;
    text-decoration: none;
    font-size: 25px;
    color: var(--muted);
    display: block;
    transition: 0.3s;
}

.input-group-text {
  background-color: var(--tab-color);
  color: var(--tab-font-color);
}


/* When you mouse over the links, change their color */
.sidebar a:hover {
    color: var(--primary-font-color);
}

/* Close button to close the sidebar */
.sidebar .closebtn {
    position: absolute;
    top: 0;
    right: 25px;
    font-size: 36px;
    margin-left: 50px;
}

/* Add a margin to the content when the sidebar is open */
#main {
    transition: margin-left .5s;
    padding: 16px;
}

/* Change width of the sidebar to 250px and left margin of the content to 250px */
.sidebar.active {
    width: 50%;
    z-index: 10001;
}

#main.active {
    margin-left: 250px;
}

.highlight {
    display: inline-block;
    padding: 5px;
    background-color:rgb(0, 154, 201);
    border-radius: 3px;
}

.captions-text {
    font-family: arial;
    font-size: 10pt;
    line-height: 1.4;
}



/* Basic table styling */
table {
    width: 100%;
    text-align: left;
}

/* Table header styling */
th, td {
    padding: 7px 9px;
    border: none !important;
    font-size: 12px;
}


/* Table header background color */
th {
    background-color: var(--table-header-color);
    color: var(--table-header-font-color);
    font-weight: 300;
    border: 1px solid var(--table-header-color) !important;
}

tr {
    background-color: var(--table-row-color);
}

/* Zebra striping for table rows */
tr:nth-child(even) {
    background-color: var(--table-row-color-odd);
}

/* Hover effect for table rows */
tr:hover {
    background-color: var(--table-row-hover-color)
}

/* Align text in header to the left */
th {
    text-align: left;
}


/* Basic row styling */
.table-row {
    display: flex;
    padding: 12px 15px;
}

/* Header row background color */
.header-row {
    background-color: var(--table-header-color);
    color: var(--table-header-font-color)
}


/* Align text in columns to the right except the first column */
.table-col {
    flex: 1;
    text-align: left;
}


.table-dashboard-container {
    max-height: 600px;
    overflow-y: scroll;

}


/* WebKit browsers (Chrome, Safari) */
.table-dashboard-container::-webkit-scrollbar {
    width: 12px; /* Width of the scrollbar */
}

.table-dashboard-container::-webkit-scrollbar-track {
    background: var(--scrollbar-track); /* Track color */
}

.table-dashboard-container::-webkit-scrollbar-thumb {
    background-color: var(--medium-gray); /* Scrollbar thumb color */
    border-radius: 10px; /* Roundness of the scrollbar thumb */
    border: 3px solid var(--primary-font-color); /* Space around thumb */
}

.table-dashboard-container::-webkit-scrollbar-thumb:hover {
    background-color: var(--dark-gray); /* Scrollbar thumb color on hover */
}

/* Firefox */
.table-dashboard-container {
    scrollbar-width: thin; /* Thin scrollbar */
    scrollbar-color: var(--medium-gray) var(--scrollbar-track); /* Scrollbar thumb and track color */
}



/* WebKit browsers (Chrome, Safari) */
.sidebar-container::-webkit-scrollbar {
    width: 12px; /* Width of the scrollbar */
}

.sidebar-container::-webkit-scrollbar-track {
    background: var(--scrollbar-track); /* Track color */
}

.sidebar-container::-webkit-scrollbar-thumb {
    background-color: var(--medium-gray); /* Scrollbar thumb color */
    border-radius: 10px; /* Roundness of the scrollbar thumb */
    border: 3px solid var(--primary-font-color); /* Space around thumb */
}

.sidebar-container::-webkit-scrollbar-thumb:hover {
    background-color: var(--dark-gray); /* Scrollbar thumb color on hover */
}

/* Firefox */
.sidebar-container {
    max-height: 90vh;
    min-height:90vh;
    overflow-y: auto;
    scrollbar-width: thin; /* Thin scrollbar */
    scrollbar-color: var(--medium-gray) var(--scrollbar-track); /* Scrollbar thumb and track color */
}

.bx {
    padding-right: 10px;
    font-size: 1.3em;
}

.play-circle {
    width: 40px; /* Set the width of the circle */
    height: 40px; /* Set the height of the circle */
    background-color: var(--tab-color); /* Background color of the circle */
    border-radius: 50%; /* Make it a circle */
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none; /* Remove underline */
    color: var(--primary-font-color); /* Set text color */
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.3); /* Add drop shadow */
}

.play-icon {
    width: 0;
    height: 0;
    border-left: 10px solid var(--tab-font-color); /* Color of the play icon */
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
    margin-left: 2px;
}


/* dashboard grid */

.dashboard-course-title {
    line-height: 1; 
    padding-bottom: 8px; 
    font-size: 120%;
    display: inline-block;
}

.dash-container {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-top: 25px;
}

@media (max-width: 1200px) {
  .dash-container {
      grid-template-columns: 1fr;
  }
}

.dash-box {
    background-color: var(--panel);
    margin-bottom: 20px;
    border:1px solid var(--border);border-radius:14px;box-shadow:0 10px 20px rgba(0,0,0,.05);padding:30px;
}

.card{background:var(--panel);border:1px solid var(--border);border-radius:14px;box-shadow:0 10px 20px rgba(0,0,0,.25);padding:30px;}


.sort-dropdown, .path-select {
    position: relative;
    display: inline-block;
}

.sort-dropdown button, .path-select button {
    padding: 10px;
    font-size: 12px;
    cursor: pointer;
}

.sort-dropdown ul {
    list-style-type: none;
    padding: 0;
    margin: 0;
    position: absolute;
    background-color: var(--primary-font-color);
    border: 1px solid var(--light-gray);
    border-radius: 4px;
    display: none;
    z-index: 1;
    width: 150px;
}

.path-select ul {
    list-style-type: none;
    padding: 0;
    margin: 0;
    position: absolute;
    background-color: var(--primary-font-color);
    border: 1px solid var(--light-gray);
    border-radius: 4px;
    display: none;
    z-index: 1;
    width: 250px !important;
    margin-left: -100px;
}

.sort-dropdown ul li, .path-select ul li {
    padding: 8px;
    text-align: left;
}

.sort-dropdown ul li span, .path-select ul li span {
    text-decoration: none;
    color: var(--primary-background-color);
    display: block;
    font-size: 12px;
}

.sort-dropdown ul li span:hover, .path-select ul li span:hover {
    background-color: var(--primary-font-color);
}




.input-search-box {
    padding: 10px;
    margin-bottom: 10px;
    font-size: 12px;
    border: 1px solid var(--light-gray);
    border-radius: 4px;
    width: 100%; /* Adjust the width as needed */
    box-sizing: border-box; /* Ensure padding and border are included in the element's total width and height */
}

.input-search-box::placeholder {
    color: var(--medium-gray);
    font-size: 12px;
}


/* Lightbox styles */
.lightbox {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, .95);
    justify-content: center;
    align-items: center;
    z-index: 1000;
}

.lightbox-content {
    padding: 20px;
    max-width: 90%;
    max-height: 90%;
    overflow: auto;
}

.close-lightbox {
    position: absolute;
    top: 10px;
    right: 20px;
    font-size: 30px;
    color: var(--primary-font-color);
    cursor: pointer;
}


.icon-tooltip {
    position: absolute;
    background-color: var(--darker-gray);
    color: var(--primary-font-color);
    padding: 5px;
    border-radius: 5px;
    font-size: 0.75rem;
    white-space: nowrap;
    z-index: 1000;
    opacity: 1;
    pointer-events: none; /* Ensure the tooltip doesn't block hover events */
    transition: opacity 0.2s;
    display: inline-block;
  }

  .icon-tooltip::after {
    content: '';
    position: absolute;
    top: 100%; /* Arrow points downwards from the tooltip */
    left: 50%;
    transform: translateX(-50%);
    border-width: 5px;
    border-style: solid;
    border-color: var(--darker-gray) transparent transparent transparent;
  }
  
  .icon:hover .icon-tooltip {
    opacity: 1;
  }


        .reset-styles {
            all: unset; /* Resets all properties */
            display: revert; /* Resets the display property to its default */
            box-sizing: border-box; /* Standard box-sizing */
            margin: 0;
            padding: 0;
            border: 0;
            outline: 0;
            background: none;
            color: inherit;
            font: inherit;
            text-align: inherit;
            vertical-align: baseline;
            white-space: normal;
            width: auto;
            height: auto;
            min-width: 0;
            min-height: 0;
            max-width: none;
            max-height: none;
            overflow: visible;
            position: static;
            float: none;
            clear: none;
            z-index: auto;
            opacity: 1;
            visibility: visible;
            cursor: inherit;
            pointer-events: auto;
            -webkit-appearance: none;
            -moz-appearance: none;
            appearance: none;
        }




        .parent-container {
            counter-reset: step-counter;
        }

        .timeline {
            position: relative;
            width: 100%;
            margin: 0 auto;
            padding: 1em 0;
            list-style-type: none;
          }
          
          .timeline:before {
            position: absolute;
            left: 20px;
            top: 0;
            content: ' ';
            display: block;
            width: 6px;
            height: 100%;
            margin-left: -3px;
            background: rgb(80,80,80);
            background: -moz-linear-gradient(top, rgba(80,80,80,0) 0%, rgb(80,80,80) 8%, rgb(80,80,80) 92%, rgba(80,80,80,0) 100%);
            background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(30,87,153,1)), color-stop(100%,rgba(125,185,232,1)));
            background: -webkit-linear-gradient(top, rgba(80,80,80,0) 0%, rgb(80,80,80) 8%, rgb(80,80,80) 92%, rgba(80,80,80,0) 100%);
            background: -o-linear-gradient(top, rgba(80,80,80,0) 0%, rgb(80,80,80) 8%, rgb(80,80,80) 92%, rgba(80,80,80,0) 100%);
            background: -ms-linear-gradient(top, rgba(80,80,80,0) 0%, rgb(80,80,80) 8%, rgb(80,80,80) 92%, rgba(80,80,80,0) 100%);
            background: linear-gradient(to bottom, rgba(80,80,80,0) 0%, rgb(80,80,80) 8%, rgb(80,80,80) 92%, rgba(80,80,80,0) 100%);
            
            z-index: 5;
          }
          
          .timeline li {
            padding: 1em 0;
          }
          
          .timeline li:after {
            content: "";
            display: block;
            height: 0;
            clear: both;
            visibility: hidden;
          }
          
          .direction-l {
            position: relative;
            width: 300px;
            float: left;
            text-align: right;
          }
          
          .direction-r {
            position: relative;
            width: 90%;
            margin-left: 50px;

          }
          
          .flag-wrapper {
            position: relative;
            display: inline-block;
         }
          
          .flag {
            position: relative;
            display: inline-block;
            background: var(--primary-background-color);
            padding: 6px 10px;
            border-radius: 5px;
            font-weight: 600;
            text-align: left;
            color: var(--primary-font-color) !important;
          }
          
          .direction-l .flag {
            -webkit-box-shadow: -1px 1px 1px rgba(0,0,0,0.15), 0 0 1px rgba(0,0,0,0.15);
            -moz-box-shadow: -1px 1px 1px rgba(0,0,0,0.15), 0 0 1px rgba(0,0,0,0.15);
            box-shadow: -1px 1px 1px rgba(0,0,0,0.15), 0 0 1px rgba(0,0,0,0.15);
          }
          
          .direction-r .flag {
            -webkit-box-shadow: 1px 1px 1px rgba(0,0,0,0.15), 0 0 1px rgba(0,0,0,0.15);
            -moz-box-shadow: 1px 1px 1px rgba(0,0,0,0.15), 0 0 1px rgba(0,0,0,0.15);
            box-shadow: 1px 1px 1px rgba(0,0,0,0.15), 0 0 1px rgba(0,0,0,0.15);
          }
          
          .direction-l .flag:before,
          .direction-r .flag:before {
            position: absolute;
            top: 50%;
            right: -41px;
            display: flex;
            justify-content: center;
            align-items: center;
            width: 32px;
            height: 32px;
            margin-top: -16px; /* Centering the circle vertically */
            background: var(--primary-font-color);
            border-radius: 50%;
            border: 4px solid rgb(0, 132, 255);
            z-index: 10;
            counter-increment: step-counter;
            content: counter(step-counter);
            text-align: center;
            font-size: 16px; /* Adjust as needed for better fit */
            color: var(--primary-background-color);
          }
          
          .direction-r .flag:before {
            left: -46px;
          }
          
          .direction-l .flag:after {
            content: "";
            position: absolute;
            left: 100%;
            top: 50%;
            height: 0;
            width: 0;
            margin-top: -8px;
            border: solid transparent;
            border-left-color: var(--primary-background-color);
            border-width: 8px;
            pointer-events: none;
          }

          .direction-r .flag:after {
            content: "";
            position: absolute;
            right: 100%;
            top: 50%;
            height: 0;
            width: 0;
            margin-top: -8px;
            border: solid transparent;
            border-right-color: var(--primary-background-color);
            border-width: 8px;
            pointer-events: none;
          }
          
          .time-wrapper {
            display: inline;
            
            line-height: 1em;
            font-size: 0.66666em;
            color: rgb(250,80,80);
            vertical-align: middle;
          }
          
          .direction-l .time-wrapper {
            float: left;
          }
          
          .direction-r .time-wrapper {
            float: right;
          }
          
          .time {
            display: inline-block;
            padding: 4px 6px;
            background: rgb(248,248,248);
          }
          
          .desc {
            margin: 1em 0.75em 0 0;
            
            font-size: 0.87777em;
            line-height: 1.5em;
          }
          
          .direction-r .desc {
            margin: 1em 0 0 0.75em;
          }

          .timeline-inprocess {
            display: inline-block;
            padding: 5px;
            background-color: rgb(100, 0, 158);
            border-radius: 5px;
            margin-bottom: 5px;
          }

          .timeline-pending {
            display: inline-block;
            padding: 5px;
            background-color: rgb(255, 153, 0);
            border-radius: 5px;
            margin-bottom: 5px;
          }

          .timeline-completed {
            display: inline-block;
            padding: 5px;
            background-color: rgb(0, 119, 60);
            border-radius: 5px;
            margin-bottom: 5px;
          }

          .timeline-notstarted {
            display: inline-block;
            padding: 5px;
            background-color: rgb(0, 48, 121);
            border-radius: 5px;
            margin-bottom: 5px;
          }

          .timeline-warning-icon {
            color: red;
            float:left;
            margin-right: 5px;

          }

          .timeline-message {
            margin-top: 10px;
          }

          .path-play {
            border: 1px solid var(--primary-font-color);
            background: transparent;
            border-radius: 5px;
            padding: 5px 10px 5px 5px;
            margin-top: 10px;
            margin-bottom: 5px;
            color: var(--primary-font-color);
          }

          .icon-path-play {
            border: 1px solid var(--primary-font-color);
            background: transparent;
            border-radius: 3px;
            padding: 5px 7px;
            margin-right: 5px;
            color: var(--primary-font-color);

          }


          .remove {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 30px;
            height: 30px;
            border-radius: 50%;
            background-color: var(--error-color);
            color: var(--primary-font-color);
            border: none;
            cursor: pointer;
            font-size: 18px;
            line-height: 1;
            position: relative;
            float: right;
            margin-top: -15px;
        }
        
        .remove::before {
            content: '×';
            font-weight: bold;
        }


        .percent-circle-container {
            position: relative;
            width: 100px;
            height: 100px;
            display: flex;
            align-items: center;
            justify-content: center;
          }
          
          .percent-circle {
            width: 100%;
            height: 100%;
            transform: rotate(-90deg);
          }
          
          .circle-bg {
            fill: none;
            stroke: var(--light-gray);
            stroke-width: 3.8;
          }

          .circle {
            fill: none;
            stroke: var(--success-color);
            stroke-width: 3.8;
            stroke-linecap: round;
            stroke-dasharray: 0 100;
            transition: stroke-dasharray 1s;
          }

          .percent-text {
            position: absolute;
            font-size: 16px;
            font-weight: bold;
            color: var(--success-color);
          }
          
          .percent-circle-container[data-percent="0"] .circle {
            stroke-dasharray: 0 100;
          }
          

          .sticky-bar {
            position: -webkit-sticky; /* For Safari */
            position: sticky;
            bottom: 0;
            width: 100%;
            background-color: var(--tab-color);
            padding: 10px;
            display: flex;
            justify-content: flex-end;
            align-items: center;
            z-index: 100;
            border-radius: 7px;
          }


          .information-icon {
            display: inline-block;
            vertical-align: middle;
            width: 20px;
            height: 20px;
            border: 1px solid var(--primary-font-color);
            border-radius: 50%;
            background-color: transparent;
            color: var(--primary-font-color);
            font-size: 12px; /* Adjust font size to fit the "i" nicely within the circle */
            font-family: Arial, sans-serif; /* You can choose any font family */
            text-align: center; /* Center the text horizontally */
            line-height: 20px; /* Center the text vertically */
            cursor: pointer; /* Change cursor to pointer on hover */
        }          

        .help-popup {
            display: none; /* Hidden by default */
            position: absolute;
            background-color: var(--background-color);
            border: 1px solid var(--border-color);
            padding: 10px;
            border-radius: 5px;
            box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
            z-index: 1000;
            width: 200px; /* Width of the popup */
        }

        .help-popup::before {
            content: "";
            position: absolute;
            top: 50%;
            left: -10px; /* Adjust to align with the icon */
            border-width: 5px;
            border-style: solid;
            border-color: transparent var(--border-color) transparent transparent;
        }

        .help-popup p {
            margin: 0;
            color: var(--primary-font-color);
        } 
          /* ================ Timeline Media Queries ================ */
          
          @media screen and (max-width: 660px) {
          
          .timeline {
               width: 100%;
              padding: 4em 0 1em 0;
          }
          
          .timeline li {
              padding: 2em 0;
          }
          
          .direction-l,
          .direction-r {
              float: none;
              width: 100%;
          
              text-align: center;
          }
          
          .flag-wrapper {
              text-align: center;
          }
          
          .flag {
              background: var(--primary-font-color);
              z-index: 15;
          }

          .direction-l .flag:before,
          .direction-r .flag:before {
            position: absolute;
            top: -30px;
              left: 50%;
              content: ' ';
              display: block;
              width: 12px;
              height: 12px;
              margin-left: -9px;
              background: var(--primary-font-color);
              border-radius: 10px;
              border: 4px solid rgb(0, 136, 45);
              z-index: 10;
          }

          .direction-l .flag:after,
          .direction-r .flag:after {
              content: "";
              position: absolute;
              left: 50%;
              top: -8px;
              height: 0;
              width: 0;
              margin-left: -8px;
              border: solid transparent;
              border-bottom-color: var(--primary-font-color);
              border-width: 8px;
              pointer-events: none;
          }
          
          .time-wrapper {
              display: block;
              position: relative;
              margin: 4px 0 0 0;
              z-index: 14;
          }
          
          .direction-l .time-wrapper {
              float: none;
          }
          
          .direction-r .time-wrapper {
              float: none;
          }
          
          .desc {
              position: relative;
              margin: 1em 0 0 0;
              padding: 1em;
              background: rgb(245,245,245);
              -webkit-box-shadow: 0 0 1px rgba(0,0,0,0.20);
              -moz-box-shadow: 0 0 1px rgba(0,0,0,0.20);
              box-shadow: 0 0 1px rgba(0,0,0,0.20);
              
            z-index: 15;
          }
          
          .direction-l .desc,
          .direction-r .desc {
              position: relative;
              margin: 1em 1em 0 1em;
              padding: 1em;
              
            z-index: 15;
          }
          
          }
          
          @media screen and (min-width: 400px) and (max-width: 660px) {

          .direction-l .desc,
          .direction-r .desc {
              margin: 1em 4em 0 4em;
          }

          }


        .preview-path-container {
            display: flex;
            flex-wrap: wrap;
            justify-content: space-between;
            gap: 20px; /* Add gap between columns */
        }
        .preview-path-column {
            flex: 1 1 48%;
            box-sizing: border-box;
            padding: 15px;
            margin-bottom: 10px;
        }

        @media (max-width: 768px) {
            .preview-path-column {
                flex: 1 1 100%;
            }
        }

        @media (max-width: 768px) {
            .dash-container {
                grid-template-columns: 1fr;
                display: block;
                margin-bottom: 10px;
            }
        }

         /* Side Tab Styling */
    .feedback-tab {
        position: fixed;
        right: 0;
        top: 50%;
        transform: translateY(-50%);
        background-color: orange;
        color: white;
        width: 40px;
        text-align: center;
        cursor: pointer;
        writing-mode: vertical-rl;
        padding: 10px 15px;
        font-size: 16px;
      }
  
      /* Flyout Form Styling */
      .feedback-flyout {
        position: fixed;
        right: 0;
        top: 0;
        height: 100%;
        width: 350px;
        background-color: var(--darker-gray);
        box-shadow: -2px 0 5px rgba(0,0,0,0.5);
        padding: 20px;
        transform: translateX(100%);
        transition: transform 0.3s ease;
        z-index: 1000;
      }
  
      .feedback-flyout.open {
        transform: translateX(0);
      }
  
      .feedback-flyout .close-btn {
        position: absolute;
        top: 10px;
        right: 10px;
        color: var(--primary-font-color);
        cursor: pointer;
      }
  
      .feedback-flyout .form-group {
        margin-bottom: 1rem;
      }
  
      .feedback-flyout .btn-send {
        width: 100%;
      }
  
      .feedback-overlay {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.5);
        display: none;
      }
  
      .feedback-overlay.show {
        display: block;
      }
  
      .form-check-inline {
        display: inline-flex;
        align-items: center;
        margin-right: 10px;
        cursor: pointer;
        font-size: 24px;
        color: var(--primary-font-color);
      }
  
      .form-check-input {
        display: none;
      }
  
      .form-check-inline i.selected {
        color: dodgerblue !important;
      }
  


      .example {
        margin: 4rem auto;
      }
      .example > .row {
        margin-top: 2rem;
        height: 5rem;
        vertical-align: middle;
        text-align: center;
        border: 1px solid rgba(189, 193, 200, 0.5);
      }
      .example > .row:first-of-type {
        border: none;
        height: auto;
        text-align: left;
      }
      .example h3 {
        font-weight: 400;
      }
      .example h3 > small {
        font-weight: 200;
        font-size: 0.75em;
        color: var(--muted);
      }
      .example h6 {
        font-weight: 700;
        font-size: 0.65rem;
        letter-spacing: 3.32px;
        text-transform: uppercase;
        color: var(--muted);
        margin: 0;
        line-height: 5rem;
      }
      .example .btn-toggle {
        top: 50%;
        transform: translateY(-50%);
      }
      .btn-toggle {
        margin: 0 4rem;
        padding: 0;
        position: relative;
        border: none;
        height: 1.5rem;
        width: 3rem;
        border-radius: 1.5rem;
        color: var(--muted);
        background: var(--muted);
      }
      .btn-toggle:focus,
      .btn-toggle.focus,
      .btn-toggle:focus.active,
      .btn-toggle.focus.active {
        outline: none;
      }
      .btn-toggle:before,
      .btn-toggle:after {
        line-height: 1.5rem;
        width: 4rem;
        text-align: center;
        font-weight: 600;
        font-size: 0.75rem;
        text-transform: uppercase;
        letter-spacing: 2px;
        position: absolute;
        bottom: 0;
        transition: opacity 0.25s;
      }
      .btn-toggle:before {
        content: 'Off';
        left: -4rem;
      }
      .btn-toggle:after {
        content: 'On';
        right: -4rem;
        opacity: 0.5;
      }
      .btn-toggle > .handle {
        position: absolute;
        top: 0.1875rem;
        left: 0.1875rem;
        width: 1.125rem;
        height: 1.125rem;
        border-radius: 1.125rem;
        background: var(--primary-font-color);
        transition: left 0.25s;
      }
      .btn-toggle.active {
        transition: background-color 0.25s;
      }
      .btn-toggle.active > .handle {
        left: 1.6875rem;
        transition: left 0.25s;
      }
      .btn-toggle.active:before {
        opacity: 0.5;
      }
      .btn-toggle.active:after {
        opacity: 1;
      }
      .btn-toggle.btn-sm:before,
      .btn-toggle.btn-sm:after {
        line-height: -0.5rem;
        color: var(--primary-font-color);
        letter-spacing: 0.75px;
        left: 0.4125rem;
        width: 2.325rem;
      }
      .btn-toggle.btn-sm:before {
        text-align: right;
      }
      .btn-toggle.btn-sm:after {
        text-align: left;
        opacity: 0;
      }
      .btn-toggle.btn-sm.active:before {
        opacity: 0;
      }
      .btn-toggle.btn-sm.active:after {
        opacity: 1;
      }
      .btn-toggle.btn-xs:before,
      .btn-toggle.btn-xs:after {
        display: none;
      }
      .btn-toggle:before,
      .btn-toggle:after {
        color: var(--muted);
      }
      .btn-toggle.active {
        background-color: var(--accent-2);
      }
      .btn-toggle.btn-lg {
        margin: 0 5rem;
        padding: 0;
        position: relative;
        border: none;
        height: 2.5rem;
        width: 5rem;
        border-radius: 2.5rem;
      }
      .btn-toggle.btn-lg:focus,
      .btn-toggle.btn-lg.focus,
      .btn-toggle.btn-lg:focus.active,
      .btn-toggle.btn-lg.focus.active {
        outline: none;
      }
      .btn-toggle.btn-lg:before,
      .btn-toggle.btn-lg:after {
        line-height: 2.5rem;
        width: 5rem;
        text-align: center;
        font-weight: 600;
        font-size: 1rem;
        text-transform: uppercase;
        letter-spacing: 2px;
        position: absolute;
        bottom: 0;
        transition: opacity 0.25s;
      }
      .btn-toggle.btn-lg:before {
        content: 'Off';
        left: -5rem;
      }
      .btn-toggle.btn-lg:after {
        content: 'On';
        right: -5rem;
        opacity: 0.5;
      }
      .btn-toggle.btn-lg > .handle {
        position: absolute;
        top: 0.3125rem;
        left: 0.3125rem;
        width: 1.875rem;
        height: 1.875rem;
        border-radius: 1.875rem;
        background: var(--primary-font-color);
        transition: left 0.25s;
      }
      .btn-toggle.btn-lg.active {
        transition: background-color 0.25s;
      }
      .btn-toggle.btn-lg.active > .handle {
        left: 2.8125rem;
        transition: left 0.25s;
      }
      .btn-toggle.btn-lg.active:before {
        opacity: 0.5;
      }
      .btn-toggle.btn-lg.active:after {
        opacity: 1;
      }
      .btn-toggle.btn-lg.btn-sm:before,
      .btn-toggle.btn-lg.btn-sm:after {
        line-height: 0.5rem;
        color: var(--primary-font-color);
        letter-spacing: 0.75px;
        left: 0.6875rem;
        width: 3.875rem;
      }
      .btn-toggle.btn-lg.btn-sm:before {
        text-align: right;
      }
      .btn-toggle.btn-lg.btn-sm:after {
        text-align: left;
        opacity: 0;
      }
      .btn-toggle.btn-lg.btn-sm.active:before {
        opacity: 0;
      }
      .btn-toggle.btn-lg.btn-sm.active:after {
        opacity: 1;
      }
      .btn-toggle.btn-lg.btn-xs:before,
      .btn-toggle.btn-lg.btn-xs:after {
        display: none;
      }
      .btn-toggle.btn-sm {
        margin: 0 0.5rem;
        padding: 0;
        position: relative;
        border: none;
        height: 1.5rem;
        width: 3rem;
        border-radius: 1.5rem;
      }
      .btn-toggle.btn-sm:focus,
      .btn-toggle.btn-sm.focus,
      .btn-toggle.btn-sm:focus.active,
      .btn-toggle.btn-sm.focus.active {
        outline: none;
      }
      .btn-toggle.btn-sm:before,
      .btn-toggle.btn-sm:after {
        line-height: 1.5rem;
        width: 0.5rem;
        text-align: center;
        font-weight: 600;
        font-size: 0.55rem;
        text-transform: uppercase;
        letter-spacing: 2px;
        position: absolute;
        bottom: 0;
        transition: opacity 0.25s;
      }
      .btn-toggle.btn-sm:before {
        content: 'Off';
        left: -0.5rem;
      }
      .btn-toggle.btn-sm:after {
        content: 'On';
        right: -0.5rem;
        opacity: 0.5;
      }
      .btn-toggle.btn-sm > .handle {
        position: absolute;
        top: 0.1875rem;
        left: 0.1875rem;
        width: 1.125rem;
        height: 1.125rem;
        border-radius: 1.125rem;
        background: var(--primary-font-color);
        transition: left 0.25s;
      }
      .btn-toggle.btn-sm.active {
        transition: background-color 0.25s;
      }
      .btn-toggle.btn-sm.active > .handle {
        left: 1.6875rem;
        transition: left 0.25s;
      }
      .btn-toggle.btn-sm.active:before {
        opacity: 0.5;
      }
      .btn-toggle.btn-sm.active:after {
        opacity: 1;
      }
      .btn-toggle.btn-sm.btn-sm:before,
      .btn-toggle.btn-sm.btn-sm:after {
        line-height: -0.5rem;
        color: var(--primary-font-color);
        letter-spacing: 0.75px;
        left: 0.4125rem;
        width: 2.325rem;
      }
      .btn-toggle.btn-sm.btn-sm:before {
        text-align: right;
      }
      .btn-toggle.btn-sm.btn-sm:after {
        text-align: left;
        opacity: 0;
      }
      .btn-toggle.btn-sm.btn-sm.active:before {
        opacity: 0;
      }
      .btn-toggle.btn-sm.btn-sm.active:after {
        opacity: 1;
      }
      .btn-toggle.btn-sm.btn-xs:before,
      .btn-toggle.btn-sm.btn-xs:after {
        display: none;
      }
      .btn-toggle.btn-xs {
        margin: 0 0;
        padding: 0;
        position: relative;
        border: none;
        height: 1rem;
        width: 2rem;
        border-radius: 1rem;
      }
      .btn-toggle.btn-xs:focus,
      .btn-toggle.btn-xs.focus,
      .btn-toggle.btn-xs:focus.active,
      .btn-toggle.btn-xs.focus.active {
        outline: none;
      }
      .btn-toggle.btn-xs:before,
      .btn-toggle.btn-xs:after {
        line-height: 1rem;
        width: 0;
        text-align: center;
        font-weight: 600;
        font-size: 0.75rem;
        text-transform: uppercase;
        letter-spacing: 2px;
        position: absolute;
        bottom: 0;
        transition: opacity 0.25s;
      }
      .btn-toggle.btn-xs:before {
        content: 'Off';
        left: 0;
      }
      .btn-toggle.btn-xs:after {
        content: 'On';
        right: 0;
        opacity: 0.5;
      }
      .btn-toggle.btn-xs > .handle {
        position: absolute;
        top: 0.125rem;
        left: 0.125rem;
        width: 0.75rem;
        height: 0.75rem;
        border-radius: 0.75rem;
        background: var(--primary-font-color);
        transition: left 0.25s;
      }
      .btn-toggle.btn-xs.active {
        transition: background-color 0.25s;
      }
      .btn-toggle.btn-xs.active > .handle {
        left: 1.125rem;
        transition: left 0.25s;
      }
      .btn-toggle.btn-xs.active:before {
        opacity: 0.5;
      }
      .btn-toggle.btn-xs.active:after {
        opacity: 1;
      }
      .btn-toggle.btn-xs.btn-sm:before,
      .btn-toggle.btn-xs.btn-sm:after {
        line-height: -1rem;
        color: var(--primary-font-color);
        letter-spacing: 0.75px;
        left: 0.275rem;
        width: 1.55rem;
      }
      .btn-toggle.btn-xs.btn-sm:before {
        text-align: right;
      }
      .btn-toggle.btn-xs.btn-sm:after {
        text-align: left;
        opacity: 0;
      }
      .btn-toggle.btn-xs.btn-sm.active:before {
        opacity: 0;
      }
      .btn-toggle.btn-xs.btn-sm.active:after {
        opacity: 1;
      }
      .btn-toggle.btn-xs.btn-xs:before,
      .btn-toggle.btn-xs.btn-xs:after {
        display: none;
      }
      .btn-toggle.btn-secondary {
        color: var(--muted);
        background: var(--muted);
      }
      .btn-toggle.btn-secondary:before,
      .btn-toggle.btn-secondary:after {
        color: var(--muted);
      }
      .btn-toggle.btn-secondary.active {
        background-color: var(--tab-color) !important;
      }


/* =========================================
   TEAM WIZARD STYLES (from team-styles.css)
   Integrated into template-dark.css
========================================= */

/* Base Adjustments - Scoped to avoid conflicts */
.wizard html,
.wizard body{height:100%;color:var(--text);}

/* Note: Heading and table styles removed to avoid global conflicts */
/* Use wizard-specific classes if needed */

/* =========================================
   Wizard Shell
========================================= */
.wizard{margin:24px auto; padding: 0px;}
.card .body{padding:24px}
.card{background:var(--panel);border:1px solid var(--border);border-radius:14px;box-shadow:0 10px 20px rgba(0,0,0,.25);padding:30px;}

.header{display:flex;align-items:center;gap:14px;margin-bottom:18px}

/* Wizard panes - only show current step */
.wizard .pane{display:block}
.wizard .pane.hide{display:none}

/* =========================================
   Stepper
========================================= */
.stepper{display:flex;gap:14px;flex-wrap:wrap}
.step{
  display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:999px;
  background:var(--input);border:1px solid var(--border);color:var(--muted)
}
.step .dot{
  width:26px;height:26px;border-radius:999px;display:grid;place-items:center;
  background:var(--input);border:1px solid var(--input-border);font-size:13px
}
.step.active{border-color:var(--accent);color:var(--text);background:rgba(0,163,255,.08)}
.step.active .dot{background:var(--accent);border-color:var(--accent);color:var(--panel)}
.step.done{border-color:var(--accent-2);color:var(--text);background:rgba(29,209,161,.08)}
.step.done .dot{background:var(--accent-2);border-color:var(--accent-2);color:var(--panel)}

/* =========================================
   Form Layout
========================================= */
.wizard .grid{display:grid;gap:14px}
.wizard .grid.two{grid-template-columns:1fr 1fr}
.wizard .field label{display:block;font-size:13px;color:var(--muted);margin-bottom:6px}
.wizard .field .hint{font-size:12px;color:var(--muted);margin-top:6px}
.wizard input[type="text"],
.wizard input[type="email"],
.wizard input[type="tel"],
.wizard select,
.wizard textarea{
  width:100%;background:var(--input);color:var(--text);border:1px solid var(--input-border);
  border-radius:10px;padding:12px 12px;outline:none;transition:border-color .15s ease
}
.wizard select{
  height:auto;
  min-height:46px;
  line-height:1.5;
  cursor:pointer;
}
.wizard textarea{min-height:120px;resize:vertical}
.wizard input:focus,
.wizard select:focus,
.wizard textarea:focus{border-color:var(--accent)}
.wizard input[disabled]{opacity:.6;cursor:not-allowed}



/* Grid layouts (not scoped to .wizard) */
.grid{display:grid;gap:14px}
.grid.two{grid-template-columns:1fr 1fr}

.tokens{font-size:12px;color:var(--muted)}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;min-height:40px;padding:10px;border:1px solid var(--border);border-radius:10px;background:var(--input)}
.chip{background:var(--input);border:1px solid var(--border);color:var(--text);padding:6px 12px;border-radius:999px;font-size:12px;display:inline-flex;align-items:center}
.chip .remove{margin-left:8px;background:none;border:none;color:var(--text);font-size:18px;cursor:pointer;padding:0;width:20px;height:20px;line-height:1}
.chip .remove:hover{color:var(--danger)}

/* Course pill boxes for Favorite and Top Seller badges */
.course-pill{display:inline-block;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;margin-right:6px;vertical-align:middle}
.pill-favorite{background-color:var(--warning-color);color:var(--primary-background-color)}
.pill-top-seller{background-color:var(--accent-2);color:var(--primary-background-color)}

.hr{height:1px;background:var(--border);margin:18px 0}
.inline-errors{margin:0 0 10px}
.error{color:var(--danger);font-size:13px;margin-top:6px}
.stats{display:flex;gap:16px;font-size:13px;color:var(--muted)}

/* =========================================
   Preview Box (email template)
========================================= */
.preview{background:var(--input);border:1px dashed var(--border);border-radius:12px;padding:14px;margin-top:12px}
.preview .subtitle{opacity:.8;font-size:12px;margin-bottom:6px}

/* =========================================
   Footer Buttons (Enhanced from original .btn)
========================================= */
.footer{display:flex;justify-content:space-between;gap:12px;margin-top:18px}
.btn.wizard-btn{
  background:var(--input);border:1px solid var(--border);color:var(--text);
  padding:10px 16px;border-radius:10px;cursor:pointer;font-size:14px;transition:border-color .15s ease,opacity .15s ease
}
.btn.wizard-btn:hover{border-color:var(--muted)}
.btn.wizard-btn.primary{background:var(--accent);border-color:var(--accent);color:var(--panel)}
.btn.wizard-btn.success{background:var(--accent-2);border-color:var(--accent-2);color:var(--panel)}
.btn.wizard-btn.ghost{background:transparent}
.btn.wizard-btn[disabled]{opacity:.5;cursor:not-allowed}

/* =========================================
   Busy Overlay (AJAX submitting)
========================================= */
.busy{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(15,17,21,.75);z-index:9999}
.busy.hide{display:none}
.busy-box{display:flex;flex-direction:column;align-items:center;gap:12px;background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:18px 22px;color:var(--text)}
.spinner{width:32px;height:32px;border-radius:50%;border:3px solid var(--border);border-top-color:var(--accent);animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.busy .msg{font-size:14px;opacity:.95}

/* =========================================
   Course Assignment – Panels (radios as cards)
========================================= */
.assign-group{display:grid;gap:14px}
.assign-group input[type=radio]{position:absolute;opacity:0;pointer-events:none}
.assign-panel{
  display:flex;gap:12px;align-items:flex-start;background:var(--input);border:1px solid var(--border);
  border-radius:12px;padding:14px;cursor:pointer
}
.assign-panel .bullet{
  width:22px;height:22px;border-radius:999px;margin-top:2px;border:2px solid var(--border);background:var(--panel);flex:0 0 22px
}
.assign-panel .content{display:flex;flex-direction:column;gap:4px}
.assign-panel .title{font-size:15px}
.assign-panel .desc{font-size:13px;color:var(--muted)}
.assign-panel .warn{font-size:12px;margin-top:4px;color:var(--badge-orange)}

/* selected states via adjacent radios */
#opt-all:checked + label.assign-panel,
#opt-specific:checked + label.assign-panel,
#opt-open:checked + label.assign-panel,
#opt-manual:checked + label.assign-panel{
  border-color:var(--accent);
  background:rgba(0,163,255,.08);
  box-shadow:0 0 0 2px rgba(0,163,255,.08) inset;
}
#opt-all:checked + label .bullet,
#opt-specific:checked + label .bullet,
#opt-open:checked + label .bullet,
#opt-manual:checked + label .bullet{
  background:var(--accent);border-color:var(--accent)
}

/* Option 2 expansion container */
.specific-expand{
  display:none;padding:12px 12px 12px 34px;margin-top:-6px;
  border-left:2px dashed var(--border);border-radius:0 12px 12px 0;background:var(--panel)
}
#opt-specific:checked ~ .specific-expand{display:block}

/* Override for voucher wizard specific expand */
.specific-expand{margin-top:15px;padding:15px;background:var(--input);border-radius:10px;border-left:4px solid var(--accent)}

/* =========================================
   Category Pills (blue → green when selected)
========================================= */
.cat-pills{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 2px}
.cat-pills .pill{
  display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:999px;cursor:pointer;user-select:none;
  border:1px solid var(--accent);background:var(--accent);color:var(--panel);font-size:13px;transition:transform .06s ease, background .15s ease, border-color .15s ease
}
.cat-pills .pill:hover{transform:translateY(-1px)}
.cat-pills .pill .plus{font-weight:600;line-height:1}
.cat-pills .pill.selected{background:var(--accent-2);border-color:var(--accent-2);color:var(--panel)}

/* Selected category hidden inputs containers (no visual by default) */
#selectedCatInputs, #selectedCourseInputs{display:block}

/* =========================================
   Course Chips (with X remove)
========================================= */
.course-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.course-chip{
  display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border-radius:10px;
  background:var(--input);border:1px solid var(--border);color:var(--text);font-size:13px
}
.course-chip .remove{
  display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;
  background:var(--panel);border:1px solid var(--border);cursor:pointer;line-height:1
}
.course-chip .remove:hover{background:var(--border)}

/* =========================================
   Guard message (Option 2 requirement)
========================================= */
.guard-msg{display:block}
.guard-msg.hide{display:none}
.guard-msg .guard-msg-inner{
  background:var(--tooltip-bg);border:1px solid var(--tooltip-border);color:var(--tooltip-text);border-radius:10px;padding:10px 12px;font-size:13px
}

/* =========================================
   Minimal "badge/pill" inline label
========================================= */
.pill-badge{
  display:inline-flex;align-items:center;gap:6px;padding:2px 6px;border-radius:999px;
  border:1px solid var(--border);background:transparent;color:inherit;font-size:12px;line-height:1.2;vertical-align:middle
}
.pill-badge::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.6}

/* =========================================
   Replacements for previous inline styles
========================================= */
.initial-assign-label{font-size:13px;color:var(--muted);margin-bottom:8px}
.specific-courses-box{border:1px dashed var(--border);border-radius:8px;padding:10px;color:var(--text);margin-top:20px}

.info-icon {
  display: inline-block;
  margin-left: 6px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background-color: var(--muted);
  color: var(--text);
  font-size: 12px;
  line-height: 16px;
  text-align: center;
  cursor: pointer;
  position: relative;
}

.info-icon:hover::after {
  content: attr(data-tooltip);
  position: absolute;
  top: 125%;
  left: 50%;
  transform: translateX(-50%);
  min-width: 180px;
  background-color: var(--panel);
  color: var(--text);
  padding: 6px 10px;
  border-radius: 4px;
  white-space: normal;
  z-index: 1000;
  font-size: 12px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.4);
}

.info-icon:hover::before {
  content: "";
  position: absolute;
  top: 115%;
  left: 50%;
  transform: translateX(-50%);
  border: 6px solid transparent;
  border-bottom-color: var(--panel);
}

/* =========================================
   UI Modal (Wizard Modals)
========================================= */
.ui-modal.hide { display: none; }
.ui-modal { position: fixed; inset: 0; z-index: 9999; }
.ui-modal__backdrop { position: absolute; inset: 0; background: rgba(0,0,0,.65); }
.ui-modal__dialog {
  position: relative;
  margin: 6vh auto 0;
  max-width: 520px;
  background: var(--modal-bg);
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 12px 38px rgba(0,0,0,.75);
  color: var(--text);
}
.ui-modal__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 14px 18px;
  border-bottom: 1px solid var(--modal-border);
  background: var(--modal-header-bg);
}
.ui-modal__header h3 { margin: 0; color: var(--text); font-weight: 500; }
.ui-modal__body { padding: 18px; color: var(--text); }
.ui-modal__footer {
  display: flex;
  gap: 10px;
  justify-content: flex-end;
  padding: 12px 18px;
  border-top: 1px solid var(--modal-border);
  background: var(--modal-header-bg);
}
.ui-modal__close {
  border: 0;
  background: transparent;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  color: var(--muted);
}
.ui-modal__close:hover { color: var(--text); }

.ui-modal__prompt-input {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--input);
  color: var(--text);
}
.ui-modal__prompt-input:focus {
  outline: none;
  border-color: var(--accent);
  box-shadow: 0 0 0 2px rgba(0,163,255,0.3);
}

.ui-btn {
  appearance: none;
  border: 0;
  border-radius: 10px;
  padding: 9px 14px;
  cursor: pointer;
  font-weight: 500;
}
.ui-btn.primary { background: var(--accent); color: var(--text); }
.ui-btn.primary:hover { opacity: 0.9; }
.ui-btn.ghost { background: var(--input); color: var(--text); }
.ui-btn.ghost:hover { background: var(--border); }
.ui-btn.danger { background: var(--danger); color: var(--text); }
.ui-btn.danger:hover { opacity: 0.9; }

/* =========================================
   Select Dropdown
========================================= */
.select {
  width: 100%;
  background: var(--input);
  color: var(--text);
  border: 1px solid var(--input-border);
  border-radius: 10px;
  padding: 10px 12px;
  outline: none;
  appearance: none;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23cbd5e1' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: 12px;
}
.select:focus { border-color: var(--accent); }

/* Make "chips row" clickable to re-open modal (optional) */
.chips.is-clickable { cursor: pointer; }

/* =========================================
   Filter Checkboxes (Voucher Wizard)
========================================= */
.filter-checkbox-group{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:10px;border:1px solid var(--border);border-radius:10px;background:var(--input)}
.filter-checkbox-label{display:inline-flex;align-items:center;cursor:pointer;padding:6px 12px;border-radius:6px;transition:background .15s ease;white-space:nowrap;font-size:14px}
.filter-checkbox-label:hover{background:rgba(255,255,255,.05)}
.filter-checkbox-label input[type=checkbox]{margin-right:6px;cursor:pointer}
.filter-favorites{background:rgba(255,193,7,.15);border:1px solid rgba(255,193,7,.3)}
.filter-top-sellers{background:rgba(244,67,54,.15);border:1px solid rgba(244,67,54,.3)}

/* =========================================
   Review Box & Modal (Voucher Wizard)
========================================= */
.review-box{padding:15px;background:var(--input);border:1px solid var(--border);border-radius:10px}
.review-item{padding:8px 0;border-bottom:1px solid var(--border)}
.review-item:last-child{border-bottom:none}

/* Note: Removed generic .modal styles to avoid Bootstrap conflicts - use .ui-modal instead */

/* =========================================
   Favorite Toggle Switch
========================================= */
.favorite-toggle-wrapper{display:flex;justify-content:center;align-items:center}
.favorite-toggle{position:relative;display:inline-block;width:44px;height:24px}
.favorite-toggle input{opacity:0;width:0;height:0}
.favorite-toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background:var(--input-border);border-radius:24px;transition:all .3s ease}
.favorite-toggle-slider:before{content:"";position:absolute;height:18px;width:18px;left:3px;bottom:3px;background:var(--muted);border-radius:50%;transition:all .3s ease}
.favorite-toggle input:checked + .favorite-toggle-slider{background:var(--badge-yellow);border:1px solid var(--badge-yellow-border)}
.favorite-toggle input:checked + .favorite-toggle-slider:before{transform:translateX(20px);background:var(--primary-font-color)}
.favorite-toggle-slider:hover{opacity:.8}

/* Favorite Toast Notification */
.favorite-toast{position:fixed;top:80px;right:20px;background:var(--accent-2);color:var(--toast-text);padding:14px 20px;border-radius:8px;font-size:14px;font-weight:500;white-space:nowrap;opacity:0;transform:translateX(400px);transition:all .3s ease;box-shadow:0 4px 12px rgba(0,0,0,.4);z-index:9999;pointer-events:none}
.favorite-toast.show{opacity:1;transform:translateX(0);pointer-events:auto}

/* END TEAM WIZARD STYLES */

/* =========================================
   Action Buttons for Table Rows - Dark Theme
========================================= */
.btn-action-dark {
    color: #fff;
    background: #2a2a2a linear-gradient(180deg, #3d3d3d, #2a2a2a) repeat-x;
    border-color: #2a2a2a;
    padding: 0.375rem 0.75rem;
    font-size: 0.875rem;
    border-radius: 0.25rem;
    display: inline-block;
    font-weight: 400;
    text-align: center;
    vertical-align: middle;
    cursor: pointer;
    border: 1px solid transparent;
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.btn-action-dark:hover {
    color: #fff;
    background: #1a1a1a linear-gradient(180deg, #2d2d2d, #1a1a1a) repeat-x;
    border-color: #151515;
}

.btn-action-dark:focus,
.btn-action-dark.focus {
    background-color: #2a2a2a;
    box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.25);
}

.btn-action-dark:active,
.btn-action-dark.active {
    background-color: #151515;
    border-color: #0f0f0f;
}

.btn-action-dark:disabled,
.btn-action-dark.disabled {
    opacity: 0.5;
    cursor: not-allowed;
}


/* =========================================
   Chat System & Course Page Styles - Light Theme
========================================= */

/* Chat Container Wrapper */
.chat-container-wrapper {
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 10000;
}

/* Profile Picture */
.profile-pic-container {
    position: absolute;
    left: 30px;
    z-index: 10001;
    margin-top: -40px;
}

.profile-pic {
    width: 75px;
    height: 75px;
    border-radius: 50%;
    border: 3px solid white;
    background-color: #fff;
}

/* Chat Container */
.chat-container {
    width: 100%;
    max-width: 400px;
    background: #fff;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    border-radius: 5px;
    overflow: hidden;
    display: none;
    flex-direction: column;
}

.chat-header {
    background: var(--tab-color);
    color: var(--tab-font-color);
    padding: 10px;
    font-size: 18px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
}

.chat-title {
    flex-grow: 1;
    display: flex;
    align-items: center;
    margin-left: 60px;
}

.chat-messages {
    padding: 20px;
    height: 420px;
    overflow-y: auto;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.chat-message {
    margin-bottom: 15px;
    padding: 10px;
    border-radius: 5px;
    max-width: 100%;
    color: #000;
    font-size: 11pt;
}

.chat-message p, .chat-message li, .bot-message p, .bot-message li {
    color: #000;
    font-size: 11pt;
}

.user-message {
    background: #d5e8f6;
    align-self: flex-end;
    color: #000;
    font-size: 11pt;
}

.bot-message {
    background: #f1f1f1;
    align-self: flex-start;
    color: #000;
    font-size: 11pt;
    width: 100%;
}

.encourage {
    background: var(--panel-color);
    color: var(--panel-font-color);
    padding: 10px;
    max-width: 100%;
}

.encourage li, .encourage p {
    color: var(--panel-font-color);
}

/* Chat Input */
.chat-input-container {
    display: flex;
    align-items: center;
    padding: 10px;
    flex-wrap: nowrap;
    width: 100%;
}

.chat-input {
    flex-grow: 1;
    min-width: 0;
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 5px;
    font-size: 14px;
    box-sizing: border-box;
    width: 100%;
}

.chat-send i {
    background: none!important;
    border: none!important;
    margin-left: 10px;
    color: var(--tab-color) !important;
    cursor: pointer;
    font-size: 1.4em !important;
}

.chat-arrow {
    display: inline-block;
    transform: rotate(45deg);
}

.chat-save-icon i {
    display: inline-block;
    color: #696969 !important;
    border: none !important;
    background: none !important;
    font-size: 20px!important;
}

.chat-history-icon i {
    display: inline-block;
    color: #696969 !important;
    border: none!important;
    background: none!important;
    font-size: 20px!important;
}

.chat-send:hover {
    color: #000 !important;
}

/* Chat Toggle Button */
.chat-toggle {
    position: fixed;
    bottom: -10px;
    right: 30px;
    padding: 20px 20px;
    background-color: var(--tab-color);
    color: var(--tab-font-color);
    border: none;
    border-radius: 5px;
    cursor: pointer;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    font-size: 16px;
    display: flex;
    align-items: center;
    z-index: 500;
}

.badge {
    background-color: red;
    color: white;
    border-radius: 50%;
    height: 24px;
    width: 24px;
    padding: 5px 4px;
    font-size: 12px;
    position: absolute;
    top: -10px;
    right: 30px;
    display: none;
}

.top-scroller {
    left: 20px !important;
}

.chat-toggle i {
    margin-right: 8px;
}

.chat-toggle:hover {
    background-color: var(--panel-color);
}

/* Chat Control Buttons */
.chat-minimize {
    background: white;
    border: none;
    color: black;
    font-size: 16px;
    cursor: pointer;
    border-radius: 50%;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    line-height: 1.2;
    font-weight: 900;
}

.chat-hide {
    background: white;
    border: none;
    color: black;
    font-size: 16px;
    cursor: pointer;
    border-radius: 50%;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    line-height: 1;
    font-weight: 700;
}

.chat-minimize:hover {
    color: #ccc;
}

#hide-chat {
    font-size: 10pt !important;
    margin-right: 5px;
}

/* Form Navigation */
.form-inline-top-bar {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    padding-bottom: 20px;
    padding-left: 5px;
    padding-right: 5px;
    padding-top: 15px;
    border-radius: 10px;
    width: 100%;
    position: sticky;
    top: 0;
    background-color: inherit;
    z-index: 1000;
}

.form-inline-nav {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    box-shadow: 10px 10px 20px rgba(0, 0, 0, 0.25);
    padding-top: 15px;
    padding-bottom: 20px;
    padding-left: 15px;
    padding-right: 15px;
    border-radius: 10px;
    width: 100%;
    position: sticky;
    top: 0;
    background-color: #fff;
    z-index: 1000;
}

.form-inline input {
    flex-grow: 1;
    min-width: 0;
    width: auto;
    margin-left: 5px;
}

.form-inline button {
    margin-left: 5px;
    white-space: nowrap;
}

/* Form Check */
.form-check {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-right: 10px;
    padding: 6px 10px;
    white-space: nowrap;
}

.form-check input[type="checkbox"],
.form-check .checkmark,
.form-check .checkbox {
    width: 20px;
    height: 20px;
    margin: 0;
    flex: 0 0 20px;
    vertical-align: middle;
    position: relative;
    z-index: 1;
}

.form-check .form-check-label {
    margin: 0;
    line-height: 1.2;
    display: inline-block;
}

.form-check label {
    cursor: pointer;
    padding-left: 4px;
}

/* =========================================
   MOBILE RESPONSIVE STYLES
========================================= */

/* Extra Small Devices (phones, less than 576px) */
@media (max-width: 575px) {
    .chat-container-wrapper {
        bottom: 10px;
        right: 10px;
        left: 10px;
    }

    .chat-container {
        max-width: 100%;
    }

    .chat-messages {
        height: 250px;
        padding: 15px;
    }

    .chat-toggle {
        right: 10px;
        bottom: -5px;
        padding: 12px 15px;
        font-size: 14px;
    }

    .chat-toggle i {
        margin-right: 5px;
    }

    .profile-pic-container {
        left: 15px;
    }

    .profile-pic {
        width: 50px;
        height: 50px;
    }

    .chat-title {
        margin-left: 40px;
        font-size: 14px;
    }

    .form-inline-nav {
        flex-wrap: wrap;
        gap: 10px;
        padding: 10px;
    }

    .form-check {
        padding: 4px 6px;
        gap: 6px;
    }

    /* Increase touch target size for mobile */
    .form-check input[type="checkbox"],
    .form-check .checkmark,
    .form-check .checkbox {
        width: 24px;
        height: 24px;
        flex: 0 0 24px;
    }
}

/* Small Devices (landscape phones, 576px and up) */
@media (min-width: 576px) and (max-width: 767px) {
    .chat-container {
        max-width: 90%;
    }

    .chat-messages {
        height: 300px;
    }

    .form-inline-nav {
        flex-wrap: wrap;
        gap: 8px;
    }
}

/* Medium Devices (tablets, 768px and up) */
@media (min-width: 768px) and (max-width: 991px) {
    .chat-container {
        max-width: 400px;
    }

    .chat-messages {
        height: 350px;
    }
}

/* Large Devices (desktops, 992px and up) */
@media (min-width: 992px) {
    .chat-container {
        max-width: 400px;
    }

    .chat-messages {
        height: 420px;
    }
}

/* Extra Large Devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {
    .chat-container {
        max-width: 450px;
    }
}

/* Mobile Layout Fixes */
@media (max-width: 767px) {
    /* Remove Bootstrap row negative margins on mobile */
    .row {
        margin-left: 0;
        margin-right: 0;
    }

    /* Ensure full width on mobile */
    .course-nav-col-container {
        padding-left: 0;
        padding-right: 0;
    }

    /* Video panel full width on mobile */
    #video-panel {
        padding-left: 15px !important;
        padding-right: 15px !important;
    }

    /* Navigation panel full width on mobile */
    #nav-panel {
        padding-left: 15px;
        padding-right: 15px;
    }

    /* Metrics container responsive */
    .metrics-container {
        flex-direction: column;
        padding: 10px;
    }

    .metric-card {
        width: 100%;
        margin-bottom: 10px;
    }

    .metric-box {
        margin-left: 0 !important;
        margin-right: 0 !important;
        width: 100% !important;
    }

    /* Remove min-width constraints on mobile */
    .col-md-3[style*="min-width"],
    .col-md-12[style*="min-width"] {
        min-width: 100% !important;
    }
}

/* =========================================
   Admin Navigation Mobile Styles
========================================= */

/* Hide admin nav completely on mobile and tablet */
@media (max-width: 991px) {
    #admin_nav {
        display: none !important;
        width: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    /* Ensure main content takes full width when admin nav is hidden */
    #admin_nav + .col {
        max-width: 100% !important;
        padding-left: 15px;
        padding-right: 15px;
    }

    /* Body row should not have columns side by side on mobile */
    #body-row {
        margin-left: 0;
        margin-right: 0;
    }

    #body-row > .col {
        flex: 0 0 100%;
        max-width: 100%;
    }
}

/* Tablet and small desktop - show collapsed admin nav */
@media (min-width: 768px) and (max-width: 1199px) {
    #admin_nav {
        flex: 0 0 60px;
        max-width: 60px;
    }

    #sidebar-container {
        width: 60px;
    }

    #admin_nav + .col {
        flex: 0 0 calc(100% - 60px);
        max-width: calc(100% - 60px);
    }
}

/* Desktop - normal admin nav */
@media (min-width: 1200px) {
    #admin_nav {
        flex: 0 0 auto;
        max-width: none;
    }
}

/* Mobile Admin Toggle Button (optional - if you want a floating menu button) */
@media (max-width: 991px) {
    .mobile-admin-toggle {
        position: fixed;
        top: 70px;
        left: 10px;
        width: 45px;
        height: 45px;
        background: var(--tab-color);
        color: var(--tab-font-color);
        border: none;
        border-radius: 50%;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
        z-index: 9999;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 20px;
        cursor: pointer;
        transition: all 0.3s ease;
    }

    .mobile-admin-toggle:active {
        transform: scale(0.95);
    }

    /* Mobile admin menu overlay */
    .mobile-admin-menu {
        position: fixed;
        top: 0;
        left: -100%;
        width: 280px;
        height: 100vh;
        background: var(--sidebar-bg);
        box-shadow: 2px 0 10px rgba(0, 0, 0, 0.3);
        z-index: 10000;
        transition: left 0.3s ease;
        overflow-y: auto;
        padding-top: 60px;
    }

    .mobile-admin-menu.active {
        left: 0;
    }

    .mobile-admin-overlay {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100vh;
        background: rgba(0, 0, 0, 0.5);
        z-index: 9998;
        display: none;
    }

    .mobile-admin-overlay.active {
        display: block;
    }

    .mobile-admin-close {
        position: absolute;
        top: 10px;
        right: 10px;
        width: 35px;
        height: 35px;
        background: transparent;
        color: white;
        border: none;
        font-size: 24px;
        cursor: pointer;
    }
}

/* =========================================
   Metrics Toggle for Mobile
========================================= */

/* Hide toggle button on desktop, show metrics */
.metrics-toggle-btn {
    display: none;
}

/* Mobile: Show toggle button, hide metrics by default */
@media (max-width: 767px) {
    .metrics-toggle-btn {
        display: block;
        width: 100%;
        background: var(--panel);
        border: 1px solid var(--border);
        border-radius: 8px;
        padding: 15px 20px;
        margin-bottom: 15px;
        color: var(--primary-font-color);
        font-size: 16px;
        font-weight: 600;
        text-align: left;
        cursor: pointer;
        transition: all 0.3s ease;
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    }

    .metrics-toggle-btn:hover {
        background: var(--panel-hover);
        box-shadow: 0 3px 6px rgba(0, 0, 0, 0.15);
    }

    .metrics-toggle-btn:active {
        transform: scale(0.98);
    }

    .metrics-toggle-btn i.fa-chart-line {
        margin-right: 8px;
        color: var(--accent);
    }

    /* Hide metrics panel by default on mobile */
    .metrics-container {
        display: none;
        flex-direction: column;
    }

    /* When opened with class, show metrics */
    .metrics-container.metrics-open {
        display: flex;
    }

    .metric-card {
        width: 100%;
        margin-bottom: 12px;
    }
}

/* Tablet: Show all metrics normally */
@media (min-width: 768px) {
    .metrics-container {
        display: flex;
    }
}

/* =========================================
   Course Navigation Mobile Fixes
========================================= */

/* Mobile: Allow nav to grow naturally, don't constrain height */
@media (max-width: 767px) {
    #nav_container {
        height: auto !important;
        min-height: auto !important;
        max-height: none !important;
    }

    .course_nav_box {
        height: auto !important;
        min-height: auto !important;
        margin-top: 0 !important;
    }

    #nav-panel {
        height: auto !important;
    }

    .form-inline-top-bar {
        padding-top: 10px;
        padding-bottom: 10px;
    }
}

/* Desktop: Allow JavaScript to control height */
@media (min-width: 768px) {
    #nav_container {
        /* Height will be set by JavaScript */
    }
}


/* ============== ApexCharts theme (dark) ============== */
/* Make sure your chart container has the default Apex wrapper:
   <div class="apexcharts-canvas"> ... */

.apexcharts-canvas,
.apexcharts-svg {
  color-scheme: dark;
}

/* Core SVG text (axis labels, title, subtitle, legend, data labels, annotations) */
.apexcharts-text,
.apexcharts-xaxis text,
.apexcharts-yaxis text,
.apexcharts-yaxis-title text,
.apexcharts-xaxis-title text,
.apexcharts-title-text,
.apexcharts-subtitle-text,
.apexcharts-datalabel,
.apexcharts-legend-text,
.apexcharts-annotation-label text {
  fill: #ffffff !important;
}

/* Slightly muted secondary text (optional) */
.apexcharts-subtitle-text {
  fill: rgba(255,255,255,.75) !important;
}

/* Grid + axis borders */
.apexcharts-gridline,
.apexcharts-xaxis line,
.apexcharts-yaxis line,
.apexcharts-xaxis-tick,
.apexcharts-yaxis-tick {
  stroke: rgba(255,255,255,.14) !important;
}

/* Crosshairs */
.apexcharts-xcrosshairs,
.apexcharts-ycrosshairs {
  stroke: rgba(255,255,255,.22) !important;
}

/* Legend markers label contrast (some charts use HTML legend text color) */
.apexcharts-legend-text {
  color: #ffffff !important;
}

/* Toolbar icons */
.apexcharts-toolbar svg,
.apexcharts-toolbar svg path,
.apexcharts-toolbar svg polygon,
.apexcharts-toolbar svg rect {
  fill: rgba(255,255,255,.85) !important;
}

.apexcharts-toolbar svg:hover,
.apexcharts-toolbar svg:hover path,
.apexcharts-toolbar svg:hover polygon,
.apexcharts-toolbar svg:hover rect {
  fill: #ffffff !important;
}

/* Tooltip (main) */
.apexcharts-tooltip {
  background: #111111 !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  color: #ffffff !important;
  box-shadow: 0 10px 26px rgba(0,0,0,.45) !important;
}

/* Tooltip title bar */
.apexcharts-tooltip-title {
  background: #111111 !important;
  border-bottom: 1px solid rgba(255,255,255,.16) !important;
  color: rgba(255,255,255,.9) !important;
}

/* Tooltip text inside */
.apexcharts-tooltip-text,
.apexcharts-tooltip-text-y-label,
.apexcharts-tooltip-text-y-value,
.apexcharts-tooltip-text-z-label,
.apexcharts-tooltip-text-z-value {
  color: #ffffff !important;
}

/* X-axis tooltip (the small floating one) */
.apexcharts-xaxistooltip {
  background: #111111 !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  color: #ffffff !important;
}

.apexcharts-xaxistooltip-text {
  color: #ffffff !important;
}

/* The little arrow on the x-axis tooltip */
.apexcharts-xaxistooltip:before,
.apexcharts-xaxistooltip:after {
  border-bottom-color: #111111 !important;
}

/* Selection / zoom box */
.apexcharts-selection-rect {
  fill: rgba(255,255,255,.12) !important;
  stroke: rgba(255,255,255,.25) !important;
}

/* Optional: keep “no data” text visible */
.apexcharts-nodata-text {
  fill: rgba(255,255,255,.75) !important;
}

/* Optional: radar / polar axis lines */
.apexcharts-radar-series polygon,
.apexcharts-radar-series line,
.apexcharts-polararea .apexcharts-gridline {
  stroke: rgba(255,255,255,.14) !important;
}
/* END APEXCHARTS DARK THEME */