/*
 * Global LMS modal radius. This file loads after static/main.min.css (and its
 * main.highcontrast.min.css variant — see templates/standard/layout/base.html.twig, both
 * link to this same style_override.css right after whichever main variant is active), so a
 * bare `.modal-content` rule here overrides that base theme's 6px radius by source order
 * alone, with no !important needed. `overflow: hidden` is what keeps `.modal-header`/
 * `.modal-body`/`.modal-footer` — plain divs with no radius of their own — from visually
 * squaring off the corners regardless of whether a given modal variant sets its own header/
 * footer background color (e.g. `.modal-header.primary-bg`).
 *
 * Plugin/page modals that already scope their own `.modal-content` override (e.g.
 * `#my-event .modal-content` below, or a plugin's own `.some-plugin .modal-content`) are
 * more specific than this bare rule and are intentionally left alone — they keep whatever
 * radius/shadow they already define.
 */
:root {
  --modal-radius: 12px;
}

.modal-content {
  border-radius: var(--modal-radius);
  overflow: hidden;
}

/*
 * Exception: the dashboard video-player modal combines both classes on one element
 * (templates/standard/layout/appLms/dashboard/base/videomodal.html.twig — `class="modal-content
 * modal-content--full"`) and fills the dialog edge-to-edge (width/height: 100%, no padding)
 * with no visible "outside" to round against — a rounded corner there just clips the video
 * frame's own corner. Kept flush regardless of the global radius above.
 */
.modal-content--full {
  border-radius: 0;
}

.vtabs .tabs-vertical {
  width: 150px !important;
  border-bottom: 0px !important;
  border-right: 1px solid rgba(128, 128, 128, 0.13) !important;
  display: table-cell !important;
  vertical-align: top !important;
  padding: 0 !important;
}

.tabs-vertical li {
  display: block !important;
  height: auto !important;
  margin-right: 0 !important;
}

.tabs-vertical li a {
  display: flex !important;
  align-items: center !important;
}

.mailbox-messages table a {
  color: unset;
}

.scorm-modal .content-wrapper {
  margin-left: unset;
}

.notifications-menu ul.dropdown-menu {
  min-width: 250px !important;
}

.notifications-menu .badge {
  min-width: unset !important;
}

[type="checkbox"]{
  height: 18px !important;
  width: 18px !important;
  position: unset !important;
}

.progress.section-coourse__progress {
  margin-bottom: unset !important;
}

button[class^="icon-"],
a[class^="icon-"],
button[class*=" icon-"],
a[class*=" icon-"] {
  font-family: unset !important;
}

.forum_author .list_user_actions {
  position: unset !important;
  /* margin-right: 0.3rem; */
  margin: 0 !important;
  padding: 0 !important;
}

.forum_author .forum_author_profile {
  width: 150px !important;
  height: 150px !important;
  border-radius: 50% !important;
  margin: 0 auto !important;
}

input[type="radio"],
input[type="checkbox"] {
  margin: 0 !important;
}

tr [type="checkbox"]:not(:checked),
tr [type="checkbox"]:checked {
  position: unset !important;
}

table.dataTable tbody > tr.selected td,
table.dataTable.display tbody > tr.selected td,
table.dataTable.order-column tbody > tr.selected td {
  background-color: var(--color-primary-light) !important;
  color: #fff;
}

table.dataTable tbody > tr.selected,
table.dataTable tbody > tr > .selected,
table.dataTable.order-column tbody > tr.selected > .sorting_1,
table.dataTable.order-column tbody > tr.selected > .sorting_2,
table.dataTable.order-column tbody > tr.selected > .sorting_3,
table.dataTable.order-column tbody > tr > .selected,
table.dataTable.display tbody > tr.selected > .sorting_1,
table.dataTable.display tbody > tr.selected > .sorting_2,
table.dataTable.display tbody > tr.selected > .sorting_3,
table.dataTable.display tbody > tr > .selected {
  background-color: var(--color-primary-light) !important;
}

[data-comp="forma-plugin-ftmu"] [type="radio"]:not(:checked) + label,
[data-comp="forma-plugin-ftmu"] [type="radio"]:checked + label {
  padding-left: unset !important;
}

[data-comp="forma-plugin-ftmu"] [type="radio"] + label:before,
[data-comp="forma-plugin-ftmu"] [type="radio"] + label:after {
  content: unset !important;
}

[data-comp="forma-plugin-ftmu"] [type="radio"]:not(:checked),
[data-comp="forma-plugin-ftmu"] [type="radio"]:checked {
  position: unset !important;
  opacity: 1 !important;
}

.forum_desc {
  max-width: 300px;
}

.forum-actions {
  display: flex;
  justify-content: flex-end !important;
  align-items: center;
  gap: 1rem;
}
.main-footer a {
  color: var(--color-primary);
}


.breadcrumb > li,
.breadcrumb > li a{
    color: var(--color-primary) !important;
}

.sidebar-menu > li{
  padding-left: 10px !important;
}

.treeview-menu > li > a {
    padding: 5px 5px 5px 10px !important;
}
.treeview-menu .treeview-menu {
    padding-left: 15px !important;
}

.theme-primary .progress-bar-warning {
    background-color: var(--color-primary-ligher) !important;
}

.modal-container .content-wrapper{
  margin-left: 0 !important;
}

.theme-primary .alert-success{
  border:none !important;
}

.main-header .navbar-nav > li.dropdown > .dropdown-menu{
  min-width: 250px;
  max-width: 300px;
}
#course_autoregistration .form-control,
#course_autoregistration .btn {
  height: 31px;
}

.filterBar.nav::before{
  display: none !important;
  content: unset !important;
}
.btn-toggle.active{
  background-color: var(--color-primary) !important;
}

.dataTable td::before {
  top: 15px !important;
}

[type="radio"]:not(:checked):not([id^="quest"]),
[type="radio"]:checked:not([id^="quest"]) {
  left: unset !important;
  opacity: 1 !important;
}


.dropdown-menu.show {
      transform: translate(0px, 42px) !important;
      min-width: 250px !important;
}

.list_block .content {
  min-height: fit-content !important;
}

.modal button.close{
  color:unset !important;
}

.eventForm tr td{
  padding: 5px 0;
  line-height: 1.5;
}

.light-skin .sidebar a,
.sidebar-menu > li > a > i{
  color: #212529;
  transition: color 0.18s ease;
}

.main_logo{
  max-width: 180px !important;
  max-height: 40px !important;
}
.main-header .logo{
  height: var(--onegov-header-height, 60px) !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}
@media (max-width: 767px) {
  .main_logo{
    max-width: 180px !important;
    max-height: 60px !important;
  }
  /* Hide logo on mobile - only show sidebar toggle and nav items */
  .main-header .logo {
    display: none !important;
  }

  .main-header .logo-box .push-btn {
    margin-left: -8px !important;
    overflow: visible !important;
  }
}

/* Header nav icons vertical alignment and 1Gov compact spacing (gap: 8px, margin: 0) */
.main-header .navbar-custom-menu .navbar-nav {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
}
.main-header .navbar-custom-menu .navbar-nav > li {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 !important;
  height: auto !important;
  min-height: unset !important;
  float: none !important;
}
.main-header .navbar-custom-menu .navbar-nav > li > a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
}

/* Header icon dimensions: 16px default, 20px network wifi */
.main-header .navbar-custom-menu .navbar-nav > li > a i,
.main-header .navbar-custom-menu .navbar-nav > li > a svg:not(.network-menu svg):not(.dropdown-arrow),
.main-header .navbar-custom-menu .navbar-nav > li > a .header-icon {
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  min-height: 16px !important;
  max-width: 16px !important;
  max-height: 16px !important;
  font-size: 16px !important;
  line-height: 16px !important;
  margin: 0 !important;
}
.main-header .navbar-custom-menu .network-menu > a svg {
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  min-height: 20px !important;
  max-width: 20px !important;
  max-height: 20px !important;
}

/* Fix sidebar toggle being cropped on mobile */
.main-header .logo-box {
  overflow: visible !important;
  min-width: fit-content !important;
}

.main-header {
  overflow: visible !important;
}

.pcontainer-feedback,
#pcontainer-feedback{
  cursor: pointer;
}

/* .custom-scroll-container {
  scrollbar-color: #fff var(--color-primary);
  scrollbar-width: thin;
	overflow-x: auto;
	white-space: nowrap;
	scroll-behavior: smooth;
} */


/* Course Calendar Modern Styling */
.course-calendar-container {
  width: 100% !important;
  max-width: 100% !important;
  margin: 10px 0 40px 0;
  box-sizing: border-box;
}

div.calendar.course-calendar-card {
  background: #ffffff !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 16px !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04), 0 1px 2px rgba(0, 0, 0, 0.02);
  padding: 28px !important;
  width: 100% !important;
  box-sizing: border-box;
  overflow: visible !important;
  color: #1f2937 !important;
  font-size: 14px !important;
}

.course-calendar-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 24px;
}

.course-calendar-header__info {
  display: flex;
  align-items: center;
  gap: 14px;
}

.course-calendar-header__icon {
  width: 48px;
  height: 48px;
  min-width: 48px;
  border-radius: 12px;
  border: 1.5px solid var(--color-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  background: #ffffff;
  color: var(--color-primary);
}

.course-calendar-header__icon svg {
  width: 24px;
  height: 24px;
  stroke: var(--color-primary);
}

.course-calendar-header__text {
  display: flex;
  flex-direction: column;
}

.course-calendar-header__title {
  font-size: 22px;
  font-weight: 700;
  color: #111827;
  margin: 0 0 3px 0;
  line-height: 1.25;
}

.course-calendar-header__subtitle {
  font-size: 14px;
  color: #6b7280;
  margin: 0;
  line-height: 1.4;
}

.course-calendar-header__actions {
  display: flex;
  align-items: center;
  gap: 12px;
}

.course-calendar-nav-pill {
  display: inline-flex;
  align-items: center;
  border: 1px solid #d1d5db;
  border-radius: 10px;
  padding: 3px 6px;
  background: #ffffff;
}

.course-calendar-nav-pill .cal-nav-btn {
  background: transparent !important;
  border: none !important;
  color: #374151 !important;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  border-radius: 6px;
  padding: 0;
  transition: background 0.15s;
}

.course-calendar-nav-pill .cal-nav-btn:hover {
  background: #f3f4f6 !important;
  color: #111827 !important;
}

.course-calendar-nav-pill .cal-nav-title {
  font-size: 14.5px;
  font-weight: 600;
  color: #111827;
  padding: 0 14px;
  min-width: 140px;
  text-align: center;
}

.cal-btn-today {
  background: var(--color-primary) !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 9px 22px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: opacity 0.15s;
}

.cal-btn-today:hover {
  opacity: 0.9;
}

.course-calendar-body {
  width: 100%;
  overflow-x: auto;
}

.course-calendar-table {
  width: 100% !important;
  border-collapse: collapse !important;
  table-layout: fixed;
  background: transparent !important;
  margin: 0 !important;
  border: none !important;
}

.course-calendar-daynames th {
  padding: 12px 6px !important;
  text-align: center !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--color-primary) !important;
  border: none !important;
  background: transparent !important;
  width: 14.285%;
}

.course-calendar-daynames .day-wrapper {
  background: transparent !important;
  color: var(--color-primary) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
}

.course-calendar-table tbody td {
  border: 1px solid #e5e7eb !important;
  vertical-align: top !important;
  padding: 8px 8px !important;
  height: 108px !important;
  min-height: 108px !important;
  background: #ffffff !important;
  width: 14.285%;
  position: relative;
  box-sizing: border-box;
  text-align: left !important;
}

.course-calendar-table tbody td:hover {
  background: #fafafa !important;
  color: inherit !important;
}

.course-calendar-table tbody td.today {
  background-color: var(--color-primary-lighter, color-mix(in srgb, var(--color-primary) 8%, #ffffff)) !important;
}

.course-calendar-table tbody td.today:hover {
  background-color: var(--color-primary-light, color-mix(in srgb, var(--color-primary) 14%, #ffffff)) !important;
}

.day-cell-content {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.day-cell-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 6px;
}

.day-number {
  font-size: 14px;
  font-weight: 500;
  color: #111827;
  line-height: 1;
}

.day-number.othermonth {
  color: #9ca3af !important;
  opacity: 0.7;
}

.course-calendar-table tbody td.today .day-number {
  color: var(--color-primary) !important;
  font-weight: 700;
}

.day-cell-top .addEvent {
  visibility: hidden;
}

.course-calendar-table tbody td:hover .day-cell-top .addEvent {
  visibility: visible;
}

.day-cell-top .addEventLink {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border-radius: 4px;
  background: #f3f4f6;
  color: var(--color-primary);
  text-decoration: none;
  background-image: none !important;
}

.day-cell-top .addEventLink:hover {
  background: var(--color-primary);
  color: #ffffff;
}

.day-events-list {
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 1;
}

/* Event Pill */
.course-cal-event {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 8px;
  border-radius: 8px;
  text-decoration: none !important;
  cursor: pointer;
  transition: transform 0.1s, opacity 0.15s;
  box-sizing: border-box;
  text-align: left;
  background: var(--color-primary) !important;
  background-color: var(--color-primary) !important;
  border: 1px solid var(--color-primary) !important;
  color: #ffffff !important;
}

.course-cal-event:hover {
  opacity: 0.92;
  transform: translateY(-1px);
}

.course-cal-event__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: #ffffff !important;
}

.course-cal-event__icon svg {
  stroke: #ffffff !important;
}

.course-cal-event__body {
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
}

.course-cal-event__title {
  font-size: 12px;
  font-weight: 600;
  line-height: 1.25;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  color: #ffffff !important;
}

.course-cal-event__time {
  font-size: 10.5px;
  font-weight: 400;
  line-height: 1.2;
  opacity: 0.9;
  margin-top: 1px;
  color: rgba(255, 255, 255, 0.9) !important;
}

.course-cal-event--othermonth {
  opacity: 0.55 !important;
}

/* Category Colors - Unified to color-primary */
.course-cal-event--lesson,
.course-cal-event--assessment,
.course-cal-event--live,
.course-cal-event--announcement {
  background: var(--color-primary) !important;
  background-color: var(--color-primary) !important;
  border-color: var(--color-primary) !important;
  color: #ffffff !important;
}

.course-cal-event--lesson .course-cal-event__icon,
.course-cal-event--assessment .course-cal-event__icon,
.course-cal-event--live .course-cal-event__icon,
.course-cal-event--announcement .course-cal-event__icon {
  color: #ffffff !important;
}

/* Card Footer */
.course-calendar-footer {
  display: none !important;
}

/* Dashboard Calendar Modern Styling */
.dashboard-calendar-card {
  background: #ffffff !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 16px !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04), 0 1px 2px rgba(0, 0, 0, 0.02) !important;
  padding: 24px 28px !important;
  overflow: visible !important;
}

.dashboard-calendar-card .box-body {
  padding: 0 !important;
}

.course-calendar-fullcal .fc-toolbar,
#calendar .fc-toolbar {
  display: none !important;
}

.course-calendar-fullcal table,
#calendar table {
  border-collapse: collapse !important;
  border: none !important;
}

.course-calendar-fullcal .fc-head,
#calendar .fc-head {
  background: transparent !important;
}

.course-calendar-fullcal th.fc-day-header,
#calendar th.fc-day-header {
  padding: 12px 6px !important;
  text-align: center !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--color-primary) !important;
  border: none !important;
  background: transparent !important;
  text-transform: capitalize !important;
}

.course-calendar-fullcal td,
.course-calendar-fullcal th,
.course-calendar-fullcal .fc-widget-content,
.course-calendar-fullcal .fc-widget-header,
#calendar td,
#calendar th,
#calendar .fc-widget-content,
#calendar .fc-widget-header {
  border-color: #e5e7eb !important;
}

.course-calendar-fullcal .fc-day,
#calendar .fc-day {
  min-height: 108px !important;
  background: #ffffff !important;
  transition: background-color 0.15s ease;
}

.course-calendar-fullcal .fc-day:hover,
#calendar .fc-day:hover {
  background: #fafafa !important;
}

.course-calendar-fullcal .fc-today,
#calendar .fc-today {
  background-color: var(--color-primary-lighter, color-mix(in srgb, var(--color-primary) 8%, #ffffff)) !important;
}

.course-calendar-fullcal .fc-today:hover,
#calendar .fc-today:hover {
  background-color: var(--color-primary-light, color-mix(in srgb, var(--color-primary) 14%, #ffffff)) !important;
}

.course-calendar-fullcal .fc-day-top,
#calendar .fc-day-top {
  padding: 6px 8px !important;
}

.course-calendar-fullcal .fc-day-number,
#calendar .fc-day-number {
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #111827 !important;
  float: left !important;
  padding: 2px 4px !important;
  line-height: 1 !important;
}

.course-calendar-fullcal .fc-today .fc-day-number,
#calendar .fc-today .fc-day-number {
  color: var(--color-primary) !important;
  font-weight: 700 !important;
}

.course-calendar-fullcal .fc-other-month .fc-day-number,
#calendar .fc-other-month .fc-day-number {
  color: #9ca3af !important;
  opacity: 0.7 !important;
}

.course-calendar-fullcal .fc-day-grid-row,
#calendar .fc-day-grid-row {
  min-height: 108px !important;
}

.course-calendar-fullcal .fc-row .fc-content-skeleton,
#calendar .fc-row .fc-content-skeleton {
  padding-bottom: 8px !important;
}

/* FullCalendar Event Elements */
.course-calendar-fullcal .fc-event,
#calendar .fc-event {
  border: 1px solid var(--color-primary) !important;
  background: var(--color-primary) !important;
  background-color: var(--color-primary) !important;
  color: #ffffff !important;
  border-radius: 8px !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03) !important;
  margin: 2px 4px !important;
  padding: 5px 8px !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  cursor: pointer !important;
  transition: transform 0.1s ease, opacity 0.15s ease !important;
  text-decoration: none !important;
}

.course-calendar-fullcal .fc-event:hover,
#calendar .fc-event:hover {
  opacity: 0.92 !important;
  transform: translateY(-1px) !important;
}

/* Multi-day spanning events styling */
.course-calendar-fullcal .fc-event.fc-not-start,
#calendar .fc-event.fc-not-start {
  border-top-left-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
  margin-left: 0 !important;
  border-left: none !important;
}

.course-calendar-fullcal .fc-event.fc-not-end,
#calendar .fc-event.fc-not-end {
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
  margin-right: 0 !important;
  border-right: none !important;
}

.course-calendar-fullcal .fc-event .course-cal-event__icon,
#calendar .fc-event .course-cal-event__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 15px;
  height: 15px;
  color: #ffffff !important;
}

.course-calendar-fullcal .fc-event .course-cal-event__icon svg,
#calendar .fc-event .course-cal-event__icon svg {
  stroke: #ffffff !important;
}

.course-calendar-fullcal .fc-event .course-cal-event__body,
#calendar .fc-event .course-cal-event__body {
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
  flex: 1;
}

.course-calendar-fullcal .fc-event .course-cal-event__title,
#calendar .fc-event .course-cal-event__title {
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  color: #ffffff !important;
}

.course-calendar-fullcal .fc-event .course-cal-event__time,
#calendar .fc-event .course-cal-event__time {
  font-size: 10px !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  opacity: 0.9 !important;
  margin-top: 1px !important;
  color: rgba(255, 255, 255, 0.9) !important;
}

/* FullCalendar +more popup */
.course-calendar-fullcal .fc-more,
#calendar .fc-more {
  display: inline-block !important;
  margin: 2px 6px !important;
  font-size: 11.5px !important;
  font-weight: 600 !important;
  color: var(--color-primary) !important;
  text-decoration: none !important;
  transition: opacity 0.15s;
}

.course-calendar-fullcal .fc-more:hover,
#calendar .fc-more:hover {
  opacity: 0.8 !important;
  text-decoration: underline !important;
}

.fc-popover,
.fc-more-popover {
  border-radius: 12px !important;
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.15), 0 8px 10px -6px rgba(0, 0, 0, 0.1) !important;
  border: 1px solid #e5e7eb !important;
  background: #ffffff !important;
  padding: 0 !important;
  z-index: 9999 !important;
  width: 290px !important;
  max-width: min(320px, 92vw) !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
}

.fc-popover .fc-header,
.fc-more-popover .fc-header {
  border-bottom: 1px solid #f1f5f9 !important;
  padding: 10px 14px !important;
  background: #ffffff !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  box-sizing: border-box !important;
  float: none !important;
  clear: both !important;
}

.fc-popover .fc-header .fc-title,
.fc-more-popover .fc-header .fc-title {
  order: 1 !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  color: #111827 !important;
  margin: 0 !important;
  float: none !important;
  line-height: 1.3 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.fc-popover .fc-header .fc-close,
.fc-more-popover .fc-header .fc-close {
  order: 2 !important;
  cursor: pointer !important;
  color: #9ca3af !important;
  font-size: 16px !important;
  line-height: 1 !important;
  float: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 22px !important;
  height: 22px !important;
  border-radius: 4px !important;
  transition: all 0.15s ease !important;
  margin: 0 !important;
  padding: 0 !important;
}

.fc-popover .fc-header .fc-close:hover,
.fc-more-popover .fc-header .fc-close:hover {
  color: #111827 !important;
  background-color: #f1f5f9 !important;
}

.fc-popover .fc-header .fc-clear,
.fc-more-popover .fc-header .fc-clear {
  display: none !important;
}

.fc-popover .fc-body,
.fc-more-popover .fc-body {
  display: block !important;
  padding: 8px 10px !important;
  max-height: 270px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.fc-popover .fc-body::-webkit-scrollbar,
.fc-more-popover .fc-body::-webkit-scrollbar {
  width: 5px;
}

.fc-popover .fc-body::-webkit-scrollbar-track,
.fc-more-popover .fc-body::-webkit-scrollbar-track {
  background: transparent;
}

.fc-popover .fc-body::-webkit-scrollbar-thumb,
.fc-more-popover .fc-body::-webkit-scrollbar-thumb {
  background: #d1d5db;
  border-radius: 4px;
}

.fc-popover .fc-body::-webkit-scrollbar-thumb:hover,
.fc-more-popover .fc-body::-webkit-scrollbar-thumb:hover {
  background: #9ca3af;
}

.fc-popover .fc-event-container,
.fc-more-popover .fc-event-container {
  display: flex !important;
  flex-direction: column !important;
  gap: 5px !important;
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Event cards inside the popover */
.fc-popover .fc-event,
.fc-more-popover .fc-event {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  border-radius: 6px !important;
  border: 1px solid var(--color-primary) !important;
  background: var(--color-primary) !important;
  background-color: var(--color-primary) !important;
  padding: 5px 8px !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  float: none !important;
}

.fc-popover .fc-event.fc-not-start,
.fc-more-popover .fc-event.fc-not-start,
.fc-popover .fc-event.fc-not-end,
.fc-more-popover .fc-event.fc-not-end,
#calendar .fc-popover .fc-event.fc-not-start,
#calendar .fc-more-popover .fc-event.fc-not-start,
#calendar .fc-popover .fc-event.fc-not-end,
#calendar .fc-more-popover .fc-event.fc-not-end,
.course-calendar-fullcal .fc-popover .fc-event.fc-not-start,
.course-calendar-fullcal .fc-more-popover .fc-event.fc-not-start,
.course-calendar-fullcal .fc-popover .fc-event.fc-not-end,
.course-calendar-fullcal .fc-more-popover .fc-event.fc-not-end {
  border-radius: 6px !important;
  border-top-left-radius: 6px !important;
  border-bottom-left-radius: 6px !important;
  border-top-right-radius: 6px !important;
  border-bottom-right-radius: 6px !important;
  border: 1px solid var(--color-primary) !important;
  border-left: 1px solid var(--color-primary) !important;
  border-right: 1px solid var(--color-primary) !important;
  margin: 0 !important;
}

.fc-popover .fc-event .course-cal-event__body,
.fc-more-popover .fc-event .course-cal-event__body {
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
  overflow: hidden !important;
  flex: 1 1 auto !important;
}

.fc-popover .fc-event .course-cal-event__title,
.fc-more-popover .fc-event .course-cal-event__title {
  font-size: 11.5px !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  color: #ffffff !important;
  max-width: 100% !important;
}

.fc-popover .fc-event .course-cal-event__time,
.fc-more-popover .fc-event .course-cal-event__time {
  font-size: 10px !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  opacity: 0.9 !important;
  margin-top: 1px !important;
  color: rgba(255, 255, 255, 0.9) !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* Modal details */
#my-event .modal-content {
  border-radius: 16px !important;
  border: 1px solid #e5e7eb !important;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1) !important;
  overflow: hidden !important;
}

#my-event .modal-header {
  border-bottom: 1px solid #f3f4f6 !important;
  padding: 16px 22px !important;
  background: #f9fafb !important;
}

#my-event .modal-title {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #111827 !important;
}

#my-event .modal-body {
  padding: 22px !important;
}

.cal-modal-details {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.cal-modal-event-title {
  font-size: 17px;
  font-weight: 700;
  color: #111827;
  margin: 0;
  line-height: 1.35;
}

.cal-modal-meta {
  display: flex;
  flex-direction: column;
  gap: 8px;
  background: #f9fafb;
  border: 1px solid #f3f4f6;
  border-radius: 10px;
  padding: 12px 14px;
}

.cal-modal-meta-item {
  font-size: 13.5px;
  color: #4b5563;
  display: flex;
  gap: 6px;
}

.cal-modal-meta-item strong {
  color: #111827;
  min-width: 75px;
}

.cal-modal-desc {
  font-size: 13.5px;
  color: #374151;
}

.cal-modal-desc strong {
  display: block;
  margin-bottom: 6px;
  color: #111827;
}

.cal-modal-desc-body {
  color: #4b5563;
  line-height: 1.5;
  white-space: pre-wrap;
}

@media (max-width: 767px) {
  .dashboard-calendar-card {
    padding: 16px 14px !important;
  }
}

/* Dashboard Calendar Loading Overlay */
.course-calendar-wrapper {
  position: relative;
  min-height: 400px;
}

.course-calendar-loading-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.8);
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  z-index: 50;
  border-radius: 8px;
  transition: opacity 0.2s ease, visibility 0.2s ease;
  opacity: 1;
  visibility: visible;
  pointer-events: all;
}

.course-calendar-loading-overlay.is-hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.course-calendar-spinner {
  width: 38px;
  height: 38px;
  border: 3.5px solid rgba(0, 0, 0, 0.08);
  border-top-color: var(--color-primary);
  border-radius: 50%;
  animation: courseCalSpinner 0.75s linear infinite;
}

@keyframes courseCalSpinner {
  to {
    transform: rotate(360deg);
  }
}

.course-calendar-loading-text {
  margin-top: 12px;
  font-size: 13.5px;
  font-weight: 600;
  color: #4b5563;
}



.line_answer .image .tox.tox-tinymce {
  height: 200px !important;
}

.panel-collapse.collapse.show {
  width: 80% !important;
}

.tiga-popup-title .tiga-title {
  font-size: 20px;
}

.tiga-popup-body .tiga-question-container,
.tiga-popup-body h4 {
  font-size: 14px;
}

td.course_type {
  width: unset !important;
}

/* Tour Guide Container & Stacking (Ensure tour appears above sidebar and headers) */
.enjoyhint {
    z-index: 99999 !important;
}

.enjoyhint_disable_events {
    z-index: 99998 !important;
}

/* Tour Guide Button Styling - White background, black text to improve readability */
.enjoyhint_hide,
.enjoyhint_next_btn.enjoyhint_hide,
.enjoyhint_prev_btn.enjoyhint_hide,
.enjoyhint_skip_btn.enjoyhint_hide,
.enjoyhint_close_btn.enjoyhint_hide {
    display: none !important;
}

.enjoyhint_next_btn,
.enjoyhint_skip_btn,
.enjoyhint_prev_btn,
.enjoyhint_close_btn,
.enjoyhint_btn {
    position: absolute;
    box-sizing: border-box !important;
    border: 1px solid #d1d5db !important;
    background: #ffffff !important;
    background-color: #ffffff !important;
    color: #000000 !important;
    border-radius: 20px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15) !important;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 36px !important;
    height: 38px !important;
    padding: 0 16px !important;
    min-width: 80px !important;
    text-shadow: none !important;
    letter-spacing: 0.3px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    z-index: 100001 !important;
}

.enjoyhint_next_btn:hover,
.enjoyhint_skip_btn:hover,
.enjoyhint_prev_btn:hover,
.enjoyhint_close_btn:hover,
.enjoyhint_btn:hover {
    color: #000000 !important;
    background: #f3f4f6 !important;
    background-color: #f3f4f6 !important;
    border-color: #9ca3af !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2) !important;
}

.enjoyhint_next_btn:active,
.enjoyhint_skip_btn:active,
.enjoyhint_prev_btn:active,
.enjoyhint_close_btn:active,
.enjoyhint_btn:active {
    background: #e5e7eb !important;
    background-color: #e5e7eb !important;
    color: #000000 !important;
}

.enjoyhint_close_btn {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    padding: 0 !important;
    border-radius: 50% !important;
    line-height: 1 !important;
}

.enjoyhint_close_btn::before,
.enjoyhint_close_btn::after {
    content: "" !important;
    position: absolute !important;
    width: 14px !important;
    height: 2px !important;
    background: #000000 !important;
    background-color: #000000 !important;
    top: 50% !important;
    left: 50% !important;
    border: none !important;
}

.enjoyhint_close_btn::before {
    transform: translate(-50%, -50%) rotate(45deg) !important;
}

.enjoyhint_close_btn::after {
    transform: translate(-50%, -50%) rotate(-45deg) !important;
}

@media (max-width: 768px) {
    .enjoyhint_skip_btn {
        display: inline-flex !important;
    }

    .enjoyhint_next_btn,
    .enjoyhint_prev_btn,
    .enjoyhint_skip_btn {
        min-width: 72px !important;
        height: 36px !important;
        line-height: 34px !important;
        font-size: 13px !important;
        padding: 0 12px !important;
        border-radius: 18px !important;
    }

    .enjoy_hint_label {
        font-size: 15px !important;
        max-width: calc(100vw - 32px) !important;
        box-sizing: border-box !important;
        padding: 14px 18px !important;
        word-break: break-word !important;
    }
}

.list-group-item.node-treeview1 {
  border: none !important;
}

.list-group {
  height: 100% !important;
}

#treeview1 {
  overflow-y: auto !important;
  overflow-x: hidden !important;
  height: 100% !important;
}

#treeview1.aside.treeview {
  height: 100% !important;
  max-height: 100% !important;
  border: none;
  border-right: 0px solid rgba(72, 94, 144, 0.16);
  background-color: #ffffff;
}

.content-header{
  margin-bottom: 15px;
  padding: 10px 10px 0px;
}

.content-wrapper .container-full .content{
  margin-top: 15px;
}
.form-check-input:checked{
  background-color: var(--color-primary);
  border-color: var(--color-primary);
}
.jq-toast-wrap{
  width: 400px;
  z-index: 999999 !important;
}
.jq-toast-single{
  font-size: 15px;
}
.package-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.package-list .form-check-input {
  display: none;
}

.package-list .form-check label {
  border: 1px solid var(--bs-border-color);
  padding: 12px 20px;
  border-radius: var(--bs-border-radius);
  cursor: pointer;
  transition: all 0.3s ease;
}

.package-list .form-check label:hover {
  border-color: var(--color-primary);
}

.package-list .form-check-input:checked ~ label {
  background: var(--color-primary);
  border-color: var(--color-primary);
}

.package-list .form-check-input:checked ~ label span {
  color: rgb(255, 255, 255);
}

.package-list .form-check-input:checked ~ label .badge {
  background: rgba(255, 255, 255, 0.1);
}

.package-list .form-check label .badge {
  color: var(--bs-body-color);
  background: rgba(var(--bs-secondary-rgb), 0.1);
  border-radius: var(--bs-border-radius);
}

.payment-frequency {
  margin: 20px 0;
  padding: 15px;
  background: #f8f9fa;
  border-radius: 8px;
}

.payment-methods {
  display: flex;
  gap: 10px;
  margin-top: 20px;
}

.payment-btn {
  flex: 1;
  padding: 12px;
  border-radius: 8px;
  text-align: center;
  cursor: pointer;
  transition: all 0.3s ease;
}

.payment-btn:hover {
  opacity: 0.9;
}

.paystack-btn {
  background: #0A4B8C;
  color: white;
}

.flutterwave-btn {
  background: #F5A623;
  color: white;
}
.swal2-popup {
  font-size: 1rem !important;
  border-radius: 8px !important;
}

.sa-error-container{
  display: none !important;
}

.enjoy_hint_label,
#enjoyhint_label {
  background: #ffffff !important;
  background-color: #ffffff !important;
  color: #000000 !important;
  padding: 16px 20px !important;
  border-radius: 12px !important;
  border: 1px solid #d1d5db !important;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.18) !important;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
  text-shadow: none !important;
  z-index: 100000 !important;
  max-width: 380px !important;
}

.enjoy_hint_label *,
#enjoyhint_label * {
  color: #000000 !important;
  text-shadow: none !important;
}

.aside .icon.expand-icon {
  z-index: 99;
}

.box:hover {
  box-shadow: 0 6px 24px rgba(0,0,0,0.16);
}

.user-actions-wrap a.forma-button {
  margin-right: 10px;
  margin-bottom: 10px;
  display: inline-block;
}

.std_block {
  position: relative;
  margin-bottom: 1.5rem;
  width: 100%;
  background-color: #ffffff;
  border-radius: 10px;
  padding: 10px !important;
}

.std_block:hover {
  /* box-shadow: 0 6px 24px rgba(0,0,0,0.16); */
}

.tab-content {
  box-shadow: none !important;
}

/* Settings page: one panel for tabs + content; page title stays outside. */
.std_block.box:has(#global_conf) {
  background: #fff !important;
  border-radius: 10px !important;
  padding-top: 15px !important;
  box-shadow: none !important;
  border: none !important;
}

body.dark-skin .std_block.box:has(#global_conf),
html[data-theme="dark"] .std_block.box:has(#global_conf) {
  background: var(--theme-surface) !important;
}

section.content:has(#global_conf) :is(.content-header, .tab-content) {
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
}

.footer_desc{
  max-width: 450px;
}
/* Course box alignment */
._course-box {
  display: flex;
  flex-direction: column;
  height: 100%;
}

._course-box__cover {
  background-position: center;
  background-size: cover;
  height: 180px;
}

._course-box__overlay {
  height: 100%;
  display: flex;
  flex-direction: column;
}

#desc_cta {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 1px;
}

._course-box__description {
  flex: 1 1 auto;
}

._course-box__cta {
  margin-top: auto;
}

.course-box__cta__button {
  width: 100%;
  display: inline-flex;
  justify-content: center;
}

.quick_search_form a {
  color: var(--color-primary);
}

.quick_search_form a:hover {
  color: var(--color-primary);
  background-color: transparent;
}
.middlearea_container{
  margin-bottom:50px;
}

.form-check-input {
  border: 2px solid var(--color-primary);
}

.form-check {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0;
}

.dataTables_length select {
  line-height: unset;
}

.yui-navset .content{
  min-height: unset;
}

.forma-button.fc-corner-left{
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.forma-button.fc-corner-right{
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.forma-button.fc-corner-right.fc-corner-left{
  border-radius: 6px;
}

.skiptranslate iframe.skiptranslate{
  display:none;
}

/* Sidebar – right border */
.main-sidebar {
  border-right: 1px solid var(--color-ui-grey, #e5e7eb) !important;
}

/* Header logo-box – right border matching sidebar */
.main-header .logo-box {
  /* border-right: 1px solid var(--color-ui-grey, #e5e7eb) !important; */
}

/* Sidebar items – hover & active states (mirrors 1gov) */

/* --- Inactive items --- */
.theme-primary.light-skin .sidebar-menu > li:not(.header) {
  margin: 2px 12px !important;
  padding: 0 !important;
}

.theme-primary.light-skin .sidebar-menu > li:hover, .theme-primary.light-skin .sidebar-menu > li:active, .theme-primary.light-skin .sidebar-menu > li.active {
  border: unset;
}

.sidebar-menu > li {
  border-left: unset !important;
  border: unset !important;
}

/* --- Base link reset --- */
.theme-primary.light-skin .sidebar-menu > li > a,
.theme-primary.light-skin .treeview-menu > li > a {
  min-height: 38px !important;
  padding: 0 5px !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  background: transparent;
  border: 0 !important;
  border-radius: 6px !important;
  line-height: 1.35 !important;
  white-space: normal;
  transition: background-color 0.18s ease, color 0.18s ease;
}

/* --- Hover: all sidebar items --- */
.theme-primary.light-skin .sidebar-menu > li:not(.header):hover > a,
.theme-primary.light-skin .treeview-menu > li > a:hover {
  background: rgba(0, 0, 0, 0.04) !important;
}

/* The open sidebar keeps the hovered label visible. The template's mini-sidebar flyout rule hides it on hover. */
body.sidebar-mini.sidebar-collapse.sidebar-open .main-sidebar .sidebar-menu > li:hover > a > span:not(.pull-right) {
  display: flex !important;
  position: static !important;
  left: auto !important;
  top: auto !important;
  width: auto !important;
  margin-left: 0 !important;
  padding: 0 !important;
  background-color: transparent !important;
}

/* --- Active: top-level item --- */
.theme-primary.light-skin .sidebar-menu > li.active:not(.treeview) > a {
  background-color: rgba(0, 109, 67, 0.08) !important;
  color: var(--color-primary) !important;
}

.theme-primary.light-skin .sidebar-menu > li.active:not(.treeview) > a > i,
.theme-primary.light-skin .sidebar-menu > li.active:not(.treeview) > a > span {
  color: var(--color-primary) !important;
}

/* Remove any triangle or pseudo-element from skin_color.css */
.theme-primary.light-skin .sidebar-menu > li.active > a:after,
.theme-primary.light-skin .sidebar-menu > li.active > a::after {
  content: none !important;
  display: none !important;
  border-style: solid !important;
  border-width: 0 !important;
}

/* --- Active: treeview submenu item --- */
.theme-primary.light-skin .treeview-menu > li.active > a {
  background-color: rgba(0, 109, 67, 0.08) !important;
  color: var(--color-primary) !important;
  font-weight: 600 !important;
}

.theme-primary.light-skin .treeview-menu li.active > a,
.theme-primary.light-skin .treeview-menu li.active > a i,
.theme-primary.light-skin .treeview-menu li.active > a span {
  color: var(--color-primary) !important;
}

/* --- Active: parent treeview (open dropdown) --- */
.theme-primary.light-skin .sidebar-menu li.active.treeview,
.theme-primary.light-skin .sidebar-menu li.active.treeview > a {
  background: transparent !important;
}

/* --- Treeview menu container --- */
.theme-primary.light-skin .treeview-menu {
  margin: 0 !important;
  background: transparent !important;
}

/* --- Section headers --- */
.sidebar-menu li.header {
  min-height: auto !important;
  display: flex !important;
  align-items: center !important;
  background: transparent !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px;
  opacity: 1 !important;
  font-weight: 700;
  color: #666 !important;
  font-size: 11px !important;
}

.box .fx-element-overlay .fx-card-item .fx-overlay{
  border-top-right-radius: 10px;
  border-top-left-radius: 10px;
}

.switch {
  position: relative;
  display: inline-block;
  width: 60px;
  height: 30px;
}

.switch input {
  opacity: 0;
  width: 0;
  height: 0;
}

.slider {
  position: absolute;
  cursor: pointer;
  top: 0; left: 0; right: 0; bottom: 0;
  background-color: #ccc;
  transition: 0.4s;
  border-radius: 34px;
}

.slider::before {
  position: absolute;
  content: attr(data-text-off);
  height: 24px;
  width: 24px;
  left: 3px;
  bottom: 3px;
  background-color: white;
  color: #666;
  font-size: 10px;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: 0.4s;
  border-radius: 50%;
}

/* Checked state */
input:checked + .slider {
  background-color: var(--color-primary);
}

input:checked + .slider::before {
  transform: translateX(30px);
  content: attr(data-text-on);
  color: var(--color-primary);
}

/* Round style */
.slider.round {
  border-radius: 34px;
}

.slider.round::before {
  border-radius: 50%;
}
.main-footer{
  text-align: center;
}

/* Tree item styling */
#treeview1 .list-group-item {
  border: none !important;
  border-bottom: 1px solid #e5e5e5 !important;
  padding: 10px 15px !important;
  font-size: 15px;
  white-space: normal !important;
  word-break: break-word;
  line-height: 1.4;
  display: flex !important;
  align-items: center !important;
  text-align: left !important;
}

/* Remove last bottom border */
#treeview1 .list-group-item:last-child {
  border-bottom: none !important;
}

/* Selected category styling */
#treeview1 .list-group-item.node-selected {
  background-color: var(--color-primary) !important;
  color: #fff !important;
  border-radius: 6px;
  border-bottom: 1px solid var(--color-primary) !important;
}

#treeview1 .list-group-item span {
  display: inline-block;
  white-space: nowrap !important;
  text-overflow: ellipsis;
}

.theme-primary .alert-info {
  background-color: #cce5ff !important;
  border-color: #b8daff !important;
  color: #004085 !important;
}

.theme-primary .alert-success {
  background-color: #d1e7dd !important;
  border-color: #badbcc !important;
  color: #155724 !important;
}

.theme-primary .alert-danger {
  background-color: #f5c6cb !important;
  border-color: #f1b0b7 !important;
  color: #721c24 !important;
}

.multinav-scroll .ps__thumb-y, .multinav-scroll .ps__rail-y {
  width: 0;
}
.test_button_space{
  width:100%;
}

.answer-item .input-wrapper {
  width: 7% !important;
}

.time-inputs {
    display: flex;
    gap: 12px;
}

.time-field {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.nav-pills > li.active > a, .nav-pills > li.active > a:hover, .nav-pills > li.active > a:focus {
  background-color: var(--color-primary);
  color: #fff;
}

.yui-button.yui-push-button.default button {
  color: var(--color-primary-text);
  background: var(--color-primary);
  border: 1px solid var(--color-primary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  width: max-content;
  /* padding: 0.75rem 1rem; */
  /* font-size: 13px; */
  padding: .375rem .75rem;
  font-size: .925rem;
  line-height: 1.35;
  text-align: center;
  outline: none;
  border-radius: 6px;
  transition: all 0.3s ease 0s;
}

.yui-skin-sam .yui-button button {
  background: transparent;
  color: var(--color-primary) !important;
  border: 1px solid var(--color-primary);
  border-radius: 6px;
  padding: .375rem .75rem;
  font-size: .925rem;
  line-height: 1.35;
}

.yui-skin-sam .yui-panel, .yui-skin-sam .yui-dialog .ft {
  position: relative;
  margin-bottom: 1.5rem;
  width: 100%;
  background-color: #ffffff;
  border-radius: 10px;
  padding-inline: 10px;
  -webkit-transition: .5s;
  transition: .5s;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-shadow: 0 0 30px 0 rgba(82, 63, 105, 0.05);
  box-shadow: 0 0 30px 0 rgba(82, 63, 105, 0.05);
}

.yui-skin-sam .yui-button {
  background: transparent;
  border-width: 0;
  border-style: none;
  border-color: transparent;
}

.yui-skin-sam .yui-dialog .ft span.default .first-child{
  border-radius: 6px;
}

.yui-skin-sam .yui-button .first-child, .yui-button .first-child {
  border-width: 0;
  border-style: none;
  border-color: transparent;
  margin: 0;
}

.theme-primary .bg-primary-light {
  background-color: var(--color-primary-light) !important;
}



.theme-primary .jq-icon-info {
  background-color: var(--color-primary) !important;
  color: var(--color-white);
  border-color: var(--color-primary) !important;
}

#user_status_form .form_line_l {
    display: flex;
    align-items: center;
    gap: 6px;
}

.theme-primary .waves-effect.waves-light.bg-theme:hover{
  transition: all ease 0.3ms;
  background-color: var(--color-primary-light) !important;
}

.theme-primary .alert.alert-info.bg-theme{
  /* background-color: var(--color-primary) !important; */
  /* color: var(--color-white) !important; */
}

/* Sidebar toggle hover: a light grey rounded surface, as in the ECMS header. The icon keeps its colour. */
.main-header .push-btn:hover,
.onegov-sidebar-trigger:hover {
  background-color: #f5f5f5 !important;
  border-color: transparent !important;
  border-radius: 6px;
}

body.dark-skin .main-header .push-btn:hover,
html[data-theme="dark"] .main-header .push-btn:hover {
  background-color: rgba(255, 255, 255, 0.1) !important;
}

.theme-primary .table-primary.bg-theme.odd{
  --bs-table-bg: var(--color-primary-light) !important;
}
.theme-primary .bg-primary-light.pull-up.bg-theme{
  background-color: var(--color-primary-light) !important;
}
.theme-primary .table-primary.bg-theme{
  --bs-table-hover-bg: var(--color-primary-ligher) !important;
}

.form-control{
  border-color: rgb(183 183 183) !important;
}

.theme-primary tr.ygtvrow:hover td{
  background-color: var(--color-primary-light) !important;
}

.theme-primary .icon-Notifications:hover,
.theme-primary .icon-User:hover,
.theme-primary .icon-Expand-arrows:hover,
.theme-primary .icon-Home:hover {
  /* color: var(--color-primary) !important; */
}


.btn.forma-button:hover{
  color: var(--color-primary-text);
  background: var(--color-primary);
  background-color: var(--color-primary);
}

.theme-primary .pagination li a:hover {
  border: 1px solid var(--color-primary);
  background-color: var(--color-primary) !important;
}

.header-title{
  color: var(--color-primary);
}

.theme-primary .bg-success {
  background-color: #41652f !important;
  color: #ffffff;
}

.content-header .page-title {
  margin: 0 15px 0 0;
  display: block;
  padding: 7px 25px 7px 0;
  color: var(--color-primary);
}

.page-title {
  font-weight: 400;
  font-size: 32px;
}

.content-header .breadcrumb-item + .breadcrumb-item::before {
  content: ">";
}

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

.scorm-modal,
.modal.scorm-modal,
#easy-modal,
.modal.open,
.modal.in {
  z-index: 999999999 !important;
}

/* SCORM player: keep the modal card and its title bar, and fill the card below the title bar with no extra space above the player and no scroller */
.modal.scorm-modal .modal-container {
  overflow: hidden !important;
}
.modal.scorm-modal.open .modal-container > .content-wrapper {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  bottom: 15px !important;
  left: 15px !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}
.modal.scorm-modal #overlay_iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

.badges-tab-section,
.courses-tab-section,
.messages-tab-section,
.certificates-tab-section {
  padding: 10px 0;
}

/* New Profile View Styles */
.profile-wrapper {
  background: white;
  border-radius: 8px;
  overflow: hidden;
}

.profile-header-section {
  display: flex;
  align-items: center;
  gap: 20px;
}

.profile-avatar-container {
  flex-shrink: 0;
}

.profile-name-section {
  flex-grow: 1;
}

/* Statistics Section */
.profile-stats-section {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 15px;
  padding: 20px;
  background: #ffffff;
}

.stat-card {
  text-align: center;
  padding: 15px;
  background: #f8f9fa;
  border-radius: 6px;
  border-left: 3px solid var(--color-primary);
}

.stat-number {
  font-size: 32px;
  font-weight: 700;
  color: var(--color-primary);
  line-height: 1;
  margin-bottom: 8px;
}

.stat-label {
  font-size: 12px;
  font-weight: 600;
  color: #666;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.profile-tabs-container {
    padding: 5px 20px;
}

/* Tab Content */
.tab-pane {
  animation: fadeIn 0.3s ease-in;
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.profile-avatar-wrapper{
    position: relative;
    width: 100px;
    height: 100px;
    border-radius: 50%;
    padding: 4px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0.5px solid #ccc;
}

.profile-avatar-wrapper img,
.profile-avatar-placeholder{
    width: 95px;
    height: 95px;
    border-radius: 50%;
    object-fit: cover;
}

.progress-bar {
    font-size: 12px;
    font-weight: 600;
}

.profile-avatar-wrapper .list_user_actions{
    display:flex;
    gap:6px;
    justify-content:center;
    margin-top:0px;
    padding:0;
    top: 0px;
    right: -80px;
}

.profile-avatar-wrapper .list_user_actions li{
    list-style:none;
}

#usertable_profiledialog_dialog_message .page-title,
#user_status_viewport .page-title{
  display:none;
}

.perm-main-category {
    margin-top: 30px;
    margin-bottom: 15px;
    padding-bottom: 10px;
    border-bottom: 2px solid #eee;
}

.perm-main-category h3 {
    color: var(--color-primary);
    font-weight: 700;
    margin: 0;
    text-transform: uppercase;
    font-size: 1.2rem;
}

.perm-section {
    background: #fdfdfd;
    padding: 15px;
    border-radius: 8px;
    border: 1px solid #f0f0f0;
    margin-bottom: 20px;
}

.perm-section-title {
    color: #444;
    font-weight: 600;
    margin-bottom: 15px;
    font-size: 1rem;
    border-left: 4px solid var(--color-primary);
    padding-left: 10px;
}

.perm-section .form-check {
    margin-bottom: 10px;
}

.perm-section .form-check-label {
    cursor: pointer;
    font-weight: 500;
    color: #555;
    padding-left: 5px;
}

.perm-section .form-check-input:checked + .form-check-label {
    color: var(--color-primary);
    font-weight: 600;
}

.mb-20 {
    margin-bottom: 20px !important;
}

.user-import-wrap {
  margin-top: 1rem;
}

.user-import-wrap .import-stepper {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 2rem;
  background: #ffffff;
  padding: 1.5rem 2rem;
  border-radius: 10px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}

.user-import-wrap .import-stepper .step {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  position: relative;
  z-index: 2;
}

.user-import-wrap .import-stepper .step-num {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background-color: #f1f3f5;
  color: #adb5bd;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 0.95rem;
  border: 2px solid #e9ecef;
  transition: all 0.3s ease;
}

.user-import-wrap .import-stepper .step-label {
  font-weight: 600;
  font-size: 0.95rem;
  color: #868e96;
  transition: all 0.3s ease;
}

.user-import-wrap .import-stepper .step-line {
  flex-grow: 1;
  height: 3px;
  background-color: #e9ecef;
  margin: 0 1.5rem;
  position: relative;
  z-index: 1;
}

.user-import-wrap .import-stepper .step.active .step-num {
  background-color: var(--color-primary);
  color: #ffffff;
  border-color: var(--color-primary);
  box-shadow: 0 0 0 4px rgba(0, 0, 0, 0.05);
}

.user-import-wrap .import-stepper .step.active .step-label {
  color: var(--color-primary);
  font-weight: 700;
}

.user-import-wrap .import-stepper .step.completed .step-num {
  background-color: var(--color-primary);
  color: #ffffff;
  border-color: var(--color-primary);
}

.user-import-wrap .import-stepper .step.completed .step-label {
  color: var(--color-primary);
}

.user-import-wrap .import-stepper .step-line.filled {
  background-color: var(--color-primary);
}

.user-import-wrap .import-card {
  background: #ffffff;
  border-radius: 12px;
  padding: 2.5rem;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.04);
  border: 1px solid rgba(128, 128, 128, 0.08);
  margin-bottom: 2rem;
  transition: box-shadow 0.3s ease;
}

.user-import-wrap .import-card:hover {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
}

.user-import-wrap .file-upload-container {
  border: 2px dashed #ced4da;
  padding: 2.5rem;
  border-radius: 8px;
  background-color: #f8fafc;
  text-align: center;
  cursor: pointer;
  transition: all 0.3s ease;
  margin-bottom: 1.5rem;
  position: relative;
}

.user-import-wrap .file-upload-container:hover {
  border-color: var(--color-primary);
  background-color: #f8fafc;
}

.user-import-wrap .file-upload-icon {
  font-size: 2.5rem;
  color: var(--color-primary);
  margin-bottom: 1rem;
  display: block;
}

.user-import-wrap .file-upload-text {
  font-weight: 700;
  color: #495057;
  margin-bottom: 0.5rem;
  font-size: 1.1rem;
}

.user-import-wrap .file-upload-subtext {
  font-size: 0.85rem;
  color: #868e96;
}

.user-import-wrap .form-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1.5rem;
  margin-bottom: 2rem;
}

.user-import-wrap .form-section-title {
  font-size: 1.1rem;
  font-weight: 700;
  color: #343a40;
  margin-bottom: 1.2rem;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid var(--color-primary);
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.user-import-wrap .form-group-card {
  background-color: #f8fafc;
  border: 1px solid #e9ecef;
  padding: 1.5rem;
  border-radius: 8px;
  height: 100%;
}

.user-import-wrap .form-group-card .form_line_l {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  margin-bottom: 1.25rem !important;
  width: 100% !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
}

.user-import-wrap .form-group-card .form_line_l > p:first-child {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 0 0.5rem 0 !important;
  padding: 0 !important;
  flex: 0 0 100% !important;
}

.user-import-wrap .form-group-card .form_line_l > p:first-child span,
.user-import-wrap .form-group-card .form_line_l > p:first-child label,
.user-import-wrap .form-group-card .form_line_l > p:first-child .label_effect {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  font-weight: 700 !important;
  font-size: 0.85rem !important;
  color: #495057 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
}

.user-import-wrap .form-group-card .form_line_l > p:first-child:has(span:empty),
.user-import-wrap .form-group-card .form_line_l > p:first-child:has(label:empty),
.user-import-wrap .form-group-card .form_line_l > p:first-child > span:empty,
.user-import-wrap .form-group-card .form_line_l > p:first-child > label:empty,
.user-import-wrap .form-group-card .form_line_l > p:first-child > .label_effect:empty {
  display: none !important;
  margin: 0 !important;
  height: 0 !important;
}

.user-import-wrap .form-group-card .form_line_l > .grouping,
.user-import-wrap .form-group-card .form_line_l > select,
.user-import-wrap .form-group-card .form_line_l > input:not([type="checkbox"]) {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
}

.user-import-wrap .form-group-card .form_line_l select {
  background-color: #ffffff !important;
  border: 1px solid #ced4da !important;
  border-radius: 6px !important;
  padding: 0.375rem 2.25rem 0.375rem 0.75rem !important;
  font-size: 0.9rem !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  color: #212529 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.user-import-wrap .form-group-card .form_line_l > input[type="checkbox"]:first-child {
  margin: 0 0.5rem 0 0 !important;
  flex: 0 0 auto !important;
  width: 16px !important;
  height: 16px !important;
  cursor: pointer !important;
}

.user-import-wrap .form-group-card .form_line_l > input[type="checkbox"]:first-child + p {
  display: inline-block !important;
  margin: 0 !important;
  padding: 0 !important;
  flex: 1 !important;
  width: auto !important;
}

.user-import-wrap .form-group-card .form_line_l > input[type="checkbox"]:first-child + p label {
  display: inline-block !important;
  width: auto !important;
  max-width: 100% !important;
  margin: 0 !important;
  font-weight: 600 !important;
  font-size: 0.9rem !important;
  color: #212529 !important;
  cursor: pointer !important;
}

.user-import-wrap .form-group-card .grouping input[type="radio"] {
  display: inline-block !important;
  margin: 0 0.5rem 0 0 !important;
  vertical-align: middle !important;
  cursor: pointer !important;
}

.user-import-wrap .form-group-card .grouping label.label_padded {
  display: inline-block !important;
  width: auto !important;
  max-width: calc(100% - 25px) !important;
  font-weight: 500 !important;
  font-size: 0.9rem !important;
  color: #495057 !important;
  cursor: pointer !important;
  vertical-align: middle !important;
  margin: 0 0 0.5rem 0 !important;
}

.user-import-wrap .custom-radio-group {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.user-import-wrap .custom-radio-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  background: #ffffff;
  padding: 0.75rem 1rem;
  border-radius: 6px;
  border: 1px solid #e9ecef;
  cursor: pointer;
  transition: all 0.2s ease;
}

.user-import-wrap .custom-radio-item:hover {
  border-color: var(--color-primary);
  background-color: #f8fafc;
}

.user-import-wrap .uimap-container {
  margin-top: 2rem;
  background-color: #ffffff;
  border: 1px solid #e9ecef;
  border-top: 3px solid var(--color-primary);
  border-radius: 10px;
  overflow-x: auto;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.02);
}

.user-import-wrap .uimap-container table {
  margin-bottom: 0 !important;
  width: 100%;
  border-collapse: collapse;
}

.user-import-wrap .uimap-container th {
  background-color: #f8fafc !important;
  color: #343a40 !important;
  font-weight: 700 !important;
  border-bottom: 2px solid #e9ecef !important;
  padding: 1rem !important;
}

.user-import-wrap .uimap-container td {
  padding: 1rem !important;
  vertical-align: middle !important;
  border-bottom: 1px solid #f1f3f5 !important;
}

.user-import-wrap .uimap-container select {
  padding: 0.5rem 1rem !important;
  border-radius: 6px !important;
  border: 1px solid #ced4da !important;
  width: 100% !important;
  font-weight: 600 !important;
  color: #495057 !important;
  background-color: #ffffff !important;
  transition: border-color 0.2s ease !important;
}

.user-import-wrap .uimap-container select:focus {
  border-color: var(--color-primary) !important;
  outline: none !important;
}

.user-import-wrap .metrics-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 1.5rem;
  margin-bottom: 2rem;
}

.user-import-wrap .summary-metric-card {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  padding: 1.5rem 2rem;
  border-radius: 12px;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.user-import-wrap .summary-metric-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}

.user-import-wrap .summary-metric-card.success-card {
  background: linear-gradient(135deg, #e8f5e9 0%, #c8e6c9 100%) !important;
  color: #2e7d32 !important;
  border: 1px solid #a5d6a7 !important;
}

.user-import-wrap .summary-metric-card.success-card .summary-metric-icon,
.user-import-wrap .summary-metric-card.success-card .summary-metric-value,
.user-import-wrap .summary-metric-card.success-card .summary-metric-label {
  color: #2e7d32 !important;
}

.user-import-wrap .summary-metric-card.error-card {
  background: linear-gradient(135deg, #ffebee 0%, #ffcdd2 100%) !important;
  color: #c62828 !important;
  border: 1px solid #ef9a9a !important;
}

.user-import-wrap .summary-metric-card.error-card .summary-metric-icon,
.user-import-wrap .summary-metric-card.error-card .summary-metric-value,
.user-import-wrap .summary-metric-card.error-card .summary-metric-label {
  color: #c62828 !important;
}

.user-import-wrap .summary-metric-icon {
  font-size: 3rem;
}

.user-import-wrap .summary-metric-value {
  font-size: 2.25rem;
  font-weight: 800;
  line-height: 1;
  margin-bottom: 0.25rem;
}

.user-import-wrap .summary-metric-label {
  font-weight: 600;
  font-size: 0.95rem;
}

.user-import-wrap .error-log-card {
  background: #ffffff;
  border-radius: 10px;
  border: 1px solid #f5c6cb;
  overflow: hidden;
  margin-bottom: 2rem;
}

.user-import-wrap .error-log-header {
  background-color: #f8d7da;
  color: #721c24;
  padding: 1rem 1.5rem;
  font-weight: 700;
  font-size: 1.1rem;
  border-bottom: 1px solid #f5c6cb;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.user-import-wrap .error-table-container {
  overflow-x: auto;
}

.user-import-wrap .error-table-container table {
  width: 100%;
  margin-bottom: 0 !important;
  border-collapse: collapse;
}

.user-import-wrap .error-table-container th {
  background-color: #fafbfc !important;
  color: #495057 !important;
  font-weight: 700 !important;
  padding: 0.75rem 1.25rem !important;
  border-bottom: 2px solid #e9ecef !important;
}

.user-import-wrap .error-table-container td {
  padding: 0.75rem 1.25rem !important;
  border-bottom: 1px solid #f1f3f5 !important;
  color: #E6E9EF;
}

.user-import-wrap .error-badge {
  background-color: #f8d7da;
  color: #721c24;
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
  font-size: 0.8rem;
  font-weight: 700;
}

#global_conf .row {
  display: flex ;
  flex-wrap: wrap ;
  margin-right: -15px ;
  margin-left: -15px ;
}

#global_conf .col-sm-6 {
  flex: 0 0 50% ;
  max-width: 50% ;
  padding-right: 15px ;
  padding-left: 15px ;
  box-sizing: border-box ;
}

@media (max-width: 991px) {
  #global_conf .col-sm-6 {
    flex: 0 0 100% ;
    max-width: 100% ;
  }
}

#global_conf .nav-pills,
#global_conf .nav-underline {
  display: flex ;
  flex-wrap: nowrap ;
  overflow-x: auto ;
  -webkit-overflow-scrolling: touch ;
  padding-bottom: 8px ;
  border-bottom: 2px solid rgba(0, 0, 0, 0.05) ;
  gap: 8px ;
  margin-bottom: 1.5rem ;
}

#global_conf .nav-pills li,
#global_conf .nav-underline li {
  flex: 0 0 auto ;
  margin: 0 ;
}

#global_conf .nav-pills li a,
#global_conf .nav-underline li a {
  padding: 8px 16px ;
  font-weight: 600 ;
  transition: all 0.2s ease ;
}

#global_conf .nav-pills::-webkit-scrollbar,
#global_conf .nav-underline::-webkit-scrollbar {
  height: 5px ;
}

#global_conf .nav-pills::-webkit-scrollbar-track,
#global_conf .nav-underline::-webkit-scrollbar-track {
  background: transparent ;
}

#global_conf .nav-pills::-webkit-scrollbar-thumb,
#global_conf .nav-underline::-webkit-scrollbar-thumb {
  background-color: rgba(0, 0, 0, 0.12) ;
  border-radius: 10px ;
}

@media (max-width: 575px) {
  #global_conf .form_line_l {
    flex-direction: column ;
    align-items: flex-start ;
    gap: 6px ;
  }

  #global_conf .form_line_l p {
    flex: 0 0 100% ;
    max-width: 100% ;
    margin-bottom: 4px ;
  }

  #global_conf .form_line_l .textfield,
  #global_conf .form_line_l select,
  #global_conf .form_line_l textarea,
  #global_conf .form_line_l .form-control,
  #global_conf .form_line_l .fileupload,
  #global_conf .form_line_l input[type="text"],
  #global_conf .form_line_l input[type="date"],
  #global_conf .form_line_l input[type="password"] {
    flex: 0 0 100% ;
    width: 100% ;
  }

  #global_conf .form_line_l button,
  #global_conf .form_line_l .forma-button {
    margin-left: 0 ;
    margin-top: 6px ;
    width: 100% ;
  }
}

#tenant-domain-verification-overlay {
  position: fixed;
  inset: 0;
  z-index: 99999;
  background: rgba(0, 0, 0, 0.55);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
}
#tenant-domain-verification-overlay .tenant-modal {
  width: 100%;
  max-width: 560px;
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.3);
  padding: 24px;
  font-family: inherit;
  position: relative;
  text-align: center;
}
#tenant-domain-verification-overlay .tenant-modal h2 {
  margin: 0 0 12px;
  font-size: 24px;
}
#tenant-domain-verification-overlay .tenant-modal p {
  margin: 0 0 8px;
}
#tenant-domain-verification-overlay .tenant-modal .tenant-close {
  position: absolute;
  top: 10px;
  right: 12px;
  border: 0;
  background: transparent;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
  color: #333;
  padding: 4px;
}
#tenant-domain-verification-overlay .tenant-modal .tenant-close:focus {
  outline: 2px solid #4f7d3a;
  outline-offset: 2px;
}
#tenant-domain-verification-overlay .tenant-modal .tenant-status {
  min-height: 22px;
  margin: 12px 0 18px;
  color: #333;
  text-align: center;
}
#tenant-domain-verification-overlay .tenant-modal .tenant-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  justify-content: center;
}
#tenant-domain-verification-overlay .tenant-modal button[disabled] {
  opacity: 0.7;
  cursor: not-allowed;
}

@media (max-width: 767.98px) {
  .theme-primary .row > .vh-100 {
    height: auto !important;
    min-height: 100vh;
  }

  .theme-primary .row > .vh-100 .flex-grow-1.justify-content-center,
  .theme-primary .card-body .flex-grow-1.justify-content-center {
    height: auto !important;
    min-height: auto !important;
    justify-content: flex-start !important;
    padding-top: 1.5rem !important;
    padding-bottom: 2rem !important;
  }
}

.theme-primary .form-check {
  display: flex !important;
  align-items: center !important;
  padding-left: 0 !important;
  gap: 10px !important;
}

.theme-primary .form-check .form-check-input {
  margin: 0 !important;
  float: none !important;
  width: 1.2rem;
  height: 1.2rem;
  flex-shrink: 0;
}

.theme-primary .form-check .form-check-label {
  margin-bottom: 0 !important;
  padding-left: 0 !important;
}

/* Modernized Course Header and Navigation overrides */

/* Reset old styles */
.section-coourse {
  border: none !important;
  background: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin-top: 15px !important;
  margin-bottom: 25px !important;
}

.section-coourse__header {
  border: none !important;
  background: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.section-coourse__menu {
  border: none !important;
  background: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* Course Header Card */
.section-coourse__header-card {
  display: flex;
  align-items: center;
  background-color: #ffffff;
  border-radius: 20px;
  padding: 24px 30px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
  gap: 24px;
}

/* Course Logo Image */
img.section-coourse__img {
  width: clamp(180px, 34%, 320px) !important;
  height: 120px !important;
  border-radius: 10px !important;
  object-fit: cover !important;
  flex-shrink: 0 !important;
  margin: 0 !important;
  display: block !important;
}

/* Details and title */
.section-coourse__header-details {
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex-grow: 1;
  min-width: 0;
}

h1.section-coourse__title {
  font-family: 'Outfit', 'Inter', 'Segoe UI', sans-serif;
  font-size: clamp(22px, 2.5vw + 6px, 28px) !important;
  font-weight: 700 !important;
  color: var(--color-primary) !important;
  margin: 0 0 12px 0 !important;
  padding: 0 !important;
  line-height: 1.2 !important;
  border: none !important;
}

/* Progress bar wrapper */
.section-coourse__progress-wrapper {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
}

.section-coourse__progress-bar-container {
  width: 250px;
  height: 8px;
  background-color: #f1f3f5;
  border-radius: 10px;
  overflow: hidden;
  position: relative;
}

.section-coourse__progress-bar {
  height: 100%;
  background-color: var(--color-primary);
  border-radius: 10px;
  transition: width 0.6s ease;
}

.section-coourse__progress-text {
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  color: #555555;
  font-weight: 500;
  white-space: nowrap;
}

.section-coourse__stats-icon {
  cursor: pointer;
  color: var(--color-primary);
  font-size: 16px;
  margin-left: 5px;
  transition: transform 0.2s ease, color 0.2s ease;
}

.section-coourse__stats-icon:hover {
  transform: scale(1.15);
  color: color-mix(in srgb, var(--color-primary) 80%, black);
}

/* Pill Navigation Bar */
.section-coourse__nav-bar {
  display: flex;
  align-items: center;
  background-color: var(--color-primary) !important;
  border-radius: 10px;
  padding: 8px 16px;
  gap: 20px;
  width: 100%;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
  min-height: 52px;
}

/* Dropdown styling */
.section-coourse__dropdown-container {
  flex-shrink: 0;
}

.section-coourse__dropdown-btn {
  background-color: color-mix(in srgb, var(--color-primary) 80%, white) !important;
  color: #ffffff !important;
  border: none !important;
  padding: 8px 20px !important;
  font-family: 'Inter', sans-serif;
  font-weight: 600 !important;
  font-size: 14px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px;
  box-shadow: none !important;
  transition: background-color 0.2s ease, transform 0.15s ease !important;
  position: relative !important;
}

.section-coourse__dropdown-btn.has-icon {
  padding-left: 30px !important;
}

@media (min-width: 1024px) {
  .section-coourse__dropdown-btn.has-icon {
    padding-left: 48px !important;
  }
}

#corse_menu_button .section-coourse__dropdown-btn.has-icon.icon--coourse-menu {
  color: #ffffff !important;
}

.section-coourse__dropdown-wrapper .dropdown-menu .dropdown-item {
    color: #000;
}

.section-coourse__dropdown-wrapper .section-coourse__dropdown-btn {
    color: #fff;
}


.section-coourse__dropdown-btn.has-icon.icon--coourse-menu:before {
  background: #ffffff !important;
}

.section-coourse__dropdown-btn:hover,
.section-coourse__dropdown-btn:focus,
.section-coourse__dropdown-btn:active {
  background-color: color-mix(in srgb, var(--color-primary) 70%, white) !important;
  outline: none !important;
}

.section-coourse__dropdown-btn .caret-arrow {
  font-size: 10px;
  margin-left: 4px;
}

/* Dropdown Menu Override */
.section-coourse__dropdown-wrapper .dropdown-menu {
  border-radius: 12px !important;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1) !important;
  border: 1px solid rgba(0, 0, 0, 0.08) !important;
  padding: 6px 0 !important;
  margin-top: 8px !important;
}

.section-coourse__dropdown-wrapper .dropdown-menu li a {
  padding: 10px 20px 10px 48px !important;
  font-weight: 500 !important;
  color: #333333 !important;
  font-size: 14px !important;
  transition: background-color 0.2s ease, color 0.2s ease;
  position: relative !important;
  display: block !important;
}

.section-coourse__dropdown-wrapper .dropdown-menu li a:hover {
  background-color: #f1f3f5 !important;
  color: var(--color-primary) !important;
}

/* Sub-navigation links */
.section-coourse__menu-horizontal {
  display: flex;
  align-items: center;
  flex-grow: 1;
  overflow: hidden;
}

.section-coourse__menu-horizontal .custom-scroll-container {
  overflow-x: auto;
  white-space: nowrap;
  width: 100%;
  /* scrollbar-width: none; */ /* Hide standard firefox scrollbar */
}

.section-coourse__menu-horizontal .custom-scroll-container::-webkit-scrollbar {
  /* display: none; */ /* Hide webkit scrollbar */
}

.section-coourse__menu-horizontal ul.slider-menu-static {
  display: flex !important;
  align-items: center !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  flex-wrap: nowrap !important;
}

.slider-menu__item {
  display: inline-flex !important;
  align-items: center !important;
  font-size: 14px !important;
  margin: 0 !important;
  padding: 0 !important;
  position: static !important;
  float: none !important;
  background: none !important;
  border: none !important;
  white-space: nowrap !important;
}

.slider-menu__item:not(:last-child)::after,
.slick-slide:not(:last-child) .slider-menu__item::after {
  content: "›" !important;
  position: static !important;
  display: inline-block !important;
  margin: 0 14px !important;
  color: rgba(255, 255, 255, 0.4) !important;
  font-size: 16px !important;
  pointer-events: none !important;
  float: none !important;
}

.slider-menu__item a {
  display: inline-block !important;
  float: none !important;
  color: rgba(255, 255, 255, 0.7) !important;
  text-decoration: none !important;
  font-weight: 500 !important;
  font-family: 'Inter', sans-serif;
  transition: color 0.2s ease, text-shadow 0.2s ease !important;
  padding: 4px 0 !important;
  border: none !important;
  background: none !important;
  margin: 0 !important;
}

.slider-menu__item a:hover {
  color: #ffffff !important;
  text-shadow: 0 0 1px rgba(255, 255, 255, 0.5);
}

.slider-menu__item.is-selected a {
  color: #ffffff !important;
  font-weight: 700 !important;
}

/* Responsive adjustments */
@media (max-width: 767px) {
  .section-coourse__header-card {
    flex-direction: column !important;
    align-items: center !important;
    padding: 20px !important;
    gap: 16px !important;
    text-align: center;
  }
  img.section-coourse__img {
    width: min(320px, 100%) !important;
    border-radius: 16px !important;
  }

  .section-coourse__header-details {
    align-items: center !important;
    width: 100%;
  }

  h1.section-coourse__title {
    font-size: 22px !important;
    text-align: center !important;
    margin-bottom: 8px !important;
  }

  .section-coourse__progress-wrapper {
    display: grid !important;
    grid-template-columns: auto auto !important;
    justify-content: center !important;
    gap: 8px 12px !important;
  }

  .section-coourse__progress-bar-container {
    grid-column: 1 / span 2 !important;
    justify-self: center !important;
    width: 100% !important;
    max-width: 280px !important;
  }

  .section-coourse__progress-text {
    grid-column: 1 !important;
    justify-self: end !important;
  }

  .section-coourse__stats-icon {
    grid-column: 2 !important;
    justify-self: start !important;
    align-self: center !important;
    margin-left: 0 !important;
  }

  .section-coourse__nav-bar {
    flex-direction: column !important;
    align-items: flex-start !important;
    border-radius: 20px !important;
    padding: 12px 16px !important;
    gap: 14px !important;
  }

  .section-coourse__menu-horizontal {
    width: 100% !important;
  }

  .section-coourse__menu-horizontal ul.slider-menu-static {
    flex-wrap: wrap !important;
    gap: 6px 0 !important;
  }

  .slider-menu__item:not(:last-child)::after {
    margin: 0 10px !important;
  }
}

/* Teacher Area Tabs Styling */
.tabs-wrapper {
  margin-bottom: 24px !important;
}

.tabs-wrapper ul.nav-pills {
  display: flex !important;
  gap: 12px !important;
  padding: 0 !important;
  margin: 0 0 24px 0 !important;
  border-bottom: none !important;
}

.tabs-wrapper ul.nav-pills li.tab-link {
  float: none !important;
  margin: 0 !important;
}

.tabs-wrapper ul.nav-pills li.tab-link a {
  display: inline-block !important;
  background-color: #ffffff !important;
  color: #555555 !important;
  border: 1px solid #e0e0e0 !important;
  padding: 8px 22px !important;
  font-family: 'Outfit', 'Inter', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: all 0.2s ease-in-out !important;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.02) !important;
}

.tabs-wrapper ul.nav-pills li.tab-link a:hover {
  background-color: #f7f9fa !important;
  color: var(--color-primary) !important;
  border-color: #d0d4d7 !important;
}

.tabs-wrapper ul.nav-pills li.tab-link.active a {
  background-color: var(--color-primary) !important;
  color: #ffffff !important;
  border-color: var(--color-primary) !important;
  box-shadow: 0 4px 8px color-mix(in srgb, var(--color-primary) 20%, transparent) !important;
}

/* Layout columns for Teacher / Student Area */
.fv-is-teacher-area.std_block,
.fv-is-student-area.std_block,
.std_block:has(.tabs-wrapper),
.std_block:has(.folderTreeView),
.tabs-wrapper,
.fv-is-teacher-area.tab-content,
.tab-content.fv-is-teacher-area,
.fv-is-teacher-area.app-card_shadow,
.app-card_shadow.fv-is-teacher-area,
.fv-is-student-area .tab-pane,
.fv-is-teacher-area .tab-pane,
.fv-is-teacher-area .folderTreeView,
.fv-is-student-area .folderTreeView {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  border: none !important;
  padding: 0 !important;
}

.fv-is-teacher-area .folderTreeView,
.fv-is-student-area .folderTreeView {
  display: flex !important;
  flex-direction: row !important;
  align-items: stretch !important;
  gap: 24px !important;
  background: transparent !important;
  padding: 0 !important;
  min-height: auto !important;
}

.fv-is-teacher-area .folderTreeContent--one-third,
.fv-is-student-area .folderTreeContent--one-third {
  flex: 0 0 240px !important;
  width: 240px !important;
  max-width: 240px !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
}

.fv-is-teacher-area .folderViewContent--two-third,
.fv-is-student-area .folderViewContent--two-third {
  flex: 1 1 auto !important;
  width: auto !important;
  max-width: none !important;
  display: flex !important;
  flex-direction: row-reverse !important;
  gap: 24px !important;
  align-items: flex-start !important;
  background: transparent !important;
  padding: 0 !important;
}

.fv-is-teacher-area .folderView,
.fv-is-student-area .folderView {
  flex: 1 1 auto !important;
  width: auto !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
}

.fv-is-teacher-area .folderTree__actions,
.fv-is-student-area .folderTree__actions {
  flex: 0 0 220px !important;
  width: 220px !important;
  max-width: 220px !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Sidebar Folder Cards */
.fv-is-teacher-area .folderTree__link,
.fv-is-student-area .folderTree__link {
  background: #ffffff !important;
  border-radius: 10px !important;
  border: 1px solid #eef2f5 !important;
  border-left: 5px solid var(--color-primary) !important; /* Thick theme color border on the left */
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.04) !important;
  padding: 12px 16px 12px 48px !important;
  display: flex !important;
  align-items: center !important;
  color: #333333 !important;
  font-weight: bold !important;
  font-size: 14px !important;
  width: 100% !important;
  text-align: left !important;
  background-position: 16px center !important;
  background-size: 18px !important;
  background-repeat: no-repeat !important;
  transition: all 0.2s ease-in-out !important;
  position: relative !important;
  box-sizing: border-box !important;
  height: auto !important;
  margin-bottom: 8px !important;
}

.fv-is-teacher-area .folderTree__link:hover,
.fv-is-student-area .folderTree__link:hover {
  background-color: #f7f9fa !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.06) !important;
}

.fv-is-teacher-area .folderTree__link span,
.fv-is-student-area .folderTree__link span {
  font-family: 'Outfit', 'Inter', sans-serif !important;
  color: #333333 !important;
}

/* Main List Learning Object Cards */
.fv-is-teacher-area .folderView .folderView__li,
.fv-is-student-area .folderView .folderView__li {
  position: relative !important;
  background: #ffffff !important;
  border-radius: 10px !important;
  border: 1px solid #eef2f5 !important;
  border-left: 5px solid var(--color-primary) !important; /* Thick theme color border on the left */
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.04) !important;
  margin: 0 0 16px 0 !important;
  padding: 0 16px 0 0 !important; /* Pad right for the action button */
  width: 100% !important;
  height: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  transition: all 0.2s ease-in-out !important;
  box-sizing: border-box !important;
}

.fv-is-teacher-area .folderView .folderView__li:hover,
.fv-is-student-area .folderView .folderView__li:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.06) !important;
}

.fv-is-teacher-area .folderView .folderView__el,
.fv-is-student-area .folderView .folderView__el {
  display: flex !important;
  align-items: center !important;
  padding: 16px 20px 16px 56px !important;
  background-position: 20px center !important;
  background-size: 24px !important;
  background-repeat: no-repeat !important;
  height: auto !important;
  min-height: 64px !important;
  flex-grow: 1 !important;
  position: relative !important;
}

.fv-is-teacher-area .folderView .folderView__label,
.fv-is-student-area .folderView .folderView__label {
  color: #333333 !important;
  font-family: 'Outfit', 'Inter', sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  padding: 0 !important;
  margin: 0 !important;
  text-decoration: none !important;
  pointer-events: none !important;
}

/* Action button for each card (Three dots) */
.fv-is-teacher-area .folderView .folderView__button,
.fv-is-student-area .folderView .folderView__button {
  border-radius: 50% !important;
  width: 36px !important;
  height: 36px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid #e0e0e0 !important;
  background-color: #ffffff !important;
  color: #777777 !important;
  transition: all 0.2s ease-in-out !important;
  flex-shrink: 0 !important;
  cursor: pointer !important;
  outline: none !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 14px !important;
  line-height: 1 !important;
}

.fv-is-teacher-area .folderView .folderView__button:hover,
.fv-is-student-area .folderView .folderView__button:hover {
  background-color: #f7f9fa !important;
  border-color: var(--color-primary) !important;
  color: var(--color-primary) !important;
}

.folderView__button:hover:after {
    background-color: var(--color-primary);
}

.fv-is-teacher-area .folderView .folderView__buttons,
.fv-is-student-area .folderView .folderView__buttons {
  right: 16px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
}

/* "+ Create New" Dropdown Styles */
.fv-is-teacher-area .folderTree__actions .dropdown,
.fv-is-student-area .folderTree__actions .dropdown {
  width: 100% !important;
  position: relative !important;
}

.fv-is-teacher-area .folderTree__actions button.create-object-button,
.fv-is-student-area .folderTree__actions button.create-object-button {
  width: 100% !important;
  background-color: var(--color-secondary) !important;
  color: #ffffff !important;
  border-radius: 10px !important;
  padding: 12px 20px !important;
  font-family: 'Outfit', 'Inter', sans-serif !important;
  font-size: 15px !important;
  font-weight: bold !important;
  border: none !important;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.12) !important;
  text-align: center !important;
  display: block !important;
  transition: all 0.2s ease-in-out !important;
  outline: none !important;
}

.fv-is-teacher-area .folderTree__actions button.create-object-button:hover,
.fv-is-student-area .folderTree__actions button.create-object-button:hover {
  background-color: var(--color-secondary) !important;
  box-shadow: 0 6px 15px rgba(0, 0, 0, 0.18) !important;
  transform: translateY(-1px) !important;
  opacity: 0.9 !important;
}

/* Collapsible Dropdown Options Menu */
.fv-is-teacher-area .folderTree__actions .dropdown-menu,
.fv-is-student-area .folderTree__actions .dropdown-menu {
  position: static !important;
  float: none !important;
  display: none; /* hidden when not open */
  flex-direction: column !important;
  gap: 10px !important;
  background-color: transparent !important;
  box-shadow: none !important;
  border: none !important;
  padding: 4px !important;
  width: 100% !important;
  max-height: 250px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
}

/* Show the menu inline when open */
.fv-is-teacher-area .folderTree__actions .dropdown-menu.show,
.fv-is-teacher-area .folderTree__actions .open > .dropdown-menu,
.fv-is-student-area .folderTree__actions .dropdown-menu.show,
.fv-is-student-area .folderTree__actions .open > .dropdown-menu {
  display: flex !important;
}

/* Individual Option Cards */
.fv-is-teacher-area .folderTree__actions li.itemType,
.fv-is-student-area .folderTree__actions li.itemType {
  background: #ffffff !important;
  border-radius: 10px !important;
  border: 1px solid #eef2f5 !important;
  border-left: none !important; /* No left border/stripe on options */
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.04) !important;
  margin: 0 !important;
  padding: 0 !important;
  transition: all 0.2s ease-in-out !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
}

.fv-is-teacher-area .folderTree__actions li.itemType:hover,
.fv-is-student-area .folderTree__actions li.itemType:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.06) !important;
  border-color: var(--color-primary) !important;
}

.fv-is-teacher-area .folderTree__actions .folderView__el,
.fv-is-student-area .folderTree__actions .folderView__el {
  display: flex !important;
  align-items: center !important;
  padding: 12px 16px 12px 48px !important;
  background-position: 16px center !important;
  background-size: 20px !important;
  background-repeat: no-repeat !important;
  height: auto !important;
  min-height: 48px !important;
}

.fv-is-teacher-area .folderTree__actions .folderView__label,
.fv-is-student-area .folderTree__actions .folderView__label {
  color: #555555 !important;
  font-family: 'Outfit', 'Inter', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  padding: 0 !important;
  margin: 0 !important;
  text-decoration: none !important;
}

/* Folder Creation Form Styling */
.fv-is-teacher-area .createFolderForm,
.fv-is-student-area .createFolderForm {
  background: #ffffff !important;
  border-radius: 10px !important;
  border: 1px solid #eef2f5 !important;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.05) !important;
  padding: 16px !important;
  margin: 12px 0 0 0 !important;
  box-sizing: border-box !important;
}

.fv-is-teacher-area .createFolderForm .inputBtnContainer,
.fv-is-student-area .createFolderForm .inputBtnContainer {
  padding: 0 !important;
}

.fv-is-teacher-area .createFolder__link,
.fv-is-student-area .createFolder__link {
  display: flex !important;
  align-items: center !important;
  padding-left: 36px !important;
  background-position: left center !important;
  background-size: 20px !important;
  background-repeat: no-repeat !important;
  margin-bottom: 12px !important;
}

.fv-is-teacher-area .createFolder__input,
.fv-is-student-area .createFolder__input {
  width: 100% !important;
  border: 1px solid #e0e0e0 !important;
  border-radius: 6px !important;
  padding: 8px 12px !important;
  font-size: 14px !important;
  outline: none !important;
  transition: border-color 0.2s !important;
}

.fv-is-teacher-area .createFolder__input:focus,
.fv-is-student-area .createFolder__input:focus {
  border-color: var(--color-primary) !important;
}

.fv-is-teacher-area .btnContainer,
.fv-is-student-area .btnContainer {
  display: flex !important;
  justify-content: flex-end !important;
  gap: 8px !important;
}

.fv-is-teacher-area .btnContainer button,
.fv-is-student-area .btnContainer button {
  padding: 6px 16px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  border-radius: 6px !important;
  cursor: pointer !important;
  border: none !important;
}

.fv-is-teacher-area .cancelCreateFolder__btn,
.fv-is-student-area .cancelCreateFolder__btn {
  background-color: #f5f5f5 !important;
  color: #666666 !important;
  border: 1px solid #e0e0e0 !important;
}

.fv-is-teacher-area .cancelCreateFolder__btn:hover,
.fv-is-student-area .cancelCreateFolder__btn:hover {
  background-color: #e8e8e8 !important;
}

.fv-is-teacher-area .createFolder__btn,
.fv-is-student-area .createFolder__btn {
  background-color: var(--color-primary) !important;
  color: #ffffff !important;
  border: 1px solid var(--color-primary) !important;
}

.fv-is-teacher-area .createFolder__btn:hover,
.fv-is-student-area .createFolder__btn:hover {
  background-color: color-mix(in srgb, var(--color-primary) 85%, black) !important;
}

/* Responsive overrides for Teacher / Student Area */
@media (max-width: 767px) {
  .fv-is-teacher-area .folderTreeView,
  .fv-is-student-area .folderTreeView {
    flex-direction: column !important;
    gap: 16px !important;
  }

  .fv-is-teacher-area .folderTreeContent--one-third,
  .fv-is-student-area .folderTreeContent--one-third {
    flex: none !important;
    width: 100% !important;
    max-width: none !important;
  }

  .fv-is-teacher-area .folderViewContent--two-third,
  .fv-is-student-area .folderViewContent--two-third {
    flex-direction: column !important;
    width: 100% !important;
    max-width: none !important;
    gap: 16px !important;
    align-items: stretch !important;
  }

  .fv-is-teacher-area .folderTree__actions,
  .fv-is-student-area .folderTree__actions {
    flex: none !important;
    width: 100% !important;
    max-width: none !important;
    display: flex !important;
    justify-content: center !important;
  }

  .fv-is-teacher-area .folderTree__actions .dropdown,
  .fv-is-student-area .folderTree__actions .dropdown {
    width: 100% !important;
    max-width: none !important;
  }

  .tabs-wrapper ul.nav-pills {
    display: flex !important;
    width: 100% !important;
    gap: 8px !important;
  }

  .tabs-wrapper ul.nav-pills li.tab-link {
    flex: 1 !important;
    text-align: center !important;
  }

  .tabs-wrapper ul.nav-pills li.tab-link a {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    padding: 8px 4px !important;
  }
}

/* Student Area Card Layout Styling */
.fv-is-student-area .actions-wrapper {
  position: static !important;
  width: auto !important;
  height: auto !important;
  overflow: visible !important;
  display: flex !important;
  align-items: center !important;
}

.fv-is-student-area .actions-wrapper + .actions-wrapper {
  display: none !important;
}

.fv-is-student-area .folderView__visibleActions {
  position: relative !important;
  top: auto !important;
  right: auto !important;
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  margin-right: 24px !important;
  flex-shrink: 0 !important;
}

@media (max-width: 767px) {
  .fv-is-student-area .folderView .folderView__li {
    flex-direction: row !important;
    align-items: center !important;
    padding: 8px 16px 8px 0 !important;
  }

  .fv-is-student-area .folderView .folderView__el {
    padding: 8px 8px 8px 40px !important;
    background-position: 8px center !important;
    min-height: auto !important;
    width: auto !important;
    max-width: none !important;
    flex-grow: 1 !important;
  }
}

/* Modernized Course Catalog Styling */

/* Catalog nav-pills wrapper */
.catalog-header-bar {
  background: #ffffff !important;
  border-radius: 8px !important;
  padding: 16px 20px 4px !important;
  margin-bottom: 0 !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06) !important;
}

/* Nav-pills */
#catalog_nav.nav-pills {
  gap: 4px !important;
  flex-wrap: wrap !important;
  border-bottom: 0 !important;
}

#catalog_nav.nav-pills .nav-item {
  margin: 0 !important;
}

#catalog_nav.nav-pills .nav-link {
  border-radius: 20px !important;
  padding: 6px 18px !important;
  font-weight: 500 !important;
  color: var(--color-dark) !important;
  background: transparent !important;
  border: 1px solid transparent !important;
  transition: background 0.18s ease, color 0.18s ease, border-color 0.18s ease !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

#catalog_nav.nav-pills .nav-link:hover {
  background: var(--color-primary, rgba(0,109,67,0.08)) !important;
  color: var(--color-primary) !important;
  border-color: var(--color-primary) !important;
}

#catalog_nav.nav-pills .nav-link.active {
  background: var(--color-primary) !important;
  color: #ffffff !important;
  border-color: var(--color-primary) !important;
  font-weight: 600 !important;
}

/* Welcome card: the admin dashboard greeting, also used on the learner dashboard. */
.dashboard-welcome {
  background: linear-gradient(110deg, color-mix(in srgb, var(--color-primary) 7%, white), color-mix(in srgb, var(--color-primary) 2%, white));
  border: 1px solid color-mix(in srgb, var(--color-primary) 10%, #e5eaf1);
  border-radius: 12px;
  padding: 23px 24px;
  margin-bottom: 18px;
}

.dashboard-welcome__eyebrow,
.dashboard-welcome > p {
  margin: 0;
  color: #52627d;
}

.dashboard-welcome h2 {
  color: var(--dash-heading, color-mix(in srgb, var(--color-primary) 85%, black 15%));
  font-size: clamp(1.55rem, 2.3vw, 2.25rem);
  line-height: 1.15;
  margin: 5px 0 9px;
  font-weight: 500;
}

@media (max-width: 767.98px) {
  .dashboard-welcome {
    padding: 16px;
  }
}

/* Learner banners. Light mode: the My Courses filter bar uses the welcome card surface and the
   catalogue strip is plain white. Dark mode (below) uses the dark surface and border tokens. */
.lms-layout nav.filterBar.quick_search_form:has(#course_search_filter_set1) {
  background: linear-gradient(110deg, color-mix(in srgb, var(--color-primary) 7%, white), color-mix(in srgb, var(--color-primary) 2%, white)) !important;
  border: 1px solid color-mix(in srgb, var(--color-primary) 10%, #e5eaf1) !important;
  border-radius: 12px !important;
}

body .tab_subnav {
  background: var(--color-white, #ffffff) !important;
  border: 1px solid color-mix(in srgb, var(--color-primary) 10%, #e5eaf1) !important;
  border-radius: 12px !important;
}

body.dark-skin .lms-layout nav.filterBar.quick_search_form:has(#course_search_filter_set1),
body.dark-skin .tab_subnav,
html[data-theme="dark"] .lms-layout nav.filterBar.quick_search_form:has(#course_search_filter_set1),
html[data-theme="dark"] .tab_subnav {
  background: var(--dark-surface, #111827) !important;
  border-color: var(--dark-border, #1f2937) !important;
}

/* Dark mode: the filter toggle label uses a lighter green so it reads on the dark surface. */
body.dark-skin .lms-layout nav.filterBar.quick_search_form:has(#course_search_filter_set1) .filter-label,
html[data-theme="dark"] .lms-layout nav.filterBar.quick_search_form:has(#course_search_filter_set1) .filter-label {
  color: #34d399 !important;
}

/* My Courses status filters: a row of chips with even 8px gaps. On phones they form a two-column
   grid. Colours come from theme tokens, with dark-mode overrides below, and the Lucide icons take
   the chip's text colour. */
.lms-layout nav.filterBar.quick_search_form:has(#course_search_filter_set1) {
  --chip-bg: var(--color-white, #ffffff);
  --chip-border: #e5eaf1;
  --chip-text: var(--color-wrapper-text, #374151);
  --chip-hover-bg: color-mix(in srgb, var(--color-primary) 8%, white);
  --chip-active-bg: var(--color-primary);
  display: flex !important;
  flex-wrap: wrap;
  justify-content: flex-start !important;
  gap: 8px;
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
}

body.dark-skin .lms-layout nav.filterBar.quick_search_form:has(#course_search_filter_set1),
html[data-theme="dark"] .lms-layout nav.filterBar.quick_search_form:has(#course_search_filter_set1) {
  --chip-bg: color-mix(in srgb, var(--dark-surface, #111827) 85%, white);
  --chip-border: color-mix(in srgb, var(--dark-border, #1f2937) 60%, white);
  --chip-text: #e5e7eb;
  --chip-hover-bg: color-mix(in srgb, var(--dark-surface, #111827) 70%, var(--color-primary));
}

/* The theme's dark rule for unselected pills outranks the chip rule, so the pills get their own dark override. */
body.dark-skin .lms-layout nav.filterBar.quick_search_form:has(#course_search_filter_set1) ul.filterBar li.filterBar__button:not(.selected) > .filterBar__buttonLink,
html[data-theme="dark"] .lms-layout nav.filterBar.quick_search_form:has(#course_search_filter_set1) ul.filterBar li.filterBar__button:not(.selected) > .filterBar__buttonLink {
  background: var(--chip-bg) !important;
  border-color: var(--chip-border) !important;
  color: var(--chip-text) !important;
}

.lms-layout ul.filterBar.nav-pills {
  gap: 8px;
}

/* Left-aligned, not centred, from tablets up. The theme and Bootstrap (justify-content-center) centre these by default. */
@media (min-width: 576px) {
  .lms-layout ul.filterBar.nav-pills {
    justify-content: flex-start !important;
    padding-left: 15px !important;
  }
}

.lms-layout nav.filterBar.quick_search_form:has(#course_search_filter_set1) #course_search_simple_filter_options {
  justify-content: flex-start;
}

/* From tablets up the fields share one row: the three selects, Apply and Reset, then the search pushed right. */
@media (min-width: 768px) {
  .lms-layout nav.filterBar.quick_search_form:has(#course_search_filter_set1) .filterBar__mainsearch {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
  }

  .lms-layout nav.filterBar.quick_search_form:has(#course_search_filter_set1) .filterBar__mainsearch fieldset {
    display: flex;
    flex: 0 0 auto;
    flex-wrap: nowrap;
    align-items: center;
    gap: 10px;
    min-width: 0;
    margin: 0;
  }

  .lms-layout nav.filterBar.quick_search_form:has(#course_search_filter_set1) .filterBar__mainsearch .btn-group.bootstrap-select {
    float: none;
    flex: 0 1 165px;
    width: 165px;
    max-width: 100%;
    min-width: 0 !important;
    margin: 0 !important;
  }

  .lms-layout nav.filterBar.quick_search_form:has(#course_search_filter_set1) .filterBar__searchAndReset {
    width: auto;
    margin: 0;
    gap: 8px;
  }

  .lms-layout nav.filterBar.quick_search_form:has(#course_search_filter_set1) .filterBar__searchInput {
    flex: 1 1 130px;
    width: auto;
    max-width: 420px;
    margin: 0 0 0 auto;
  }
}

.lms-layout ul.filterBar.nav-pills > li.filterBar__button {
  width: auto !important;
  min-width: 0 !important;
  height: auto !important;
  margin: 0 !important;
  line-height: normal !important;
}

.lms-layout ul.filterBar .filterBar__buttonLink {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 6px;
  height: 36px !important;
  padding: 0 14px !important;
  border: 1px solid var(--chip-border) !important;
  border-radius: 10px !important;
  background: var(--chip-bg) !important;
  color: var(--chip-text) !important;
  box-shadow: 0 1px 2px rgba(15, 35, 70, .05);
  font-size: 13px !important;
  font-weight: 500;
  line-height: 1 !important;
  white-space: nowrap;
  transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}

.lms-layout ul.filterBar .filterBar__buttonLink:hover,
.lms-layout ul.filterBar .filterBar__buttonLink:focus-visible {
  background: var(--chip-hover-bg) !important;
  border-color: var(--color-primary) !important;
  color: var(--chip-text) !important;
}

.lms-layout ul.filterBar > li.selected > .filterBar__buttonLink {
  background: var(--chip-active-bg) !important;
  border-color: var(--chip-active-bg) !important;
  color: #ffffff !important;
  box-shadow: none;
}

.lms-layout ul.filterBar .filterBar__buttonLink > i,
.lms-layout ul.filterBar .filterBar__buttonLink > svg {
  flex: 0 0 auto;
  width: 14px !important;
  height: 14px !important;
  background: transparent !important;
  color: inherit !important;
}

/* The theme draws a 30px icon badge behind each pill; the Lucide icon is inline now, so drop the badge. */
.lms-layout ul.filterBar .filterBar__buttonLink::before {
  content: none !important;
  display: none !important;
}

@media (max-width: 575.98px) {
  .lms-layout nav.filterBar.quick_search_form:has(#course_search_filter_set1) .filterBar__legacyContainer,
  .lms-layout nav.filterBar.quick_search_form:has(#course_search_filter_set1) .filterBar__buttons {
    flex: 1 1 100%;
    width: 100%;
    max-width: 100%;
  }

  .lms-layout ul.filterBar.nav-pills {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    justify-content: stretch;
    justify-items: stretch;
  }

  .lms-layout ul.filterBar .filterBar__buttonLink {
    width: 100%;
  }
}

/* My Courses Apply and Reset buttons: the same chip surfaces, sized to sit with the status pills.
   Both use the --chip-* tokens set on the filter bar, so light and dark mode both follow the page. */
.lms-layout nav.filterBar.quick_search_form:has(#course_search_filter_set1) a.filterBar__search,
.lms-layout nav.filterBar.quick_search_form:has(#course_search_filter_set1) a.filterBar__reset {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  height: 36px !important;
  padding: 0 16px !important;
  border: 1px solid var(--chip-border) !important;
  border-radius: 10px !important;
  font-size: 13px !important;
  font-weight: 500;
  line-height: 1 !important;
  text-decoration: none !important;
  box-shadow: 0 1px 2px rgba(15, 35, 70, .05);
  transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}

.lms-layout nav.filterBar.quick_search_form:has(#course_search_filter_set1) a.filterBar__search {
  background: var(--chip-active-bg) !important;
  border-color: var(--chip-active-bg) !important;
  color: #ffffff !important;
  box-shadow: none;
}

.lms-layout nav.filterBar.quick_search_form:has(#course_search_filter_set1) a.filterBar__reset {
  background: var(--chip-bg) !important;
  color: var(--chip-text) !important;
}

.lms-layout nav.filterBar.quick_search_form:has(#course_search_filter_set1) a.filterBar__search:hover {
  background: color-mix(in srgb, var(--chip-active-bg) 88%, black) !important;
  border-color: color-mix(in srgb, var(--chip-active-bg) 88%, black) !important;
}

.lms-layout nav.filterBar.quick_search_form:has(#course_search_filter_set1) a.filterBar__reset:hover {
  background: var(--chip-hover-bg) !important;
  border-color: var(--color-primary) !important;
  color: var(--chip-text) !important;
}

/* The field menus open flush under their field. Bootstrap-select's popper adds a second 42px offset on top of top: 100%. */
.lms-layout nav.filterBar.quick_search_form:has(#course_search_filter_set1) .bootstrap-select .dropdown-menu.open {
  top: 100% !important;
  transform: none !important;
}

/* Subnav: Course Type & Search */
.tab_subnav {
  /* background-color: transparent !important; */
}

.tab_subnav .row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}

.tab_subnav .form-group {
  margin-bottom: 0 !important;
}

.tab_subnav .search-bx {
  background-color: #ffffff !important;
  padding: 0 15px !important;
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  max-width: 320px !important;
}

.tab_subnav .search-bx .input-group {
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  flex-direction: row-reverse !important;
}

.tab_subnav .search-bx .form-control {
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  height: 100% !important;
  padding: 5px 10px !important;
  font-size: 14px !important;
  color: #333 !important;
}

.tab_subnav .search-bx button.btn {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  font-size: 16px !important;
  cursor: pointer !important;
  outline: none !important;
}

body .col-sm-3:not(.hidden) #treeview1 {
  background: #ffffff !important;
  border-radius: 15px !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05) !important;
  padding: 15px !important;
  border: none !important;
  height: auto !important;
  max-height: none !important;
}

body #treeview1 .list-group-item {
  border: none !important;
  border-bottom: 1px solid #f0f0f0 !important;
  font-size: 14px !important;
  color: #555555 !important;
  background-color: transparent !important;
  display: flex !important;
  align-items: center !important;
  text-align: left !important;
}

body #treeview1 .list-group-item:last-child {
  border-bottom: none !important;
}


body .mycourses-list ._course-box {
  background: #ffffff !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05) !important;
  border: none !important;
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  margin: 0 !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}

body .mycourses-list ._course-box:hover {
  transform: translateY(-5px) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1) !important;
}

/* Course Card Image Cover and Cycling Background Colors */
body .mycourses-list ._course-box__cover,
body .course-box__cover {
  height: 160px !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  position: relative !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-color: transparent !important;
  overflow: hidden !important;
  border-radius: 8px 8px 0 0 !important;
}

body .mycourses-list .course-box__cover-img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: inherit !important;
}

/* Options Button & Dropdown Overlay */
body .mycourses-list ._course-box__overlay,
body .course-box__overlay {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  left: 0 !important;
  bottom: 0 !important;
  padding: 10px !important;
  pointer-events: none !important;
  z-index: 10 !important;
}

/* Hide options overlay entirely if there are no list items inside the dropdown */
body .mycourses-list ._course-box__overlay:not(:has(.dropdown-menu li)),
body .course-box__overlay:not(:has(.dropdown-menu li)) {
  display: none !important;
}

body .mycourses-list ._course-box__overlay i#courseBoxOptions,
body .course-box__overlay i#courseBoxOptions {
  pointer-events: auto !important;
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  width: 32px !important;
  height: 32px !important;
  background: rgba(255, 255, 255, 0.3) !important;
  /* border-radius: 50% !important; */
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  color: #ffffff !important;
  cursor: pointer !important;
  font-size: 14px !important;
  transition: background 0.3s !important;
  z-index: 100 !important;
}

body .mycourses-list ._course-box__overlay i#courseBoxOptions:hover,
body .course-box__overlay i#courseBoxOptions:hover {
  background: rgba(255, 255, 255, 0.45) !important;
}

body .mycourses-list ._course-box__overlay .dropdown-menu,
body .course-box__overlay .dropdown-menu {
  pointer-events: auto !important;
  display: none;
  position: absolute !important;
  top: 50px !important;
  right: 15px !important;
  left: auto !important;
  z-index: 1050 !important;
  background-color: #ffffff !important;
  border: 1px solid #eef2f5 !important;
  /* border-radius: 10px !important; */
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1) !important;
  padding: 8px 0 !important;
  min-width: 160px !important;
}

body .mycourses-list ._course-box__overlay.open .dropdown-menu,
body .mycourses-list ._course-box__overlay.show .dropdown-menu,
body .course-box__overlay.open .dropdown-menu,
body .course-box__overlay.show .dropdown-menu,
body .open > .dropdown-menu,
body .show > .dropdown-menu {
  display: block !important;
}

body .mycourses-list ._course-box__overlay .dropdown-menu li a,
body .course-box__overlay .dropdown-menu li a {
  display: block !important;
  padding: 8px 16px !important;
  color: #333333 !important;
  font-family: 'Outfit', 'Inter', sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  transition: background-color 0.2s, color 0.2s !important;
}

body .mycourses-list ._course-box__overlay .dropdown-menu li a:hover,
body .course-box__overlay .dropdown-menu li a:hover {
  background-color: #f7f9fa !important;
  color: var(--color-primary) !important;
}

/* Title & Description */
body .mycourses-list ._course-box__title {
  margin: 0 !important;
  border: none !important;
  line-height: 1.3 !important;
  height: auto !important;
  display: block !important;
  -webkit-line-clamp: unset !important;
  line-clamp: unset !important;
  -webkit-box-orient: initial !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

body .mycourses-list ._course-box hr {
  display: none !important;
}

body .mycourses-list #desc_cta {
  display: flex !important;
  flex-direction: column !important;
  flex-grow: 1 !important;
}

body .mycourses-list ._course-box__description {
  font-size: 13px !important;
  color: #777777 !important;
  margin-bottom: 15px !important;
  line-height: 1.4 !important;
  flex-grow: 1 !important;
}

/* CTA and Closing Date Layout */
body .mycourses-list ._course-box__cta {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 8px !important;
  margin-top: auto !important;
  padding: 0 !important;
  width: 100% !important;
}

body .mycourses-list ._course-box__closingdate {
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
  padding: 0 !important;
  margin: 0 !important;
}

body .mycourses-list ._course-box__closingdate__text {
  color: var(--color-secondary) !important;
  font-weight: 700 !important;
  font-size: 10px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
}

body .mycourses-list ._course-box__closingdate__value {
  color: #888888 !important;
  font-size: 12px !important;
  font-weight: 500 !important;
}

/* Buttons style */
body .mycourses-list ._course-box__cta a.forma-button {
  padding: 11px 20px !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
  border-radius: 8px !important;
  border: none !important;
  box-shadow: none !important;
  text-transform: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #ffffff !important;
  width: 100% !important;
  margin: 0 !important;
}

/* CTA Color mappings */
body .mycourses-list ._course-box__cta a.forma-button[href*="op=aula"] {
  background-color: var(--color-primary) !important; /* Enter button */
}

body .mycourses-list ._course-box__cta a.forma-button[onclick*="subscribeToCourse"] {
  background-color: var(--color-secondary) !important; /* Subscribe button */
}

body .mycourses-list ._course-box__cta a.forma-button:not([href*="op=aula"]):not([onclick*="subscribeToCourse"]) {
  background-color: #A0A0A0 !important; /* Admin only/disabled */
}

/* Keep bootstrap-treeview controls compatible with Lucide SVG output. */
.aside .icon.expand-icon {
  background: none !important;
  position: static !important;
  width: 16px !important;
  height: 16px !important;
  display: inline-block !important;
}

/* Adjust size and spacing for treeview icons */
#treeview1.aside .icon.expand-icon {
  width: 16px !important;
  height: 16px !important;
  display: inline-block !important;
  position: static !important;
  margin-right: 8px !important;
}

.treeview span.indent {
  display: none !important;
}

.treeview i.treeview-indent {
  margin-right: 6px !important;
  color: #a0a0a0 !important;
  font-size: 10px !important;
  vertical-align: middle !important;
  display: inline-block !important;
}

/* Disable CSS-injected pseudo-element arrows on course box buttons to avoid duplicate icons */
._course-box__cta .forma-button .forma-button__label::after,
.course-box__cta .forma-button .forma-button__label::after,
.course-box__cta__button .forma-button__label::after {
  content: none !important;
}

/* Hero section mobile background positioning */
@media (max-width: 991px) {
  #hero {
    background-position: -150px !important;
    position: relative !important;
  }

  #hero::before {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    background: rgba(255, 255, 255, 0.75) !important;
    z-index: 1 !important;
  }

  #hero > div.container {
    position: relative !important;
    z-index: 2 !important;
  }

  .hero-paragraph {
    color: #212529 !important;
  }
}

#div_course {
  padding: 0;
}

#div_course > #container {
  padding: 10px;
  border-radius: 8px;
}

.mycourses-list.e-learning_courselist {
  background: var(--color-white);
  padding: 20px;
  border-radius: 8px;
  margin-bottom: 20px;
}

.mycourses-list.catalog_courselist {
  background: var(--color-white);
  padding: 20px 10px;
  border-radius: 8px;
  margin-bottom: 20px;
}

.row.course-box__last-visited-container {
  background-color: unset;
}

body .course-box__last-visited .course-box__cover {
  height: 100% !important;
  background-size: cover !important;
  border-top-left-radius: 8px !important;
  border-bottom-left-radius: 8px !important;
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}

/* Override fixed positioning of auth card in split-screen layout */
.auth-page__login-container > .auth-page__container {
  position: static !important;
  top: unset !important;
  right: unset !important;
  transform: none !important;
  width: 100% !important;
}

/* Password Reset Eye Toggle and Feedbacks */
.password-wrapper {
  position: relative;
  display: inline-block;
}
.password-wrapper input {
  padding-right: 40px !important;
}
.password-toggle-icon {
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
  cursor: pointer;
  color: #777;
  z-index: 10;
  font-size: 16px;
}
.password-toggle-icon:hover {
  color: var(--color-primary, #007bff);
}
.password-feedback-msg {
  font-size: 13px;
  margin-top: 5px;
  min-height: 20px;
}
.password-feedback-msg.error {
  color: #d9534f;
}
.password-feedback-msg.success {
  color: #5cb85c;
}
.password-feedback-msg i {
  margin-right: 5px;
}

/* User Profile Form & Select2 Overrides */
#profiledetform {
  position: relative !important;
}

/* Ensure Select2 dropdown positions relative to form container and does not stutter page scrolling */
.select2-container--open .select2-dropdown {
  z-index: 10050 !important;
}

/* Datepicker Overrides */
/* Override display: none set on .datepicker > div by bootstrap-editable.css to allow inline toggles */
.datepicker > div {
  display: block;
}

/* Fix dropdown datepicker z-index */
.datepicker.dropdown-menu {
  z-index: 10050 !important;
}

/* General LMS Preloader */
#preloader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  z-index: 999999;
  overflow: visible;
  background: var(--color-white, #ffffff) !important;
  display: flex;
  align-items: center;
  justify-content: center;
}

#preloader::after {
  content: '';
  --size: 100px;
  --stroke: 15px;
  --color: var(--color-primary);
  --speed: 1s;
  width: var(--size);
  height: var(--size);
  border-radius: 50%;
  background: 
    radial-gradient(circle closest-side, var(--color) 99%, transparent 100%) 
    center top / var(--stroke) var(--stroke) no-repeat,
    conic-gradient(from 0deg, transparent 0%, var(--color) 100%);
  -webkit-mask: radial-gradient(
    farthest-side,
    transparent calc(100% - var(--stroke)),
    black calc(100% - var(--stroke))
  );
  mask: radial-gradient(
    farthest-side,
    transparent calc(100% - var(--stroke)),
    black calc(100% - var(--stroke))
  );
  animation: spin var(--speed) linear infinite;
  border: none; 
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

/* Fix premature scroll locking during page load / preloader phase on fixed layout pages */
html,
body.fixed,
body.fixed .wrapper,
body.fixed .content-wrapper {
  min-height: 100% !important;
}

/* Keep the shared LMS footer at the viewport bottom on short pages while
   leaving it in normal document flow for pages taller than the viewport. */
body.fixed .wrapper.admin-layout,
body.fixed .wrapper.lms-layout {
    display: flex;
    flex-direction: column;
    min-height: 100vh !important;
    height: auto !important;
}

body.fixed .wrapper.admin-layout > .content-wrapper,
body.fixed .wrapper.lms-layout > .content-wrapper {
    flex: 1 0 auto;
    min-height: 0 !important;
}

body.fixed .wrapper.admin-layout > .main-footer,
body.fixed .wrapper.lms-layout > .main-footer {
    flex: 0 0 auto;
    margin-top: auto;
}

body .swal2-actions .forma-button,
body .swal2-actions .forma-button__action {
  margin: 0.3125em !important;
}

/* Custom Language Picker Styling */
.custom-language-picker .nav-link:not(.main-header-toggle) {
  cursor: pointer;
  font-size: 14px;
  font-weight: 500;
  padding: 0 8px !important;
  border-radius: 4px;
  height: 44px !important;
  width: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  color: var(--color-dark, #333333) !important;
  transition: all 0.3s ease;
}

.custom-language-picker .nav-link i.fa-language {
  font-size: 20px;
  line-height: 1;
}

.custom-language-picker .dropdown-toggle::after {
  display: none !important;
}

.custom-language-picker .current-lang-flag {
  font-size: 18px;
  line-height: 1;
}

.custom-language-picker .current-lang-text {
  margin-left: 6px;
  font-size: 13px;
  color: inherit;
}

/* Dropdown styling */
.custom-language-picker .dropdown-menu {
  border: none;
  box-shadow: 0 5px 25px rgba(0, 0, 0, 0.15) !important;
  border-radius: 8px !important;
  padding: 8px 0 !important;
  min-width: 160px !important;
}

.custom-language-picker .dropdown-item {
  font-size: 13.5px !important;
  padding: 10px 16px !important;
  font-weight: 400 !important;
  color: #333333 !important;
  transition: background-color 0.2s ease, color 0.2s ease;
  display: flex !important;
  align-items: center !important;
}

.custom-language-picker .dropdown-item:hover,
.custom-language-picker .dropdown-item.active {
  background-color: color-mix(in srgb, var(--color-primary) 8%, transparent) !important;
  color: var(--color-primary) !important;
  font-weight: 500 !important;
}

.custom-language-picker .lang-flag {
  font-size: 16px;
  margin-right: 10px;
  line-height: 1;
}

/* Completely hide default Google Translate widget, banners, frames and tooltips */
#google_translate_element,
.goog-te-gadget,
.goog-te-banner-frame,
#goog-gt-tt,
.goog-tooltip,
.goog-tooltip:hover {
  display: none !important;
}

body {
  top: 0 !important;
}

.goog-text-highlight {
  background-color: transparent !important;
  box-shadow: none !important;
  border: none !important;
}


/* Main Header Toggle (mirrors 1gov design system) Applied to: full-screen, notifications, translate, user-profile */

.theme-primary.fixed .main-header {
  background: #ffffff;
  border-bottom: 1px solid #E6E9EF;
  height: 80px;
}

.fixed .main-header {
  z-index: 820;
}

/* Base state */
.theme-primary.light-skin .main-header-toggle,
.theme-primary.light-skin .main-header-toggle:hover,
.theme-primary.light-skin .main-header-toggle:focus,
.theme-primary.light-skin .main-header-toggle:active,
.theme-primary.light-skin .onegov-header-toggle,
.theme-primary.light-skin .onegov-app-switcher > a,
.theme-primary.light-skin .notifications-menu > a,
.theme-primary.light-skin .notifications-menu.show > a,
.theme-primary.light-skin .notifications-menu.open > a,
.theme-primary.light-skin .notifications-menu > a:hover,
.theme-primary.light-skin .notifications-menu > a:focus,
.theme-primary.light-skin .notifications-menu > a:active,
.theme-primary.light-skin .network-menu > a,
.theme-primary.light-skin .network-menu.show > a,
.theme-primary.light-skin .network-menu.open > a,
.theme-primary.light-skin .network-menu > a:hover,
.theme-primary.light-skin .network-menu > a:focus,
.theme-primary.light-skin .network-menu > a:active,
.theme-primary.light-skin .main-header .full-screen,
.theme-primary.light-skin .main-header .full-screen:hover,
.theme-primary.light-skin .main-header .full-screen:focus,
.theme-primary.light-skin .main-header .full-screen:active,
.theme-primary.light-skin .main-header .btn-group > a,
.theme-primary.light-skin .main-header .btn-group.show > a,
.theme-primary.light-skin .main-header .btn-group.open > a,
.theme-primary.light-skin .main-header .btn-group > a:hover,
.theme-primary.light-skin .main-header .btn-group > a:focus,
.theme-primary.light-skin .main-header .btn-group > a:active {
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  min-height: 32px !important;
  max-width: 32px !important;
  max-height: 32px !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 8px !important;
  border: 1px solid #E6E9EF !important;
  background: transparent !important;
  box-shadow: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all 0.2s ease-in-out;
}

/* --- Hover / Show / Open state --- */
.theme-primary.light-skin .main-header-toggle:hover,
.theme-primary.light-skin .main-header-toggle.show,
.theme-primary.light-skin .main-header-toggle.open,
.theme-primary.light-skin .onegov-header-toggle:hover,
.theme-primary.light-skin .onegov-header-toggle.show,
.theme-primary.light-skin .onegov-header-toggle.open,
.theme-primary.light-skin .notifications-menu > a:hover,
.theme-primary.light-skin .notifications-menu.show > a,
.theme-primary.light-skin .notifications-menu.open > a,
.theme-primary.light-skin .onegov-app-switcher > a:hover,
.theme-primary.light-skin .onegov-app-switcher.show > a,
.theme-primary.light-skin .onegov-app-switcher.open > a,
.theme-primary.light-skin .network-menu > a:hover,
.theme-primary.light-skin .network-menu.show > a,
.theme-primary.light-skin .network-menu.open > a,
.theme-primary.light-skin .main-header .full-screen:hover,
.theme-primary.light-skin .main-header .full-screen.show,
.theme-primary.light-skin .main-header .btn-group > a:hover,
.theme-primary.light-skin .main-header .btn-group.show > a,
.theme-primary.light-skin .main-header .btn-group.open > a {
  border-color: var(--color-primary) !important;
  background: rgba(0, 0, 0, 0.02) !important;
}

/* --- Icon colours --- */
.theme-primary.light-skin .main-header-toggle i,
.theme-primary.light-skin .notifications-menu > a i,
.theme-primary.light-skin .network-menu > a svg,
.theme-primary.light-skin .main-header .full-screen i,
.theme-primary.light-skin .main-header .btn-group > a i {
  color: #212529 !important;
  transition: color 0.2s ease-in-out;
}

.theme-primary.light-skin .main-header-toggle:hover i,
.theme-primary.light-skin .main-header-toggle.show i,
.theme-primary.light-skin .main-header-toggle.open i,
.theme-primary.light-skin .notifications-menu > a:hover i,
.theme-primary.light-skin .notifications-menu.show > a i,
.theme-primary.light-skin .notifications-menu.open > a i,
.theme-primary.light-skin .network-menu > a:hover svg,
.theme-primary.light-skin .network-menu.show > a svg,
.theme-primary.light-skin .network-menu.open > a svg,
.theme-primary.light-skin .main-header .full-screen:hover i,
.theme-primary.light-skin .main-header .full-screen.show i,
.theme-primary.light-skin .main-header .btn-group > a:hover i,
.theme-primary.light-skin .main-header .btn-group.show > a i,
.theme-primary.light-skin .main-header .btn-group.open > a i {
  color: #212529 !important;
}

/* Network status SVG sizing */
.theme-primary.light-skin .network-menu > a svg {
  width: 20px !important;
  height: 20px !important;
}

/* --- Badge on notifications --- */
.theme-primary.light-skin .main-header .badge,
.theme-primary.light-skin .main-header .badge-dot {
  top: 13px !important;
  right: 9px !important;
  min-width: 9px !important;
  width: 9px;
  height: 9px;
  border: 2px solid var(--color-white);
  border-radius: 50%;
}

/* User Menu - initials circle with caret dropdown */
.theme-primary.light-skin .user-menu > a.dropdown-toggle,
.theme-primary.light-skin .user-menu.show > a.dropdown-toggle,
.theme-primary.light-skin .user-menu.open > a.dropdown-toggle,
.theme-primary.light-skin .user-menu > a.dropdown-toggle:hover,
.theme-primary.light-skin .user-menu > a.dropdown-toggle:focus,
.theme-primary.light-skin .user-menu > a.dropdown-toggle:active {
  width: auto !important;
  min-width: 0 !important;
  max-width: 260px !important;
  height: 32px !important;
  min-height: 32px !important;
  max-height: 32px !important;
  padding: 0 4px !important;
  border-radius: 8px !important;
  border: 1px solid #E6E9EF !important;
  background: transparent !important;
  box-shadow: none !important;
  flex: 0 0 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  text-decoration: none !important;
  transition: all 0.2s ease-in-out;
}

.theme-primary.light-skin .user-menu > a.dropdown-toggle:hover,
.theme-primary.light-skin .user-menu.show > a.dropdown-toggle,
.theme-primary.light-skin .user-menu.open > a.dropdown-toggle {
  border-color: var(--color-primary) !important;
  background: rgba(0, 0, 0, 0.02) !important;
}

/* Initials circle via data-initial attribute */
.theme-primary.light-skin .user-menu > a.dropdown-toggle::before,
.theme-primary.light-skin .user-menu.show > a.dropdown-toggle::before,
.theme-primary.light-skin .user-menu.open > a.dropdown-toggle::before,
.theme-primary.light-skin .user-menu > a.dropdown-toggle:hover::before,
.theme-primary.light-skin .user-menu > a.dropdown-toggle:focus::before,
.theme-primary.light-skin .user-menu > a.dropdown-toggle:active::before {
  content: attr(data-initial) !important;
  flex: 0 0 24px !important;
  width: 24px !important;
  height: 24px !important;
  border-radius: 50% !important;
  margin-right: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: var(--color-ui-grey, #e5e7eb) !important;
  color: var(--color-black, #000) !important;
  font-size: 11px !important;
  order: 1 !important;
  border: 1px solid var(--color-wolf-grey, #9ca3af) !important;
}

/* Hide the default Bootstrap caret */
.theme-primary.light-skin .user-menu > a.dropdown-toggle::after,
.theme-primary.light-skin .user-menu.show > a.dropdown-toggle::after,
.theme-primary.light-skin .user-menu.open > a.dropdown-toggle::after,
.theme-primary.light-skin .user-menu > a.dropdown-toggle:hover::after,
.theme-primary.light-skin .user-menu > a.dropdown-toggle:focus::after,
.theme-primary.light-skin .user-menu > a.dropdown-toggle:active::after {
  display: none !important;
}

/* Hide the user icon (replaced by initials circle) */
.theme-primary.light-skin .user-menu > a.dropdown-toggle > i:not(.dropdown-arrow),
.theme-primary.light-skin .user-menu.show > a.dropdown-toggle > i:not(.dropdown-arrow),
.theme-primary.light-skin .user-menu.open > a.dropdown-toggle > i:not(.dropdown-arrow),
.theme-primary.light-skin .user-menu > a.dropdown-toggle:hover > i:not(.dropdown-arrow),
.theme-primary.light-skin .user-menu > a.dropdown-toggle:focus > i:not(.dropdown-arrow),
.theme-primary.light-skin .user-menu > a.dropdown-toggle:active > i:not(.dropdown-arrow) {
  display: none !important;
}

/* Show the caret dropdown arrow */
.theme-primary.light-skin .user-menu > a.dropdown-toggle > i.dropdown-arrow,
.theme-primary.light-skin .user-menu.show > a.dropdown-toggle > i.dropdown-arrow,
.theme-primary.light-skin .user-menu.open > a.dropdown-toggle > i.dropdown-arrow,
.theme-primary.light-skin .user-menu > a.dropdown-toggle:hover > i.dropdown-arrow,
.theme-primary.light-skin .user-menu > a.dropdown-toggle:focus > i.dropdown-arrow,
.theme-primary.light-skin .user-menu > a.dropdown-toggle:active > i.dropdown-arrow {
  font-size: 12px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  order: 2 !important;
  margin-left: 0 !important;
  color: var(--color-wolf-grey, #9ca3af) !important;
}

.theme-primary.light-skin .user-menu > a.dropdown-toggle > svg.dropdown-arrow,
.theme-primary.light-skin .user-menu.show > a.dropdown-toggle > svg.dropdown-arrow,
.theme-primary.light-skin .user-menu.open > a.dropdown-toggle > svg.dropdown-arrow,
.theme-primary.light-skin .user-menu > a.dropdown-toggle:hover > svg.dropdown-arrow,
.theme-primary.light-skin .user-menu > a.dropdown-toggle:focus > svg.dropdown-arrow,
.theme-primary.light-skin .user-menu > a.dropdown-toggle:active > svg.dropdown-arrow {
  width: 14px !important;
  height: 14px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  order: 2 !important;
  margin-left: 0 !important;
  color: var(--color-wolf-grey, #9ca3af) !important;
  flex: 0 0 auto !important;
}

/*  Language Picker Toggle - caret dropdown arrow */
.theme-primary .custom-language-picker > a.dropdown-toggle,
.theme-primary .custom-language-picker.show > a.dropdown-toggle,
.theme-primary .custom-language-picker.open > a.dropdown-toggle,
.theme-primary .custom-language-picker > a.dropdown-toggle:hover,
.theme-primary .custom-language-picker > a.dropdown-toggle:focus,
.theme-primary .custom-language-picker > a.dropdown-toggle:active {
  width: auto !important;
  min-width: 0 !important;
  /* .main-header-toggle (L4504) clamps this to a 32px square */
  max-width: none !important;
  height: 32px !important;
  padding: 0 8px !important;
  border-radius: 8px !important;
  border: 1px solid #E6E9EF !important;
  background: transparent !important;
  box-shadow: none !important;
  flex: 0 0 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  text-decoration: none !important;
  transition: all 0.2s ease-in-out;
}

.theme-primary .custom-language-picker > a.dropdown-toggle:hover,
.theme-primary .custom-language-picker.show > a.dropdown-toggle,
.theme-primary .custom-language-picker.open > a.dropdown-toggle {
  border-color: var(--color-primary) !important;
  background: rgba(0, 0, 0, 0.02) !important;
}

.theme-primary .custom-language-picker > a.dropdown-toggle::after {
  display: none !important;
}

.theme-primary .custom-language-picker .lang-toggle-flag {
  flex: 0 0 auto !important;
  width: 1.33333em !important;
  font-size: 15px !important;
  border-radius: 2px !important;
  overflow: hidden !important;
  box-shadow: 0 0 1px rgba(0, 0, 0, 0.15);
  order: 1 !important;
}

.theme-primary .custom-language-picker .lang-flag-icon {
  font-size: 14px !important;
  border-radius: 2px !important;
  overflow: hidden !important;
  box-shadow: 0 0 1px rgba(0, 0, 0, 0.2);
}

.theme-primary .custom-language-picker > a.dropdown-toggle > .dropdown-arrow {
  font-size: 12px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  order: 2 !important;
  margin-left: 0 !important;
  color: #000 !important;
}

/* theme.css:601 reapplies the square clamp in dark mode at higher specificity. */
body.dark-skin.theme-primary .main-header .custom-language-picker > a.dropdown-toggle {
  width: auto !important;
  max-width: none !important;
  padding: 0 8px !important;
}

/* Lucide replaces the legacy Font Awesome glyphs across the application. */
.lucide {
  display: inline-block;
  width: 1.5em ;
  height: 1.5em ;
  stroke-width: 2;
  vertical-align: -0.125em;
}

.lucide-2x { width: 2em; height: 2em ; }
.lucide-3x { width: 3em; height: 3em ; }
.lucide-5x { width: 5em; height: 5em ; }
.lucide-spin { animation: lucide-spin 1s linear infinite; }

@keyframes lucide-spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

/* Legacy course controls now use inline Lucide icons. */
.categoria_corso .lucide,
.disiscrivi .lucide,
.lock .lucide,
.luogo .lucide,
.edizioni_start .lucide,
.edizioni_end .lucide,
.edition__icon .lucide {
  color: var(--color-primary);
}

.edition__icon .lucide {
  line-height: 13px;
  position: relative;
  top: -1px;
}

.subscribed::before,
.can_subscribe::before,
.edition_container .edition_subscribe a p::before {
  content: none !important;
}

/* Replace the legacy Glyphicon checkbox mark with an inline Lucide icon. */
.test_answer_space .answer_question .input-wrapper-checkbox::after {
  display: none !important;
  content: none !important;
}

.test_answer_space .answer_question .input-wrapper-checkbox > .lucide {
  display: none;
  position: absolute;
  top: 1px;
  left: 34px;
  width: 12px;
  height: 12px;
  color: #fff;
  pointer-events: none;
}

.test_answer_space .answer_question .input-wrapper-checkbox.checked > .lucide {
  display: block;
}

@media screen and (max-width: 600px) {
  .test_answer_space .answer_question .input-wrapper-checkbox > .lucide {
    left: 3px;
  }
}

/* Lucide icons used by the header controls */
.theme-primary .main-header .header-icon {
  width: 20px !important;
  height: 20px !important;
  display: inline-block;
  flex: 0 0 auto;
  stroke-width: 2;
  vertical-align: middle;
}

.theme-primary.light-skin .main-header .main-header-toggle .header-icon,
.theme-primary.light-skin .main-header .notifications-menu > a .header-icon,
.theme-primary.light-skin .main-header .full-screen .header-icon {
  color: #212529 !important;
  transition: color 0.2s ease-in-out;
}

.theme-primary.light-skin .main-header .main-header-toggle:hover .header-icon,
.theme-primary.light-skin .main-header .main-header-toggle.show .header-icon,
.theme-primary.light-skin .main-header .main-header-toggle.open .header-icon,
.theme-primary.light-skin .main-header .notifications-menu > a:hover .header-icon,
.theme-primary.light-skin .main-header .notifications-menu.show > a .header-icon,
.theme-primary.light-skin .main-header .notifications-menu.open > a .header-icon,
.theme-primary.light-skin .main-header .full-screen:hover .header-icon,
.theme-primary.light-skin .main-header .full-screen.show .header-icon {
  color: #212529 !important;
}

.theme-primary .main-header .dropdown-arrow.header-icon {
  width: 14px !important;
  height: 14px !important;
}

/* The initials badge replaces the decorative profile icon. */
.theme-primary .user-menu > a.dropdown-toggle > .profile-icon,
.theme-primary .user-menu.show > a.dropdown-toggle > .profile-icon,
.theme-primary .user-menu.open > a.dropdown-toggle > .profile-icon,
.theme-primary .user-menu > a.dropdown-toggle:hover > .profile-icon,
.theme-primary .user-menu > a.dropdown-toggle:focus > .profile-icon,
.theme-primary .user-menu > a.dropdown-toggle:active > .profile-icon {
  display: none !important;
}

.theme-primary.light-skin .user-menu > a.dropdown-toggle > .dropdown-arrow.header-icon,
.theme-primary.light-skin .custom-language-picker > a.dropdown-toggle > .dropdown-arrow.header-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  order: 2 !important;
  margin-left: 0 !important;
  color: #000 !important;
}

.theme-primary.dark-skin .user-menu > a.dropdown-toggle > .dropdown-arrow.header-icon,
.theme-primary.dark-skin .custom-language-picker > a.dropdown-toggle > .dropdown-arrow.header-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  order: 2 !important;
  margin-left: 0 !important;
  color: var(--theme-text) !important;
}

/* Ensure only light logo is shown, dark logo is hidden under light skin */
.light-skin .logo-lg .dark-logo,
.light-skin .logo-mini .dark-logo,
.light-skin .logo-lg-text .dark-logo,
.light-skin .sidebar-header .dark-logo,
.light-skin .onegov-sidebar-logo-box .dark-logo,
.light-skin .onegov-header-logo-box .dark-logo {
  display: none !important;
}

.light-skin .logo-lg .light-logo,
.light-skin .logo-mini .light-logo,
.light-skin .logo-lg-text .light-logo,
.light-skin .sidebar-header .light-logo,
.light-skin .onegov-sidebar-logo-box .light-logo,
.light-skin .onegov-header-logo-box .light-logo {
  display: block !important;
}

/* Center alignment for the network signal icon wrapper */
#networkMenuOnlineIcon,
#networkMenuOfflineIcon {
  display: inline-flex;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
}

/* Responsiveness overrides for the main header at tablet/mobile viewport */
@media (max-width: 991px) {
  .main-header {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    justify-content: space-between !important;
    align-items: center !important;
    height: var(--onegov-header-height, 60px) !important;
    min-height: var(--onegov-header-height, 60px) !important;
    padding-inline: 12px !important;
  }

  .main-header div.logo-box {
    width: auto !important;
    min-width: 0 !important;
    padding: 0 !important;
    flex-shrink: 1 !important;
  }

  .main-header .logo {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: auto !important;
    padding: 0 !important;
  }

  nav.navbar {
    width: auto !important;
    flex-grow: 1 !important;
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    margin-left: 0 !important;
    padding: 0 !important;
    border-bottom: none !important;
  }

  .navbar-custom-menu {
    width: auto !important;
    float: none !important;
  }

  .navbar-nav {
    width: auto !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Ensure sidebar is full length (viewport height) and positioned at the top on mobile and tablet views */
  .main-sidebar {
    position: fixed !important;
    top: 0 !important;
    bottom: 0 !important;
    height: 100vh !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
    z-index: 1050 !important;
    border-top-right-radius: 0 !important;
  }

  /* Make sure the sidebar container is properly styled as full length and handles overflow */
  .main-sidebar .sidebar {
    height: calc(100vh - 70px) !important;
    min-height: calc(100vh - 70px) !important;
    overflow-y: auto !important;
  }

  .main-sidebar .multinav,
  .main-sidebar .multinav-scroll {
    position: relative !important;
    height: auto !important;
    min-height: auto !important;
    top: 10px !important;
    bottom: 0 !important;
    overflow: visible !important;
  }

  /* Style the sidebar header layout on mobile/tablet */
  .main-sidebar .sidebar-header {
    height: 70px !important;
    padding: 0 15px !important;
    display: flex !important;
    align-items: center !important;
  }

  .main-sidebar .sidebar-header .sidebar-close-btn {
    background: transparent !important;
    border: none !important;
    color: #212529 !important;
    font-size: 20px !important;
    cursor: pointer !important;
  }

  /* Hide sidebar header when sidebar is collapsed/minimized on tablet views */
  .sidebar-collapse .main-sidebar .sidebar-header {
    display: none !important;
  }

  /* When the sidebar is collapsed/minimized on tablet views, start it below the header */
  .sidebar-collapse .main-sidebar {
    top: 80px !important;
    height: calc(100vh - 80px) !important;
    z-index: 810 !important;
  }

  .sidebar-collapse .main-sidebar.lms-general-sidebar,
  .sidebar-collapse .onegov-general-sidebar,
  .sidebar-collapse .onegov-lms-menu-sidebar {
    top: 0 !important;
    height: 100vh !important;
    z-index: 1050 !important;
  }

  .sidebar-collapse .main-sidebar .sidebar {
    height: 100% !important;
    min-height: 100% !important;
  }
}

@media (max-width: 767px) {
    /* Hide logo on mobile - only show sidebar toggle and nav items */
  .main-header > div .logo {
    display: none !important;
  }
}

@media (min-width: 768px) {
  .sidebar-collapse .ps {
    margin-top: 20px;
  }
}


.theme-primary .select2-container--default
.select2-selection--multiple
.select2-selection__choice {
    background-color: color-mix(in srgb, var(--color-primary) 12%, white);
    border-color: color-mix(in srgb, var(--color-primary) 20%, white);
    color: var(--color-primary);
}
.theme-primary .select2-container--default
.select2-selection--multiple
.select2-selection__choice__remove {
    color: var(--color-primary);
    border-right-color: color-mix(in srgb, var(--color-primary) 20%, white);
}

.theme-primary .select2-container--default
.select2-selection--multiple
.select2-selection__choice__remove:hover {
    background-color: color-mix(in srgb, var(--color-primary) 18%, white);
    color: var(--color-primary);
}

select.form-control:not(.form-select) {
    appearance: auto;
    -webkit-appearance: auto;
    -moz-appearance: auto;
}

/* ==========================================================================
   Reusable Course Card Component Styles
   ========================================================================== */
.course-card,
body .mycourses-list .course-card {
  background: #ffffff !important;
  border: 1px solid #eef0f2 !important;
  border-radius: 16px !important;
  position: relative !important;
  overflow: visible !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04) !important;
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  margin: 0 !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}

.course-card:hover,
body .mycourses-list .course-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08) !important;
}

.course-card:has(.open),
.course-card:has(.show),
.course-card:has(.course-card__overlay.open),
.course-card:has(.course-card__overlay.show),
.course-card.open {
  z-index: 100 !important;
}

/* Cover Image */
.course-card__cover,
body .mycourses-list .course-card__cover {
  height: 175px !important;
  width: 100% !important;
  position: relative !important;
  background-color: #f1f5f9 !important;
  background-size: cover !important;
  background-position: center !important;
  overflow: hidden !important;
  border-top-left-radius: 16px !important;
  border-top-right-radius: 16px !important;
  border-bottom-left-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
  display: block !important;
}

.course-card__cover-img,
body .mycourses-list .course-card__cover-img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-top-left-radius: 16px !important;
  border-top-right-radius: 16px !important;
}

/* Options Overlay */
.course-card__overlay,
body .mycourses-list .course-card__overlay,
body .mycourses-list .course-card .course-card__overlay {
  position: absolute !important;
  top: 12px !important;
  right: 12px !important;
  left: auto !important;
  bottom: auto !important;
  width: 32px !important;
  height: 32px !important;
  padding: 0 !important;
  margin: 0 !important;
  z-index: 20 !important;
  pointer-events: auto !important;
}

.course-card__options-icon,
.course-card__overlay i.glyphicon-option-horizontal,
.course-card__overlay .course-card__options-icon,
.course-card__overlay i[data-lucide],
.course-card__overlay svg.lucide,
body .mycourses-list .course-card__overlay i.glyphicon-option-horizontal {
  background: rgba(255, 255, 255, 0.9) !important;
  border-radius: 50% !important;
  width: 32px !important;
  height: 32px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  color: #374151 !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15) !important;
  font-size: 14px !important;
  transition: background 0.2s ease, color 0.2s ease !important;
  position: relative !important;
  top: auto !important;
  right: auto !important;
  margin: 0 !important;
}

.course-card__overlay:hover i.glyphicon-option-horizontal,
.course-card__overlay:hover .course-card__options-icon,
.course-card__overlay:hover i[data-lucide],
.course-card__overlay:hover svg.lucide,
.course-card__overlay i.glyphicon-option-horizontal:hover,
.course-card__overlay .course-card__options-icon:hover {
  background: #ffffff !important;
  color: #111827 !important;
}

.course-card__overlay svg.lucide {
  width: 18px !important;
  height: 18px !important;
}

/* Course Card Dropdown Menu (Tight 4px gap, no cropping, high z-index) */
.course-card__overlay .dropdown-menu,
body .mycourses-list .course-card .dropdown-menu,
body .mycourses-list .course-card__overlay .dropdown-menu {
  pointer-events: auto !important;
  position: absolute !important;
  top: calc(100% + 4px) !important;
  right: 0 !important;
  left: auto !important;
  bottom: auto !important;
  margin: 0 !important;
  margin-top: 0 !important;
  min-width: 150px !important;
  background-color: #ffffff !important;
  border: 1px solid #eef2f5 !important;
  border-radius: 10px !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12) !important;
  padding: 6px 0 !important;
  z-index: 1050 !important;
}

.course-card__overlay.open .dropdown-menu,
.course-card__overlay.show .dropdown-menu,
.course-card__overlay .dropdown-menu.show,
body .mycourses-list .course-card__overlay.open .dropdown-menu,
body .mycourses-list .course-card__overlay.show .dropdown-menu,
body .mycourses-list .course-card.open .dropdown-menu {
  display: block !important;
}

.course-card__overlay .dropdown-menu li,
body .mycourses-list .course-card .dropdown-menu li {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.course-card__overlay .dropdown-menu li a,
.course-card__overlay .dropdown-menu .dropdown-item,
body .mycourses-list .course-card .dropdown-menu li a,
body .mycourses-list .course-card .dropdown-menu .dropdown-item {
  display: flex !important;
  align-items: center !important;
  padding: 8px 16px !important;
  color: #374151 !important;
  font-family: 'Outfit', 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  transition: background-color 0.15s ease, color 0.15s ease !important;
}

.course-card__overlay .dropdown-menu li a:hover,
.course-card__overlay .dropdown-menu .dropdown-item:hover,
body .mycourses-list .course-card .dropdown-menu li a:hover,
body .mycourses-list .course-card .dropdown-menu .dropdown-item:hover {
  background-color: #f3f4f6 !important;
  color: var(--color-primary) !important;
}

/* Card Body */
.course-card__body,
body .mycourses-list .course-card__body {
  padding: 20px !important;
  display: flex !important;
  flex-direction: column !important;
  flex-grow: 1 !important;
}

.course-card__main,
body .mycourses-list .course-card__main {
  display: flex !important;
  flex-direction: column !important;
  flex-grow: 1 !important;
}

/* Title */
.course-card__title,
body .mycourses-list .course-card__title {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: var(--color-primary) !important;
  line-height: 1.35 !important;
  margin: 0 0 10px 0 !important;
  padding: 0 !important;
  border: none !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.course-card__title a,
body .mycourses-list .course-card__title a {
  color: var(--color-primary) !important;
  text-decoration: none !important;
  transition: color 0.2s ease, filter 0.2s ease !important;
}

.course-card__title a:hover {
  color: var(--color-primary) !important;
  filter: brightness(0.85) !important;
}

/* Description */
.course-card__description,
body .mycourses-list .course-card__description {
  font-size: 13px !important;
  color: #596773 !important;
  line-height: 1.45 !important;
  margin-bottom: 16px !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* Dates */
.course-card__dates,
body .mycourses-list .course-card__dates {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin-bottom: 12px !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #526057 !important;
}

.course-card__dates-icon {
  color: var(--color-primary) !important;
  flex-shrink: 0 !important;
}

.course-card__dates-text {
  color: #526057 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
}

/* Progress Section */
.course-card__progress-container,
body .mycourses-list .course-card__progress-container {
  margin-bottom: 16px !important;
  display: flex !important;
  flex-direction: column !important;
}

.course-card__progress-meta {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  margin-bottom: 6px !important;
}

.course-card__progress-label {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--color-primary) !important;
}

.course-card__progress-percent {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--color-primary) !important;
}

.course-card__progress-bar {
  height: 6px !important;
  background-color: #e5e7eb !important;
  border-radius: 999px !important;
  overflow: hidden !important;
  width: 100% !important;
  margin: 0 !important;
}

.course-card__progress-fill {
  height: 100% !important;
  background-color: var(--color-primary) !important;
  border-radius: 999px !important;
  transition: width 0.3s ease !important;
}

/* Last Viewed */
.course-card__last-viewed {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin-top: 8px !important;
  font-size: 12px !important;
  color: #6b7280 !important;
}

.course-card__last-viewed-icon {
  color: var(--color-primary) !important;
  flex-shrink: 0 !important;
}

/* Card Footer & CTA Buttons */
.course-card__footer,
body .mycourses-list .course-card__footer {
  margin-top: auto !important;
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
}

.course-card__cta,
body .mycourses-list .course-card__cta,
body .mycourses-list .course-card ._course-box__cta {
  margin-top: auto !important;
  width: 100% !important;
  padding: 0 !important;
  display: flex !important;
  justify-content: center !important;
}

.course-card .forma-button,
.course-card a.forma-button,
.course-card__btn,
body .mycourses-list .course-card ._course-box__cta a.forma-button {
  background-color: var(--color-primary) !important;
  color: #ffffff !important;
  border-radius: 8px !important;
  padding: 11px 20px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  width: 100% !important;
  min-width: unset !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  text-decoration: none !important;
  border: none !important;
  box-shadow: none !important;
  text-transform: none !important;
  line-height: 1.4 !important;
  transition: background-color 0.2s ease, filter 0.2s ease !important;
  cursor: pointer !important;
}

.course-card .forma-button:hover,
.course-card a.forma-button:hover,
.course-card__btn:hover,
body .mycourses-list .course-card ._course-box__cta a.forma-button:hover {
  background-color: var(--color-primary) !important;
  filter: brightness(0.9) !important;
  color: #ffffff !important;
}

/* Secondary CTA Buttons: Subscribe, Request approval, Add to cart */
body .mycourses-list ._course-box__cta a.forma-button[onclick*="subscribeToCourse"],
body .mycourses-list ._course-box__cta a.forma-button[onclick*="chooseEdition"]:not(.forma-button--disabled),
body .mycourses-list ._course-box__cta a.forma-button[onclick*="addToCart"],
.course-card ._course-box__cta a.forma-button[onclick*="subscribeToCourse"],
.course-card ._course-box__cta a.forma-button[onclick*="chooseEdition"]:not(.forma-button--disabled),
.course-card ._course-box__cta a.forma-button[onclick*="addToCart"] {
  background-color: var(--color-secondary) !important;
  border-color: var(--color-secondary) !important;
  color: #ffffff !important;
}

body .mycourses-list ._course-box__cta a.forma-button[onclick*="subscribeToCourse"]:hover,
body .mycourses-list ._course-box__cta a.forma-button[onclick*="chooseEdition"]:not(.forma-button--disabled):hover,
body .mycourses-list ._course-box__cta a.forma-button[onclick*="addToCart"]:hover,
.course-card ._course-box__cta a.forma-button[onclick*="subscribeToCourse"]:hover,
.course-card ._course-box__cta a.forma-button[onclick*="chooseEdition"]:not(.forma-button--disabled):hover,
.course-card ._course-box__cta a.forma-button[onclick*="addToCart"]:hover {
  background-color: var(--color-secondary) !important;
  border-color: var(--color-secondary) !important;
  filter: brightness(0.9) !important;
  color: #ffffff !important;
}

/* Disabled buttons: Waiting, Max participants reached, Disabled */
.course-card .forma-button.forma-button--disabled,
.course-card a.forma-button.forma-button--disabled,
body .mycourses-list ._course-box__cta a.forma-button.forma-button--disabled {
  background-color: #e5e7eb !important;
  border-color: #e5e7eb !important;
  color: #6b7280 !important;
  cursor: not-allowed !important;
  pointer-events: none !important;
  filter: none !important;
  box-shadow: none !important;
  transform: none !important;
}

.course-card .forma-button.forma-button--disabled .forma-button__label,
.course-card a.forma-button.forma-button--disabled .forma-button__label,
body .mycourses-list ._course-box__cta a.forma-button.forma-button--disabled .forma-button__label {
  color: #6b7280 !important;
}

/* Suppress legacy FontAwesome pseudo-elements on disabled buttons */
.course-card .forma-button--disabled::before,
.course-card .forma-button--disabled .forma-button__label::before,
body .mycourses-list .forma-button--disabled::before,
body .mycourses-list .forma-button--disabled .forma-button__label::before {
  content: none !important;
  display: none !important;
}

.course-card .forma-button .forma-button__label {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  color: inherit !important;
  font-weight: 600 !important;
  width: 100% !important;
  text-align: center !important;
}

.course-card .forma-button .lucide,
.course-card .forma-button i[data-lucide],
.course-card .forma-button svg.lucide {
  width: 16px !important;
  height: 16px !important;
  flex-shrink: 0 !important;
  vertical-align: middle !important;
}

/* Grid layout adjustments for course lists */
.mycourses-list.catalog_courselist,
.mycourses-list.e-learning_courselist,
.course-box__last-visited-container {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)) !important;
  gap: 24px !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  margin-bottom: 24px !important;
}

@media (min-width: 576px) and (max-width: 991px) {
  .mycourses-list.catalog_courselist,
  .mycourses-list.e-learning_courselist,
  .course-box__last-visited-container {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (min-width: 992px) {
  .mycourses-list.catalog_courselist,
  .mycourses-list.e-learning_courselist,
  .course-box__last-visited-container {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}

@media (min-width: 1600px) {
  .mycourses-list.catalog_courselist,
  .mycourses-list.e-learning_courselist,
  .course-box__last-visited-container {
    grid-template-columns: repeat(4, 1fr) !important;
  }
}

/* Catalogue cards: minmax(0, 1fr) columns can shrink, so the grid stays inside the banner width. One column on phones, two up to 1200px. */
.mycourses-list.catalog_courselist {
  grid-template-columns: minmax(0, 1fr) !important;
}

@media (min-width: 576px) {
  .mycourses-list.catalog_courselist {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (min-width: 1200px) {
  .mycourses-list.catalog_courselist {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (min-width: 1600px) {
  .mycourses-list.catalog_courselist {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

.page-header.course__last-visited {
  float: none !important;
  clear: both !important;
  width: 100% !important;
  margin: 15px 0 10px 0 !important;
  padding: 0 !important;
}

/* Recently Viewed container: flush left, siblings side-by-side, matching card widths with grid */
.course-box__last-visited-container {
  justify-content: start !important;
  width: 100% !important;
  clear: both !important;
  padding: 0 !important;
  background: transparent !important;
}

.course-box__last-visited-container::before,
.course-box__last-visited-container::after {
  display: none !important;
  content: none !important;
}

.course-box__last-visited-container > .course-card {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
}



.sidebar-menu > li > a > svg {
  color: #212529;
}

.theme-primary.light-skin .sidebar-menu > li:hover a > svg, .theme-primary.light-skin .sidebar-menu > li:active a > svg, .theme-primary.light-skin .sidebar-menu > li.active a > svg {
    color: var(--color-primary);
    fill: transparent;
}

/* Content Wrapper Stacking Context:
   Prevent content-wrapper from establishing an isolated stacking context (was z-index: 820 in AdminLTE)
   that traps SCORM/lightbox modals behind the fixed main-header. */
.content-wrapper,
body.fixed .content-wrapper,
body.fixed .wrapper.admin-layout > .content-wrapper,
body.fixed .wrapper.lms-layout > .content-wrapper {
  z-index: auto !important;
}

/* Fixed Header: always reliably on top of normal in-flow page content */
.fixed .main-header,
body.fixed .main-header,
.onegov-main-header {
  z-index: 1040 !important;
}

/* Prevent cards/items with pull-up hover effect from overlaying the sticky header */
.pull-up:hover,
.box.pull-up:hover,
.card.pull-up:hover {
  z-index: 10 !important;
}

/* All modals, overlays, backdrops, and dialogs render above the fixed header */
.scorm-modal,
.modal.scorm-modal,
#easy-modal,
.modal.open,
.modal.in,
.modal.show,
#overlay_lightbox_c,
.yui-panel-container.shadow,
div.mask,
.tox-tinymce-aux,
.tox.tox-tinymce-aux,
.tox-dialog-wrap,
#loadingOverlay {
  z-index: 9999999 !important;
}

.modal-backdrop,
.modal-backdrop.show,
.modal-backdrop.in {
  z-index: 9999998 !important;
}

/* Recommendations row flex layout */
.recommendation-row {
  display: flex !important;
  flex-wrap: wrap !important;
}

.recommendation-row > .mycourses-list {
  display: flex !important;
  flex-direction: column !important;
  margin-bottom: 24px !important;
}


/* Question / Test Creation UI */

.question-create-card {
  background: #ffffff;
  border-radius: 16px;
  border: 1px solid #e5e7eb;
  padding: 32px;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.05);
  margin-top: 20px;
  margin-bottom: 40px;
  min-height: 520px;
}

.question-create-header {
  border-bottom: 1px solid #f3f4f6;
  padding-bottom: 24px;
}

.question-header-icon {
  width: 46px;
  height: 46px;
  min-width: 46px;
  border-radius: 50%;
  background: var(--color-primary, #166534);
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
}

.question-create-title {
  font-size: 22px;
  font-weight: 700;
  color: #111827;
  line-height: 1.25;
}

.question-create-subtitle {
  font-size: 14px;
  color: #6b7280;
  line-height: 1.4;
}

.question-type-select-wrapper {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}

.question-type-label {
  font-size: 13px;
  font-weight: 600;
  color: #374151;
  margin-bottom: 6px;
}

.question-type-select-container {
  display: inline-flex;
  align-items: center;
  border: 1.5px solid var(--color-primary, #166534);
  border-radius: 9999px !important;
  padding: 6px 16px;
  background: #ffffff;
  gap: 8px;
  position: relative;
  cursor: pointer;
  transition: all 0.2s ease;
  outline: none;
  font-family: inherit;
  line-height: 1.4;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

.question-type-select-container:hover:not(:disabled) {
  background-color: #fafafa;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
}

.question-type-select-container.open {
  box-shadow: 0 0 0 3px var(--color-primary-light, rgba(200, 64, 0, 0.15));
}

.question-type-select-container:disabled,
.question-type-select-container.disabled {
  opacity: 0.6;
  cursor: not-allowed;
  background-color: #f9fafb;
  border-color: #d1d5db;
}

.question-type-radio-icon {
  color: var(--color-primary, #166534);
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
}

.question-type-current-label {
  font-size: 14px;
  font-weight: 600;
  color: #111827;
  white-space: nowrap;
  user-select: none;
}

.question-type-chevron {
  color: #6b7280;
  display: inline-flex;
  align-items: center;
  transition: transform 0.2s ease;
  margin-left: 2px;
}

.question-type-select-container.open .question-type-chevron {
  transform: rotate(180deg);
  color: var(--color-primary, #166534);
}

.question-type-dropdown-menu {
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  min-width: 220px;
  max-height: 380px;
  overflow-y: auto;
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.12), 0 8px 10px -6px rgba(0, 0, 0, 0.04);
  padding: 6px;
  z-index: 1050;
  display: none;
  animation: qtypeFadeIn 0.15s ease-out;
}

.question-type-dropdown-menu::-webkit-scrollbar {
  width: 6px;
}
.question-type-dropdown-menu::-webkit-scrollbar-thumb {
  background-color: #d1d5db;
  border-radius: 9999px;
}
.question-type-dropdown-menu::-webkit-scrollbar-track {
  background: transparent;
}

.question-type-dropdown-menu.show {
  display: block !important;
}

@keyframes qtypeFadeIn {
  from {
    opacity: 0;
    transform: translateY(-6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.question-type-menu-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 9px 12px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 500;
  color: #374151;
  cursor: pointer;
  transition: background-color 0.15s ease, color 0.15s ease;
  user-select: none;
  outline: none;
}

.question-type-menu-item:hover,
.question-type-menu-item:focus {
  background-color: #f3f4f6;
  color: #111827;
}

.question-type-menu-item .menu-item-icon {
  color: #9ca3af;
  display: inline-flex;
  align-items: center;
  transition: color 0.15s ease;
}

.question-type-menu-item:hover .menu-item-icon,
.question-type-menu-item:focus .menu-item-icon {
  color: #4b5563;
}

.question-type-menu-item.active {
  background-color: var(--color-primary-light, rgba(200, 64, 0, 0.08));
  color: var(--color-primary, #166534);
  font-weight: 600;
}

.question-type-menu-item.active .menu-item-icon {
  color: var(--color-primary, #166534);
}

.question-type-menu-item .menu-item-check {
  color: var(--color-primary, #166534);
  display: inline-flex;
  align-items: center;
}

.question-field-label {
  font-size: 14px;
  font-weight: 600;
  color: #111827;
  margin-bottom: 8px;
  display: block;
}

/* Options Row Grid */
.question-options-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
  align-items: end;
}

@media (max-width: 991px) {
  .question-options-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 575px) {
  .question-options-grid {
    grid-template-columns: 1fr;
  }
}

.input-with-icon {
  position: relative;
  display: flex;
  align-items: center;
}

.input-with-icon .input-icon {
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  color: #6b7280;
  pointer-events: none;
  z-index: 2;
  display: flex;
  align-items: center;
}

.custom-select-styled,
.custom-input-styled {
  height: 44px !important;
  padding-left: 42px !important;
  border-radius: 10px !important;
  border: 1px solid var(--theme-border) !important;
  font-size: 14px !important;
  color: var(--theme-heading) !important;
  background-color: var(--theme-surface) !important;
  transition: border-color 0.15s, box-shadow 0.15s;
}

.custom-select-styled:focus,
.custom-input-styled:focus,
.answer-text-input:focus {
  border-color: var(--color-primary, #166534) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-primary, #166534) 15%, transparent) !important;
  outline: none !important;
}

.question-sequence-group {
  max-width: 220px;
}

/* Answers Section Card */
.question-answers-card {
  border: 1px solid var(--theme-border);
  border-radius: 14px;
  padding: 24px;
  background: var(--theme-surface-raised);
}

.answers-header-icon {
  width: 36px;
  height: 36px;
  min-width: 36px;
  border-radius: 50%;
  background: var(--color-primary, #166534);
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
}

.answers-card-title {
  font-size: 16.5px;
  font-weight: 700;
  color: var(--theme-heading);
}

.answers-card-subtitle {
  font-size: 13.5px;
  color: var(--theme-text-muted);
}

.answer-row {
  display: flex;
  align-items: center;
  gap: 14px;
}

.answer-choice-indicator {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
}

.answer-radio-input,
.answer-checkbox-input {
  width: 20px;
  height: 20px;
  accent-color: var(--color-primary, #166534);
  cursor: pointer;
  margin: 0;
}

.answer-input-container {
  flex-grow: 1;
  position: relative;
  display: flex;
  align-items: center;
}

.answer-text-input {
  height: 44px !important;
  padding: 0 90px 0 16px !important;
  border-radius: 10px !important;
  border: 1px solid var(--theme-border) !important;
  font-size: 14px !important;
  color: var(--theme-heading) !important;
  width: 100% !important;
  background-color: var(--theme-surface) !important;
  transition: border-color 0.15s, box-shadow 0.15s;
}

.badge-correct-pill {
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  background: #dcfce7;
  color: #166534;
  font-size: 12px;
  font-weight: 600;
  padding: 3px 12px;
  border-radius: 9999px;
  pointer-events: none;
}

.answer-score-stack {
  min-width: 155px;
}

.answer-score-input {
  width: 68px !important;
  min-width: 68px !important;
  height: 32px !important;
  padding: 2px 6px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-align: center !important;
  border-radius: 8px !important;
  border: 1px solid var(--theme-border) !important;
  background-color: var(--theme-surface) !important;
  color: var(--theme-heading) !important;
}

.btn-delete-answer {
  background: transparent;
  border: 1px solid transparent;
  padding: 7px;
  cursor: pointer;
  color: var(--theme-text-muted);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.15s ease;
}

.btn-delete-answer:hover,
.btn-delete-answer.forma-button__action.forma-delete:hover {
  border-color: var(--color-delete, #ef4444);
  background: var(--color-delete, #ef4444) !important;
  color: #ffffff !important;
}

.btn-outline-add-answer {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 1.5px solid var(--color-primary, #166534);
  color: var(--color-primary, #166534);
  background: transparent;
  border-radius: 8px;
  padding: 9px 20px;
  font-size: 13.5px;
  font-weight: 600;
  cursor: pointer;
  transition: background-color 0.15s, color 0.15s;
}

.btn-outline-add-answer:hover {
  background: rgba(22, 101, 52, 0.08);
  color: var(--color-primary, #166534);
}

/* Action Buttons */
.question-form-actions {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 28px;
}

.question-form-actions .forma-button {
  padding: 10px 22px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  border-radius: 8px !important;
  min-height: 42px;
}


/* Modern Text Entry Table Styles */
.grid-3-cols {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

@media (max-width: 991px) {
  .grid-3-cols {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 575px) {
  .grid-3-cols {
    grid-template-columns: 1fr !important;
  }
}

.text-entry-answer-table {
  width: 100%;
  border: 1px solid var(--theme-border);
  border-radius: 12px;
  overflow: hidden;
  border-collapse: separate;
  border-spacing: 0;
}

.text-entry-answer-table thead th {
  background-color: var(--theme-surface-muted) !important;
  color: var(--theme-text-muted) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  padding: 12px 16px !important;
  border-bottom: 1px solid var(--theme-border) !important;
  border-top: none !important;
}

.text-entry-answer-table tbody td {
  padding: 16px !important;
  border-bottom: none !important;
  background-color: var(--theme-surface-raised);
  color: var(--theme-text);
  vertical-align: top;
}

.text-entry-answer-table .col-correct {
  width: 75px;
  text-align: center;
}

.text-entry-answer-table .col-answer {
  width: 35%;
  min-width: 200px;
}

.text-entry-answer-table .col-comment {
  width: 38%;
  min-width: 220px;
}

.text-entry-answer-table .col-score {
  width: 22%;
  min-width: 180px;
}

.text-entry-correct-indicator {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background-color: #dcfce7;
  color: #16a34a;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 4px;
}

.text-entry-input {
  padding-left: 14px !important;
  padding-right: 14px !important;
}

.text-entry-score-stack {
  min-width: 160px;
}

.text-entry-score-input {
  width: 72px !important;
  min-width: 72px !important;
  height: 38px !important;
  padding: 4px 8px !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  text-align: center !important;
  border: 1px solid var(--theme-border) !important;
  background-color: var(--theme-surface) !important;
  color: var(--theme-heading) !important;
}

/* Test Question Management Styles */

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

.text-muted-disabled {
  color: #d1d5db !important;
}

.test-mgmt-wrapper {
  max-width: 100%;
  margin: 0 auto;
  font-family: inherit;
  color: #111827;
}

.test-mgmt-back-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13.5px;
  font-weight: 500;
  color: #4b5563;
  text-decoration: none;
  transition: color 0.15s ease;
}
.test-mgmt-back-link:hover {
  color: var(--color-primary);
  text-decoration: none;
}

.test-mgmt-title {
  font-size: 26px;
  font-weight: 700;
  color: #111827;
  letter-spacing: -0.02em;
}

.test-mgmt-subtitle {
  font-size: 14px;
  color: #6b7280;
}

/* Top Right Stats Card */
.test-mgmt-stats-card {
  display: flex;
  align-items: center;
  gap: 16px;
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 8px 18px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}
.stats-item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13.5px;
  color: #374151;
}
.stats-icon {
  display: inline-flex;
  align-items: center;
}
.stats-divider {
  width: 1px;
  height: 18px;
  background-color: #e5e7eb;
}

/* Sub-navigation Tabs */
.test-mgmt-tabs-container {
  border-bottom: 1px solid #e5e7eb;
}
.test-mgmt-tabs {
  display: flex;
  gap: 28px;
  align-items: center;
}
.test-tab-item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 0;
  font-size: 14px;
  font-weight: 500;
  color: #6b7280;
  text-decoration: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  transition: all 0.15s ease;
}
.test-tab-item:hover {
  color: #111827;
  text-decoration: none;
}
.test-tab-item.active {
  color: var(--color-primary);
  font-weight: 600;
  border-bottom: 2px solid var(--color-primary);
}

/* Toolbar Card */
.test-mgmt-toolbar-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 10px 14px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03);
}

/* Search input */
.test-search-box {
  position: relative;
  width: 260px;
}
.test-search-box .search-icon {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: #9ca3af;
  pointer-events: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
}
.test-search-box .search-icon svg,
.test-search-box .search-icon i {
  width: 16px;
  height: 16px;
}
.test-search-box input.test-search-input,
input[type="text"].test-search-input {
  width: 100% !important;
  box-sizing: border-box !important;
  padding: 8px 12px 8px 38px !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 8px !important;
  font-size: 13.5px !important;
  outline: none !important;
  background: #ffffff !important;
  color: #111827 !important;
  height: 38px !important;
  line-height: normal !important;
  transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
}
.test-search-box input.test-search-input:focus,
input[type="text"].test-search-input:focus {
  border-color: var(--color-primary) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-primary) 15%, transparent) !important;
}
.test-search-box input.test-search-input::placeholder,
input[type="text"].test-search-input::placeholder {
  color: #9ca3af !important;
}

/* Question Type Filter */
.test-filter-trigger {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 8px 14px;
  background: #ffffff;
  font-size: 13.5px;
  font-weight: 500;
  color: #374151 !important;
  cursor: pointer;
  transition: all 0.15s ease;
  outline: none;
  height: 38px;
  box-sizing: border-box;
}
.test-filter-trigger:hover {
  border-color: #d1d5db;
  background: #f9fafb;
}
.test-filter-trigger.open {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-primary) 15%, transparent);
}
.test-filter-trigger .filter-icon {
  color: #6b7280;
  display: inline-flex;
  align-items: center;
}
.test-filter-trigger .test-filter-label,
#test-filter-label,
.test-filter-label {
  color: #374151 !important;
  font-size: 13.5px !important;
  font-weight: 500 !important;
  display: inline-block !important;
  white-space: nowrap !important;
}
.test-filter-trigger .filter-chevron {
  color: #9ca3af;
  display: inline-flex;
  align-items: center;
  transition: transform 0.2s ease;
}
.test-filter-trigger.open .filter-chevron {
  transform: rotate(180deg);
}
.test-filter-menu {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  min-width: 200px;
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.04);
  padding: 6px;
  z-index: 1050;
  display: none;
}
.test-filter-menu.show {
  display: block;
}
.filter-menu-item {
  padding: 8px 12px;
  border-radius: 6px;
  font-size: 13.5px;
  color: #374151;
  cursor: pointer;
  transition: all 0.15s ease;
}
.filter-menu-item:hover {
  background-color: #f3f4f6;
  color: #111827;
}
.filter-menu-item.active {
  background-color: color-mix(in srgb, var(--color-primary) 10%, transparent);
  color: var(--color-primary);
  font-weight: 600;
}

/* Buttons */
.test-btn-primary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background-color: var(--color-primary);
  color: #ffffff !important;
  border: none;
  border-radius: 8px;
  padding: 8px 16px;
  font-size: 13.5px;
  font-weight: 600;
  cursor: pointer;
  transition: filter 0.15s ease, box-shadow 0.15s ease;
  outline: none;
  text-decoration: none;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}
.test-btn-primary:hover {
  filter: brightness(0.92);
  text-decoration: none;
  color: #ffffff !important;
}
.test-btn-primary .btn-chevron {
  transition: transform 0.2s ease;
}
.test-btn-primary.open .btn-chevron {
  transform: rotate(180deg);
}

.test-btn-outline {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 8px 14px;
  background: #ffffff;
  font-size: 13.5px;
  font-weight: 500;
  color: #374151;
  cursor: pointer;
  transition: all 0.15s ease;
  text-decoration: none;
  outline: none;
}
.test-btn-outline:hover {
  background: #f9fafb;
  border-color: #d1d5db;
  color: #111827;
  text-decoration: none;
}
.test-btn-outline.btn-sm {
  padding: 6px 12px;
  font-size: 13px;
}
.test-btn-outline.text-danger-outline {
  color: #dc2626;
  border-color: #fca5a5;
}
.test-btn-outline.text-danger-outline:hover {
  background-color: #fef2f2;
  border-color: #f87171;
}

/* Floating Menus (Add Question / Export) */
.test-add-dropdown-menu,
.test-action-dropdown-menu {
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  min-width: 220px;
  max-height: 380px;
  overflow-y: auto;
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.12), 0 8px 10px -6px rgba(0, 0, 0, 0.04);
  padding: 6px;
  z-index: 1050;
  display: none;
  animation: testMenuFadeIn 0.15s ease-out;
}

.test-add-dropdown-menu::-webkit-scrollbar,
.test-action-dropdown-menu::-webkit-scrollbar {
  width: 6px;
}
.test-add-dropdown-menu::-webkit-scrollbar-thumb,
.test-action-dropdown-menu::-webkit-scrollbar-thumb {
  background-color: #d1d5db;
  border-radius: 9999px;
}
.test-add-dropdown-menu::-webkit-scrollbar-track,
.test-action-dropdown-menu::-webkit-scrollbar-track {
  background: transparent;
}
.test-add-dropdown-menu.show,
.test-action-dropdown-menu.show {
  display: block;
}

.test-add-menu-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 12px;
  border-radius: 8px;
  font-size: 13.5px;
  font-weight: 500;
  color: #374151;
  text-decoration: none;
  transition: all 0.15s ease;
}
.test-add-menu-item:hover {
  background-color: color-mix(in srgb, var(--color-primary) 8%, transparent);
  color: var(--color-primary);
  text-decoration: none;
}
.test-add-menu-item .menu-item-icon {
  display: inline-flex;
  align-items: center;
}

.dropdown-action-item {
  display: block;
  width: 100%;
  text-align: left;
  background: none;
  border: none;
  padding: 8px 12px;
  border-radius: 6px;
  font-size: 13.5px;
  color: #374151;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.15s ease;
}
.dropdown-action-item:hover {
  background-color: #f3f4f6;
  color: #111827;
  text-decoration: none;
}

/* Questions Table Card */
.test-table-card {
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03);
}

.test-table-card > .table-responsive {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  overflow-x: auto;
  overflow-y: hidden;
}

.test-questions-table {
  width: 100% !important;
  min-width: 100%;
  margin: 0 !important;
  border-collapse: collapse;
  font-size: 13.5px;
  table-layout: fixed;
}
.test-questions-table th {
  background: #f9fafb;
  border-bottom: 1px solid #e5e7eb;
  padding: 12px 16px;
  font-weight: 600;
  color: #4b5563;
  font-size: 13px;
  text-align: left;
}
.test-questions-table td {
  padding: 14px 16px;
  border-bottom: 1px solid #f3f4f6;
  color: #111827;
  vertical-align: middle;
}
.test-questions-table tbody tr:last-child td {
  border-bottom: none;
}
.test-questions-table tbody tr:hover {
  background-color: #fbfbfb;
}

/* Column Widths & Alignments */
.test-questions-table th.col-checkbox,
.test-questions-table td.col-checkbox {
  width: 48px;
  padding: 0 !important;
  text-align: center !important;
  vertical-align: middle !important;
}
.test-questions-table .form-check-custom {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin: 0;
  padding: 0;
}
.test-questions-table th.col-index,
.test-questions-table td.col-index {
  width: 44px;
  padding: 0 !important;
  text-align: center !important;
  vertical-align: middle !important;
  color: #6b7280;
  font-weight: 500;
}
.test-questions-table .col-type {
  width: 160px;
  font-weight: 500;
  white-space: nowrap;
  text-align: left;
}
.test-questions-table .col-category {
  width: 175px;
  white-space: nowrap;
  text-align: left;
}
.test-questions-table .col-question {
  width: auto;
  overflow: hidden;
  text-align: left;
}
.test-questions-table th.col-order,
.test-questions-table td.col-order {
  width: 70px;
  text-align: center !important;
  vertical-align: middle !important;
  padding: 12px 6px;
}
.test-questions-table th.col-actions,
.test-questions-table td.col-actions {
  width: 175px;
  text-align: center !important;
  vertical-align: middle !important;
  white-space: nowrap;
  padding: 12px 8px;
}

/* Custom Checkbox */
.form-check-custom input[type="checkbox"] {
  width: 16px;
  height: 16px;
  border: 1.5px solid #d1d5db;
  border-radius: 4px;
  cursor: pointer;
  accent-color: var(--color-primary);
}

/* Category Pill */
.category-pill {
  display: inline-block;
  padding: 4px 12px;
  border-radius: 9999px;
  background-color: color-mix(in srgb, var(--color-primary) 10%, transparent);
  color: var(--color-primary);
  font-size: 12.5px;
  font-weight: 600;
  white-space: nowrap;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  vertical-align: middle;
}

/* Question Title */
.question-title-text {
  font-weight: 500;
  color: #1f2937;
  line-height: 1.4;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
  max-width: 100%;
}

/* Order Badge */
.order-badge {
  color: #4b5563;
  font-weight: 500;
}

/* Row Action Buttons */
.action-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px !important;
  height: 28px !important;
  padding: 4px !important;
  border-radius: 6px;
  color: #6b7280;
  text-decoration: none;
  transition: all 0.15s ease;
  border: 1px solid transparent;
}
.action-btn:hover:not(.disabled) {
  background-color: #f3f4f6;
  color: #111827;
  text-decoration: none;
}
.action-btn.action-edit:hover,
.action-btn.forma-button__action.forma-edit:hover {
  color: var(--color-primary) !important;
  background-color: color-mix(in srgb, var(--color-primary) 10%, transparent) !important;
  border-color: var(--color-primary) !important;
}
.action-btn.action-delete:hover,
.action-btn.forma-button__action.forma-delete:hover {
  color: #dc2626 !important;
  background-color: #fee2e2 !important;
  border-color: #dc2626 !important;
}
.action-btn.disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.forma-button__action.forma-delete.btn-sm {
  padding: 6px 12px !important;
  font-size: 13px !important;
  border: 1px solid var(--color-delete, #ef4444);
  color: var(--color-delete, #ef4444) !important;
  background: transparent;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  transition: all 0.15s ease;
  text-decoration: none;
}
.forma-button__action.forma-delete.btn-sm:hover {
  background: var(--color-delete, #ef4444) !important;
  color: #ffffff !important;
  text-decoration: none;
}

.test-title-edit-trigger.forma-button__action.forma-edit {
  width: 28px !important;
  height: 28px !important;
  padding: 4px !important;
  border-radius: 6px;
  border: 1px solid #e5e7eb;
  color: #6b7280;
  background: transparent;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: all 0.15s ease;
}
.test-title-edit-trigger.forma-button__action.forma-edit:hover {
  border-color: var(--color-primary);
  color: var(--color-primary) !important;
  background: color-mix(in srgb, var(--color-primary) 10%, transparent) !important;
}

.forma-button.btn-sm {
  padding: 7px 14px !important;
  font-size: 13px !important;
  border-radius: 8px !important;
  gap: 6px;
}

/* Bottom Controls */
.test-select-control {
  display: block;
  width: 100%;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 8px 12px;
  font-size: 13.5px;
  color: #374151;
  background: #ffffff;
  outline: none;
  box-sizing: border-box;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.test-select-control:focus {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-primary) 15%, transparent);
}
.move-label {
  font-size: 13px;
  color: #4b5563;
  font-weight: 500;
}

/* Modern Form & Radio Cards for Test Subtabs */
.form-section-title {
  font-size: 16px;
  font-weight: 600;
  color: var(--theme-heading);
}
.form-section-subtitle {
  font-size: 13.5px;
  color: var(--theme-text-muted);
}
.test-radio-card {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  border: 1px solid var(--theme-border);
  border-radius: 10px;
  padding: 14px 16px;
  cursor: pointer;
  background: var(--theme-surface-raised);
  transition: all 0.15s ease;
}
.test-radio-card:hover {
  border-color: var(--theme-border);
  background: var(--theme-surface-muted);
}
.test-radio-card.selected {
  border-color: var(--color-primary);
  background: color-mix(in srgb, var(--color-primary) 4%, var(--theme-surface-raised));
  box-shadow: 0 0 0 1px var(--color-primary);
}
.test-radio-input {
  margin-top: 3px;
  accent-color: var(--color-primary);
}
.radio-card-title {
  display: block;
  font-weight: 600;
  font-size: 14px;
  color: var(--theme-heading);
  margin-bottom: 2px;
}
.radio-card-desc {
  display: block;
  font-size: 13px;
  color: var(--theme-text-muted);
}
.score-input-control,
.time-input-field {
  border: 1px solid var(--theme-border);
  border-radius: 8px;
  padding: 8px 12px;
  font-size: 14px;
  outline: none;
  background: var(--theme-surface-raised);
  color: var(--theme-heading);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.score-input-control:focus,
.time-input-field:focus {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-primary) 15%, transparent);
}
.time-input-group {
  text-align: center;
}
.time-input-group .time-input-field {
  width: 70px;
  text-align: center;
  font-weight: 600;
}
.time-separator {
  font-size: 20px;
  font-weight: 700;
  color: var(--theme-text-muted);
}
.form-check-input {
  accent-color: var(--color-primary);
}

/* Import Test UI */
.test-import-container {
  max-width: 1200px;
  margin: 0 auto;
}

.test-back-nav {
  font-size: 13.5px;
  font-weight: 500;
  color: var(--theme-text);
  transition: color 0.15s ease;
}
.test-back-nav:hover {
  color: var(--color-primary);
}

.test-import-header-card {
  background: var(--theme-surface-raised);
  border: 1px solid var(--theme-border);
  border-radius: 14px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
  position: relative;
  overflow: hidden;
}

.test-import-icon-box {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background-color: color-mix(in srgb, var(--color-primary) 12%, transparent);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.test-import-title {
  font-size: 20px;
  font-weight: 700;
  color: var(--theme-heading);
  letter-spacing: -0.01em;
}

.test-import-subtitle {
  font-size: 13.5px;
  color: var(--theme-text-muted);
}

.deco-badge {
  width: 56px;
  height: 56px;
  border-radius: 14px;
  background: color-mix(in srgb, var(--color-primary) 8%, transparent);
  display: flex;
  align-items: center;
  justify-content: center;
}
.deco-badge .deco-icon {
  width: 28px;
  height: 28px;
}

.step-badge {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--color-primary);
  color: #ffffff;
  font-size: 12px;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.step-title {
  font-size: 15px;
  font-weight: 600;
  color: var(--theme-heading);
}

.file-dropzone {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  width: 100% !important;
  border: 2px dashed var(--theme-border);
  border-radius: 12px;
  background-color: var(--theme-surface-muted);
  padding: 36px 20px;
  cursor: pointer;
  transition: border-color 0.2s ease, background-color 0.2s ease;
  outline: none;
  box-sizing: border-box !important;
}
.file-dropzone:hover,
.file-dropzone.dragover,
.file-dropzone:focus {
  border-color: var(--color-primary);
  background-color: color-mix(in srgb, var(--color-primary) 4%, transparent);
}

.dropzone-content {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
}

.dropzone-icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  text-align: center !important;
  margin: 0 auto 10px auto !important;
  color: var(--theme-text-muted);
  transition: color 0.2s ease;
}
.dropzone-icon svg,
.dropzone-icon i {
  display: inline-block !important;
  margin: 0 auto !important;
  width: 38px !important;
  height: 38px !important;
}
.file-dropzone:hover .dropzone-icon,
.file-dropzone.dragover .dropzone-icon {
  color: var(--color-primary);
}

.dropzone-primary-text {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  margin: 0 auto 6px auto !important;
  font-size: 14px;
  font-weight: 500;
  color: var(--theme-text);
  float: none !important;
}

.dropzone-hint {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  margin: 0 auto !important;
  font-size: 12.5px;
  color: var(--theme-text-muted);
  float: none !important;
}

.file-preview-label,
.setting-label {
  display: block !important;
  font-size: 13px;
  font-weight: 500;
  color: var(--theme-text);
  margin-bottom: 6px;
}

.file-selected-box {
  border: 1px solid var(--theme-border);
  border-radius: 8px;
  background: var(--theme-surface-raised);
  min-height: 42px;
  transition: border-color 0.15s ease;
}
.file-selected-box.has-file {
  border-color: color-mix(in srgb, var(--color-primary) 40%, var(--theme-border));
  background-color: color-mix(in srgb, var(--color-primary) 2%, var(--theme-surface-raised));
}

.file-name-text {
  font-size: 13.5px;
  color: var(--theme-text);
}

.btn-clear-file {
  border: none;
  background: transparent;
  color: var(--theme-text-muted);
  padding: 4px;
  border-radius: 4px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: color 0.15s ease;
}
.btn-clear-file:hover {
  color: #dc2626;
}


.instructions-card {
  background: var(--theme-surface-raised);
  border: 1px solid var(--theme-border);
  border-radius: 12px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

.instructions-title {
  font-size: 15px;
  font-weight: 600;
  color: var(--theme-heading);
}

.instructions-body {
  font-size: 13px;
  line-height: 1.5;
  color: var(--theme-text-muted);
}

.file-type-toggle-bar {
  background: var(--theme-surface-muted);
  border-radius: 10px;
  border: 1px solid var(--theme-border);
  gap: 4px;
}

.file-type-toggle-option {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 18px;
  border-radius: 8px;
  font-size: 13.5px;
  font-weight: 500;
  color: var(--theme-text);
  cursor: pointer;
  transition: all 0.18s ease;
  user-select: none;
  margin-bottom: 0;
  border: 1px solid transparent;
}

.file-type-toggle-option:hover {
  color: var(--theme-heading);
  background: rgba(255, 255, 255, 0.6);
}

.file-type-toggle-option.active {
  background: var(--theme-surface-raised);
  color: var(--color-primary);
  font-weight: 600;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
  border-color: color-mix(in srgb, var(--color-primary) 25%, var(--theme-border));
}

.test-input-control {
  border: 1px solid var(--theme-border);
  border-radius: 8px;
  padding: 6px 12px;
  font-size: 13.5px;
  background: var(--theme-surface-raised);
  color: var(--theme-heading);
  outline: none;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.test-input-control:focus {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-primary) 15%, transparent);
}

.import-options-row {
  border-top: 1px solid var(--theme-border);
}

/* Test Title Edit Trigger & Modal */
.test-title-edit-trigger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 6px;
  border: 1px solid var(--theme-border);
  background: var(--theme-surface-raised);
  color: var(--theme-text-muted);
  cursor: pointer;
  transition: all 0.15s ease;
  padding: 0;
  outline: none;
}
.test-title-edit-trigger:hover {
  border-color: var(--color-primary);
  color: var(--color-primary);
  background-color: color-mix(in srgb, var(--color-primary) 8%, transparent);
}

.test-modal-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.45);
  backdrop-filter: blur(2px);
  z-index: 1060;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  box-sizing: border-box;
}
.test-modal-dialog {
  width: 100%;
  max-width: 520px;
  margin: 0 auto;
}
.test-modal-content {
  background: var(--theme-surface-raised);
  border-radius: 14px;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.15), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  border: 1px solid var(--theme-border);
  overflow: hidden;
}
.test-modal-title {
  font-size: 16px;
  font-weight: 600;
  color: var(--theme-heading);
}
.btn-close-modal {
  border: none;
  background: transparent;
  color: var(--theme-text-muted);
  padding: 4px;
  border-radius: 6px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: color 0.15s ease;
}
.btn-close-modal:hover {
  color: var(--theme-heading);
}


/* Active element outline during EnjoyHint Tour */
.theme-primary.dark-skin .enjoyhint-active-element,
body.dark-skin .enjoyhint-active-element,
html[data-theme="dark"] .enjoyhint-active-element {
  outline: 2px solid #ffffff !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 16px rgba(16, 185, 129, 0.8) !important;
  border-radius: 6px;
}

/* ==========================================================================
   Modern LMS Menu Sidebar (General LMS & 1Gov Standard Column 2)
   ========================================================================== */

:root {
  --onegov-lmsmenu-width: 270px;
  --onegov-header-height: 80px;
}

/* Base Modern Menu Sidebar Container */
.onegov-lms-menu-sidebar {
  width: var(--onegov-lmsmenu-width, 270px);
  min-width: var(--onegov-lmsmenu-width, 270px);
  height: 100%;
  background-color: var(--theme-sidebar, #ffffff);
  box-sizing: border-box;
  transition: width 0.3s ease, min-width 0.3s ease, opacity 0.3s ease, transform 0.3s ease;
  overflow: hidden;
  border-right: 1px solid var(--theme-border, #e5e7eb);
}

/* General LMS Sidebar (Standalone Column 2) Layout & Responsive States */
@media (min-width: 992px) {
  .lms-general-sidebar {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    bottom: 0 !important;
    height: 100vh !important;
    width: var(--onegov-lmsmenu-width, 270px) !important;
    min-width: var(--onegov-lmsmenu-width, 270px) !important;
    z-index: 1020 !important;
    display: flex !important;
    flex-direction: column !important;
    background-color: var(--theme-sidebar, #ffffff) !important;
    border-right: 1px solid var(--theme-border, #e5e7eb) !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  body.sidebar-collapse .lms-general-sidebar {
    width: 0 !important;
    min-width: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
    overflow: hidden !important;
  }

  .lms-general-sidebar + .content-wrapper,
  .lms-general-sidebar ~ .content-wrapper {
    margin-left: var(--onegov-lmsmenu-width, 270px) !important;
    transition: margin-left 0.3s ease !important;
  }

  body.sidebar-collapse .lms-general-sidebar + .content-wrapper,
  body.sidebar-collapse .lms-general-sidebar ~ .content-wrapper {
    margin-left: 0 !important;
  }

  .lms-general-sidebar ~ .main-footer {
    margin-left: var(--onegov-lmsmenu-width, 270px) !important;
    transition: margin-left 0.3s ease !important;
  }

  body.sidebar-collapse .lms-general-sidebar ~ .main-footer {
    margin-left: 0 !important;
  }

  .main-header:not(.onegov-main-header) {
    margin-left: var(--onegov-lmsmenu-width, 270px) !important;
    width: calc(100% - var(--onegov-lmsmenu-width, 270px)) !important;
    transition: margin-left 0.3s ease, width 0.3s ease !important;
  }

  body.sidebar-collapse .main-header:not(.onegov-main-header) {
    margin-left: 0 !important;
    width: 100% !important;
  }

  body:not(.sidebar-collapse) .main-header:not(.onegov-main-header) .logo-box .logo {
    display: none !important;
  }

  body.sidebar-collapse .main-header:not(.onegov-main-header) .logo-box .logo {
    display: block !important;
  }
}

@media (max-width: 991px) {
  .lms-general-sidebar {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    bottom: 0 !important;
    height: 100vh !important;
    width: var(--onegov-lmsmenu-width, 270px) !important;
    min-width: var(--onegov-lmsmenu-width, 270px) !important;
    z-index: 1050 !important;
    transform: translate3d(-100%, 0, 0) !important;
    transition: transform 0.3s ease !important;
    box-shadow: 5px 0 15px rgba(0, 0, 0, 0.15) !important;
    display: flex !important;
    flex-direction: column !important;
    background-color: var(--theme-sidebar, #ffffff) !important;
  }

  body.sidebar-open .lms-general-sidebar {
    transform: translate3d(0, 0, 0) !important;
  }

  body:not(.sidebar-open) .lms-general-sidebar {
    transform: translate3d(-100%, 0, 0) !important;
  }

  .main-header:not(.onegov-main-header) {
    margin-left: 0 !important;
    width: 100% !important;
  }

  /* The desktop mini-rail (sidebar-mini.sidebar-collapse) reserves 60px; this drawer takes no space. */
  .sidebar-mini.sidebar-collapse .content-wrapper,
  .sidebar-mini.sidebar-collapse .main-footer {
    margin-left: 0 !important;
  }

  /* Dimmed backdrop + scroll lock, matching the 1Gov drawer. */
  body.sidebar-open.theme-primary::before {
    content: "" !important;
    position: fixed !important;
    inset: 0 !important;
    background: rgba(0, 0, 0, 0.4) !important;
    z-index: 1040 !important;
    animation: fadeInOverlay 0.3s ease !important;
  }

  body.sidebar-open.theme-primary {
    overflow: hidden !important;
  }

  /* The mini-rail (sidebar-mini.sidebar-collapse) reserves 60px on desktop; on this breakpoint the drawer takes no space. */
  .sidebar-mini.sidebar-collapse .content-wrapper,
  .sidebar-mini.sidebar-collapse .main-footer {
    margin-left: 0 !important;
  }
}

@keyframes fadeInOverlay {
  from { opacity: 0; }
  to { opacity: 1; }
}

/* Sidebar Top Logo Box */
.onegov-sidebar-logo-box {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  height: var(--onegov-header-height, 60px) !important;
  min-height: var(--onegov-header-height, 60px) !important;
  max-height: var(--onegov-header-height, 60px) !important;
  flex: 0 0 var(--onegov-header-height, 60px) !important;
  padding: 0 16px !important;
  box-sizing: border-box !important;
  border-bottom: 1px solid var(--theme-border, #e5e7eb) !important;
  background: var(--theme-sidebar, #ffffff) !important;
}

.lms-general-sidebar .onegov-sidebar-logo-box .logo-lg-text {
  flex: 1 !important;
  display: flex !important;
  justify-content: center !important;
}

.onegov-sidebar-logo-box .main_logo,
.onegov-sidebar-logo-box .logo-lg-text img {
  max-height: calc(var(--onegov-header-height, 60px) - 16px) !important;
  width: auto !important;
  object-fit: contain !important;
  display: block !important;
}

@media (min-width: 992px) {
  .onegov-sidebar-logo-box .sidebar-close-btn,
  .d-lg-none.sidebar-close-btn {
    display: none !important;
  }
}

@media (max-width: 991px) {
  .onegov-sidebar-logo-box .sidebar-close-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: transparent !important;
    border: none !important;
    color: var(--theme-text-muted, #6b7280) !important;
    cursor: pointer !important;
    padding: 4px !important;
  }
}

/* Sidebar Scrollable Menu Wrapper & Inner Sidebar Reset */
.onegov-lms-menu-wrapper {
  flex: 1 1 auto !important;
  height: calc(100vh - var(--onegov-header-height, 60px)) !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  -webkit-overflow-scrolling: touch !important;
  scrollbar-width: none !important;
}

.onegov-lms-menu-wrapper::-webkit-scrollbar {
  display: none !important;
}

.onegov-lms-menu-sidebar .main-sidebar,
.onegov-lms-menu-wrapper .main-sidebar {
  position: static !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  transform: none !important;
  box-shadow: none !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.onegov-lms-menu-sidebar .main-sidebar .sidebar,
.onegov-lms-menu-sidebar .main-sidebar .multinav,
.onegov-lms-menu-sidebar .main-sidebar .multinav-scroll {
  position: static !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: visible !important;
  display: block !important;
}

.onegov-lms-menu-sidebar aside .sidebar-header,
.onegov-lms-menu-sidebar .sidebar-header.d-lg-none {
  display: none !important;
}

/* Sidebar Menu Items & Submenus */
.onegov-lms-menu-sidebar .sidebar-menu,
.sidebar-menu {
  width: 100% !important;
  display: block !important;
  padding: 0 !important;
  margin: 0 !important;
}

.onegov-lms-menu-sidebar .sidebar-menu > li {
  display: block !important;
  width: auto !important;
  padding-left: 0 !important;
}

.onegov-lms-menu-sidebar .sidebar-menu li.header {
  display: block !important;
  padding: 12px 16px 6px 16px !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  color: var(--theme-text-muted, #6b7280) !important;
  text-transform: uppercase !important;
  background: transparent !important;
}

.onegov-lms-menu-sidebar .sidebar-menu > li > a {
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  padding: 8px 16px !important;
  color: var(--theme-text, #374151) !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
}

.onegov-lms-menu-sidebar .sidebar-menu > li > a > span {
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  color: var(--theme-text, #374151) !important;
  margin-left: 8px !important;
}

.onegov-lms-menu-sidebar .sidebar-menu > li > a > i,
.onegov-lms-menu-sidebar .sidebar-menu > li > a > svg {
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  color: var(--theme-text-muted, #4b5563) !important;
  flex: 0 0 auto !important;
  width: 16px !important;
  height: 16px !important;
}

.onegov-lms-menu-sidebar .sidebar-menu .pull-right-container {
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  margin-left: auto !important;
}

/* Active Top-Level Item */
.theme-primary.light-skin .sidebar-menu > li.active:not(.treeview) > a,
body.light-skin .sidebar-menu > li.active:not(.treeview) > a {
  color: var(--color-primary, #008751) !important;
}
.theme-primary.light-skin .sidebar-menu > li.active:not(.treeview) > a > i,
.theme-primary.light-skin .sidebar-menu > li.active:not(.treeview) > a > svg,
.theme-primary.light-skin .sidebar-menu > li.active:not(.treeview) > a > span {
  color: var(--color-primary, #008751) !important;
}

/* Treeview Submenus (Inline Accordion) */
.sidebar-menu .treeview-menu {
  position: static !important;
  float: none !important;
  width: auto !important;
  max-width: none !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
  bottom: auto !important;
  margin: 4px 0 6px 17px !important;
  padding: 2px 0 2px 10px !important;
  border-left: 1px solid var(--theme-border, #e5e7eb) !important;
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  list-style: none !important;
  transform: none !important;
}

body.dark-skin .sidebar-menu .treeview-menu,
html[data-theme="dark"] .sidebar-menu .treeview-menu {
  border-left-color: var(--dark-border, rgba(255, 255, 255, 0.14)) !important;
}

.sidebar-menu .treeview-menu > li > a {
  min-height: 32px !important;
  padding: 5px 10px !important;
  display: flex !important;
  align-items: center !important;
  border-radius: 6px !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
  white-space: normal !important;
  background: transparent !important;
  color: var(--theme-text-muted, #4b5563) !important;
  transition: background-color 0.15s ease, color 0.15s ease !important;
}

body.dark-skin .sidebar-menu .treeview-menu > li > a,
html[data-theme="dark"] .sidebar-menu .treeview-menu > li > a {
  color: var(--theme-text-muted, #9ca3af) !important;
}

.sidebar-menu .treeview-menu > li:not(.active) > a:hover {
  background-color: rgba(0, 0, 0, 0.04) !important;
  color: var(--color-primary, #008751) !important;
}
body.dark-skin .sidebar-menu .treeview-menu > li:not(.active) > a:hover,
html[data-theme="dark"] .sidebar-menu .treeview-menu > li:not(.active) > a:hover {
  background-color: rgba(255, 255, 255, 0.06) !important;
}

.sidebar-menu .treeview-menu > li.active > a {
  background-color: var(--color-primary-color-light, rgba(0, 135, 81, 0.1)) !important;
  color: var(--color-primary, #008751) !important;
  font-weight: 500 !important;
}

/* Submenus Collapsed by Default unless menu-open */
.sidebar-menu li.treeview:not(.menu-open) > .treeview-menu {
  display: none !important;
}
.sidebar-menu li.treeview.menu-open > .treeview-menu {
  display: block !important;
}

/* Suppress bullet dots/commit icons in submenu items */
.sidebar-menu .treeview-menu > li > a > .icon-Commit,
.sidebar-menu .treeview-menu > li > a > i.icon-Commit {
  display: none !important;
}

/* Kill AdminLTE hover popout arrow */
.sidebar-mini:not(.sidebar-mini-expand-feature).sidebar-collapse .sidebar-menu > li:hover > .treeview-menu:after,
.sidebar-mini:not(.sidebar-mini-expand-feature).sidebar-collapse .sidebar-menu > li:hover > .treeview-menu > .treeview .treeview-menu:after {
  display: none !important;
  content: none !important;
}

/* Header height unification across light and dark modes (60px) and logo switching */
.main-header,
.main-header .navbar,
.main-header .logo-box {
  height: var(--onegov-header-height, 60px) !important;
  min-height: var(--onegov-header-height, 60px) !important;
}

.main-header .navbar {
  display: flex !important;
  align-items: center !important;
  padding: 0 !important;
}

.main-header .logo-box {
  display: flex !important;
  align-items: center !important;
}

.main-header .navbar-custom-menu,
.main-header .navbar-nav {
  height: var(--onegov-header-height, 60px) !important;
  min-height: var(--onegov-header-height, 60px) !important;
  display: flex !important;
  align-items: center !important;
}

.main-header .navbar-nav > li > a,
.main-header .navbar-nav > li > button,
.main-header .nav-link {
  height: var(--onegov-header-height, 60px) !important;
  line-height: var(--onegov-header-height, 60px) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.main-header .r-side .app-menu,
.main-header .r-side .btn-group a {
  margin: 0 5px !important;
}

.main-header .logo {
  height: var(--onegov-header-height, 60px) !important;
  line-height: var(--onegov-header-height, 60px) !important;
  display: flex !important;
  align-items: center !important;
}

.main-header .logo .logo-lg {
  line-height: var(--onegov-header-height, 60px) !important;
  display: flex !important;
  align-items: center !important;
}

.main-header .logo .logo-lg img,
.main-header .logo .logo-mini img {
  max-height: calc(var(--onegov-header-height, 60px) - 16px) !important;
  width: auto !important;
  object-fit: contain !important;
}

.fixed .content-wrapper {
  padding-top: var(--onegov-header-height, 60px) !important;
}

/* Sidebar and Header Logo Switching for Light / Dark skins */
.light-skin .onegov-sidebar-logo-box .dark-logo,
.light-skin .logo-box .dark-logo,
.light-skin .main-header .dark-logo {
  display: none !important;
}

.light-skin .onegov-sidebar-logo-box .light-logo,
.light-skin .logo-box .light-logo,
.light-skin .main-header .light-logo {
  display: block !important;
}

body.dark-skin .onegov-sidebar-logo-box .light-logo,
html[data-theme="dark"] .onegov-sidebar-logo-box .light-logo,
body.dark-skin .logo-box .light-logo,
html[data-theme="dark"] .logo-box .light-logo,
body.dark-skin .main-header .light-logo,
html[data-theme="dark"] .main-header .light-logo {
  display: none !important;
}

body.dark-skin .onegov-sidebar-logo-box .dark-logo,
html[data-theme="dark"] .onegov-sidebar-logo-box .dark-logo,
body.dark-skin .logo-box .dark-logo,
html[data-theme="dark"] .logo-box .dark-logo,
body.dark-skin .main-header .dark-logo,
html[data-theme="dark"] .main-header .dark-logo {
  display: block !important;
}


.main-sidebar {
  padding-top: 0px !important;
  border-top-right-radius: 0px !important;
}

/* Sidebar toggle icon switching (panel-left-close when open, panel-left-open when closed) */
.push-btn .icon-close,
.push-btn .icon-open,
.push-btn [data-lucide="panel-left-close"],
.push-btn [data-lucide="panel-left-open"],
[data-toggle="push-menu"] .icon-close,
[data-toggle="push-menu"] .icon-open,
[data-toggle="push-menu"] [data-lucide="panel-left-close"],
[data-toggle="push-menu"] [data-lucide="panel-left-open"] {
  width: 20px !important;
  height: 20px !important;
  font-size: 20px !important;
  stroke: currentColor;
}

@media (min-width: 992px) {
  body:not(.sidebar-collapse) .push-btn .icon-open,
  body:not(.sidebar-collapse) .push-btn [data-lucide="panel-left-open"],
  body:not(.sidebar-collapse) [data-toggle="push-menu"] .icon-open,
  body:not(.sidebar-collapse) [data-toggle="push-menu"] [data-lucide="panel-left-open"] {
    display: none !important;
  }
  body:not(.sidebar-collapse) .push-btn .icon-close,
  body:not(.sidebar-collapse) .push-btn [data-lucide="panel-left-close"],
  body:not(.sidebar-collapse) [data-toggle="push-menu"] .icon-close,
  body:not(.sidebar-collapse) [data-toggle="push-menu"] [data-lucide="panel-left-close"] {
    display: inline-flex !important;
  }

  body.sidebar-collapse .push-btn .icon-close,
  body.sidebar-collapse .push-btn [data-lucide="panel-left-close"],
  body.sidebar-collapse [data-toggle="push-menu"] .icon-close,
  body.sidebar-collapse [data-toggle="push-menu"] [data-lucide="panel-left-close"] {
    display: none !important;
  }
  body.sidebar-collapse .push-btn .icon-open,
  body.sidebar-collapse .push-btn [data-lucide="panel-left-open"],
  body.sidebar-collapse [data-toggle="push-menu"] .icon-open,
  body.sidebar-collapse [data-toggle="push-menu"] [data-lucide="panel-left-open"] {
    display: inline-flex !important;
  }
}

@media (max-width: 991px) {
  body:not(.sidebar-open) .push-btn .icon-close,
  body:not(.sidebar-open) .push-btn [data-lucide="panel-left-close"],
  body:not(.sidebar-open) [data-toggle="push-menu"] .icon-close,
  body:not(.sidebar-open) [data-toggle="push-menu"] [data-lucide="panel-left-close"] {
    display: none !important;
  }
  body:not(.sidebar-open) .push-btn .icon-open,
  body:not(.sidebar-open) .push-btn [data-lucide="panel-left-open"],
  body:not(.sidebar-open) [data-toggle="push-menu"] .icon-open,
  body:not(.sidebar-open) [data-toggle="push-menu"] [data-lucide="panel-left-open"] {
    display: inline-flex !important;
  }

  body.sidebar-open .push-btn .icon-open,
  body.sidebar-open .push-btn [data-lucide="panel-left-open"],
  body.sidebar-open [data-toggle="push-menu"] .icon-open,
  body.sidebar-open [data-toggle="push-menu"] [data-lucide="panel-left-open"] {
    display: none !important;
  }
  body.sidebar-open .push-btn .icon-close,
  body.sidebar-open .push-btn [data-lucide="panel-left-close"],
  body.sidebar-open [data-toggle="push-menu"] .icon-close,
  body.sidebar-open [data-toggle="push-menu"] [data-lucide="panel-left-close"] {
    display: inline-flex !important;
  }
}
