@font-face {
  font-family: "Ronnia";
  src: url("/assets/fonts/ronnia-basic.otf");
  font-style: normal;
  font-weight: 200, 400, 600, 800;
  font-display: swap;
}

:root {
  /* --primary-color: #332876; */
  --primary-color: #304577;
  --secondary-color: #08bbcf;
  --white-color: #fff;
  --black-color: #000000;
  --calander-background: #ced4da;
  --admin-background: #f1ebdf;
  --red-color: #ff0000;
  --light-blue-color: #d7eff5;
  --font-10: 10px;
  --font-11: 11px;
  --font-12: 12px;
  --font-13: 13px;
  --font-14: 14px;
  --font-15: 15px;
  --font-16: 16px;
  --font-18: 18px;
  --font-20: 20px;
  --font-30: 30px;
}

body {
  font-family: 'Nunito Sans', "Ronnia", sans-serif !important;
}

.fw-bold {
  font-weight: 700 !important;
}

.fw-semibold {
  font-weight: 500 !important;
}

.text-end {
  text-align: right !important;
}

body .btn.focus,
body .btn:focus {
  box-shadow: 0 0 0 1px rgb(38 143 255 / 24%);
}

a {
  text-decoration: none !important;
}

.text-red {
  color: var(--red-color);
}

.text-white {
  color: var(--white-color);
}

.font-11 {
  font-size: var(--font-11);
}

.font-12 {
  font-size: var(--font-12);
}

.font-16 {
  font-size: var(--font-16);
}

.font-18 {
  font-size: var(--font-18);
}

.font-14 {
  font-size: var(--font-14);
}

.weight-600 {
  font-weight: 600;
}

.heading {
  font-size: var(--font-30);
  color: var(--primary-color);
}

.color-red {
  color: var(--red-color);
}

.font-500 {
  font-weight: 500;
}

.font-600 {
  font-weight: 600;
}

.overflow-wrap {
  overflow-wrap: anywhere;
}

.btnPrimary {
  background-color: var(--primary-color);
  border-radius: 40px;
  color: var(--white-color);
  border: none;
}

.btnPrimary.btnVideo {
  width: 85px;
  padding: 4px 0;
  font-size: 14px;
}

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

.border-color-light-blue {
  border-color: var(--light-blue-color);
}

.text-color-light-blue {
  color: var(--light-blue-color);
}

.text-color-secondary {
  color: var(--secondary-color);
}

.color-black {
  color: #232323;
}

.color-grey {
  color: #ccc !important;
}

.nowrap {
  white-space: nowrap;
}

.font-900 {
  font-weight: 900;
}

.loginbody {
  background-image: url("/assets/wallpaper/ESHS-Wallpaper-1920px-x-1500px-Purple-Gradient.jpg");
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

img {
  max-width: 100%;
}

.stripe {
  background-color: var(--white-color);
}

.terms {
  padding-top: 5rem;
  padding-bottom: 1rem;
}

.btn.primary-btn {
  background-color: var(--primary-color);
  color: var(--white-color);
  min-width: 161px;
}

.btn.primary-btn:hover {
  /* Keep the fill on hover — Bootstrap's base .btn:hover otherwise sets
     background-color: transparent, hiding the white label. */
  background-color: var(--primary-color);
  color: var(--white-color);
  filter: brightness(0.94);
}

.btn.secondary-btn {
  background-color: var(--secondary-color);
  color: var(--white-color);
  min-width: 161px;
}

.btn.secondary-sm-btn {
  background-color: var(--secondary-color);
  color: var(--white-color);

}

.btn.secondary-btn:hover {
  /* Keep the fill on hover — Bootstrap's base .btn:hover otherwise sets
     background-color: transparent, hiding the white label. */
  background-color: var(--secondary-color);
  color: var(--white-color);
  filter: brightness(0.94);
}

.btn.btn-sm-own {
  font-size: var(--font-12);
  min-width: auto;
  min-height: auto;
}

.alert-box-wrapper {
  position: fixed;
  right: 20px;
  z-index: 999999;
  top: 30px;
}

.alert-list.success {
  background: rgba(0, 128, 0, 0.9);
}

.alert-list.error {
  background: rgba(220, 10, 10, 0.9);
}

.alert-box-wrapper .alert-list {
  /* margin-bottom: 15px; */
  font-size: 14px;
  padding: 12px 15px 15px;
  color: #fff;
  box-shadow: 0 0 5px #ddd;
  border-radius: 4px;
  position: fixed;
  /* left: 0; */
  right: 15px;
  top: 15px;
  min-width: 150px;
  /* bottom: 0; */
  text-align: right;
  text-align: center;
}

.loader-wrapper {
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.4);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 55555;
}

.loader {
  border: 4px solid #f3f3f3;
  border-radius: 50%;
  border-top: 4px solid var(--primary-color);
  width: 40px;
  height: 40px;
  -webkit-animation: spin 2s linear infinite;
  animation: spin 2s linear infinite;
}

@-webkit-keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
  }

  100% {
    -webkit-transform: rotate(360deg);
  }
}

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

  100% {
    transform: rotate(360deg);
  }
}

.tablehead {
  display: none;
}

.tablevideo {
  margin-left: 20%;
  margin-right: 20%;
}

.button {
  border-radius: 50%;
}

.form-input {
  /* position: absolute; */
  border-radius: 1rem;
  /* margin-bottom: 5px; */
}

.btn-label {
  display: inline-block;
  padding: 10px 2rem;
  margin: 0.5rem;
  cursor: pointer;
  color: #292929;
  border: 1px solid var(--secondary-color);
  border-radius: 40px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.btn-label p {
  font-size: 1rem;
  padding-bottom: 0rem;
  margin-bottom: 0;
}

.btn-label:hover,
.radio-wrapper input[type="radio"]:checked+label {
  background: var(--secondary-color);
  color: var(--white-color);
}

.btn-label:active {
  -webkit-transform: translateY(2px);
  transform: translateY(2px);
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.2),
    inset 0px -1px 0 rgba(0, 0, 0, 0.22);
}

.hidden {
  display: none;
}

#btnMale:checked+.btn-label {
  background: rgb(0, 177, 203);
  background: var(--secondary-color);
  color: #efefef;
}

#btnMale:checked+.btn-label:hover {
  background: rgb(0, 177, 203);
  background: var(--secondary-color);
  color: #e2e2e2;
}

#btnFemale:checked+.btn-label {
  background: rgb(0, 177, 203);
  background: var(--secondary-color);
  color: #efefef;
}

#btnFemale:checked+.btn-label:hover {
  background: rgb(0, 177, 203);
  background: var(--secondary-color);
  color: #e2e2e2;
}

#btnOther:checked+.btn-label {
  background: rgb(0, 177, 203);
  background: var(--secondary-color);
  color: #efefef;
}

#btnOther:checked+.btn-label:hover {
  background: rgb(0, 177, 203);
  background: var(--secondary-color);
  color: #e2e2e2;
}

#btnUnspecified:checked+.btn-label {
  background: rgb(0, 177, 203);
  background: var(--secondary-color);
  color: #efefef;
}

#btnUnspecified:checked+.btn-label:hover {
  background: rgb(0, 177, 203);
  background: var(--secondary-color);
  color: #e2e2e2;
}

.btn.btn-blue-own,
.btn.btn-blue-own:hover,
.btn.btn-blue-own:focus {
  background: rgb(104, 103, 149);
  background: linear-gradient(180deg,
      rgba(104, 103, 149, 1) 0%,
      rgba(50, 47, 145, 1) 45%);
  width: 100%;
  color: var(--white-color);
}

.btn-own-radius {
  border-radius: 40px;
}

.btn-own {
  min-height: 42px;
}

.regBtn {
  background: rgb(104, 103, 149);
  background: linear-gradient(180deg,
      rgba(104, 103, 149, 1) 0%,
      rgba(50, 47, 145, 1) 45%);
  border-radius: 40px;
  width: 100%;
  color: var(--white-color);
  margin-left: 0px;
  padding: 5px;
}

.btnFooter {
  /* background: linear-gradient(rgba(46, 35, 126, 1) 0%, rgba(7, 7, 8, 1) 100%);
   */
  background-color: var(--secondary-color);
  border-radius: 24px;
  color: var(--white-color);
  min-height: 50px;
  border: none;
}

.btnRed {
  background-color: var(--red-color);
  border-radius: 24px;
  color: var(--white-color);
  min-height: 50px;
  border: none;
}

.btnCancel {
  background: #eef2f3;
  border: 1px solid #bec5d3;
  box-sizing: border-box;
  border-radius: 21px;
  color: #9da2ad;
  height: 50px;
}

.justify-content-space-around {
  justify-content: space-around;
}

body .gmnoprint,
body .gm-fullscreen-control {
  display: none;
}

body .btn-blue-radiant,
body .btn-blue-radiant:hover,
body .btn-blue-radiant:focus {
  background: linear-gradient(180deg,
      rgba(46, 35, 126, 1) 0%,
      rgba(7, 7, 8, 1) 100%);
  color: var(--white-color);
}

.btnCancel.footer-width,
.btnFooter.footer-width {
  width: 150px;
}

.admin-header {
  background-color: var(--white-color);
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.5rem;
}

.admin-header p {
  display: inline;
}

.admin-portal {
  background-color: #dcdcdc;
  /* position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0; */
}

.wrapper {
  display: flex;
  height: initial;
  flex-wrap: wrap;
  /* min-height: calc(100vh - 50px); */
  min-height: 100vh;
  padding-top: 50px;
}

.datepicker-own .react-date-picker__wrapper {
  background: #fff;
  border: none;
  padding: 5.5px 10px;
  border-radius: 4px;
}

body .react-responsive-modal-closeButton {
  top: 22px;
  right: 27px;
  outline: none;
}

body .react-responsive-modal-closeButton svg {
  display: none;
}

.form-group-lg {
  min-height: 95px;
}

.modal-own .admin-banner,
.admin-modal .admin-banner {
  margin-bottom: 20px;
}

.table-type {
  margin-bottom: 2px;
}

.small-select {
  margin-left: 5px;
  min-width: 100px;
}

.hidden-on-map-select .MuiFormControl-root>label {
  transform: translate(20px, -6px) scale(0.75);
}

.hidden-on-map-select.show-item-page .MuiFormControl-root {
  min-width: 140px;
}

/* .small-select .MuiInputBase-input {
  padding: 5px 10px;
  background-color: #fff;
  padding-right: 30px;

}

.small-select .MuiSelect-select:focus {
  background-color: #fff;

} */

.radio-wrapper {
  background: #fff;
  /* padding: 20px 0; */
  border-radius: 4px;
}

.hidden-img {
  z-index: -22;
  position: absolute;
  opacity: 0;
}

/* .dashboard-main-wrapper{
  max-height: 100vh;
  overflow: hidden;
} */

.tick {
  font-size: 30px;
}

.tick>div {
  display: flex;
  justify-content: space-around;
}

body .tick-flip {
  min-width: 55px;
}

body .tick-flip-panel {
  color: #edebeb;
  background-color: var(--primary-color);
}

.overflow-hidden-own {
  overflow: hidden;
}

.tab-list>li {
  min-width: 200px;
  text-align: center;
  border: 1px solid rgb(155, 155, 155);
  padding: 10px 20px;
  cursor: pointer;
  transition: all 0.2s ease;
  margin-bottom: 20px;
}

.tab-list>li:first-child {
  border-radius: 5px 0 0 5px;
}

.tab-list>li:last-child {
  border-radius: 0px 5px 5px 0px;
}

.tab-list>li:hover {
  background-color: rgb(62 47 145 / 50%);
  color: var(--white-color);
  border-color: transparent;
}

.tab-list>li.active {
  background-color: var(--primary-color);
  color: #fff;
  border-color: transparent;
}

.zone-list-wrapper>li {
  display: flex;
  flex-wrap: wrap;
}

.styled-checkbox {
  position: absolute;
  opacity: 0;
}

.styled-checkbox+label {
  position: relative;
  cursor: pointer;
  padding: 0;
}

.styled-checkbox+label:before {
  content: "";
  margin-right: 10px;
  display: inline-block;
  vertical-align: text-top;
  width: 20px;
  height: 20px;
  background: white;
}

.styled-checkbox:hover+label:before {
  background: var(--primary-color);
}

.styled-checkbox:checked+label:before {
  background: var(--primary-color);
}

.styled-checkbox:disabled+label {
  color: #b8b8b8;
  cursor: auto;
}

.styled-checkbox:disabled+label:before {
  box-shadow: none;
  background: #ddd;
}

.styled-checkbox:checked+label:after {
  content: "";
  position: absolute;
  left: 5px;
  top: 11px;
  background: white;
  width: 2px;
  height: 2px;
  box-shadow: 2px 0 0 white, 4px 0 0 white, 4px -2px 0 white, 4px -4px 0 white,
    4px -6px 0 white, 4px -8px 0 white;
  transform: rotate(45deg);
}

.org-area-list>li {
  padding-bottom: 10px;
  padding-top: 10px;
  border-bottom: 1px solid #ddd;
}

.map-search-wrapper {
  position: absolute;
  left: 0;
  right: 0;
  top: 25px;
  z-index: 4;
  display: flex;
  width: 400px;
  flex-wrap: wrap;
  align-items: center;
  margin: auto;
}

.map-search-wrapper .map-search-input {
  position: relative;
  transform: none;
  left: 0;
  top: 0;
}

.map-search-wrapper .stores-list-wrapper {
  overflow: hidden;
  margin-top: 5px;
  background-color: #fff;
  border-radius: 10px;
}

.map-search-wrapper .stores-list-wrapper>li {
  padding: 8px 15px;
  cursor: pointer;
  transition: all 0.2s ease;
  border-bottom: 1px solid #ddd;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  font-size: var(--font-12);
}

.map-search-wrapper .stores-list-wrapper>li:hover {
  background-color: var(--primary-color);
  color: #fff;
}

.map-search-wrapper .stores-list-wrapper>li.active {
  background-color: red;
  color: #fff;
}

.sidebar {
  position: fixed;
  min-width: 260px;
  max-width: 260px;
  min-height: 100vh;
  transition: margin-left 0.35s ease-in-out, left 0.35s ease-in-out,
    margin-right 0.35s ease-in-out, right 0.35s ease-in-out;
  background: #322f91;
  display: flex;
  flex-direction: column;
  align-items: center;
  bottom: 0px;
  top: 50px;
}

.sidebar-text {
  display: inline;
  font-size: 14px;
}

.sidebar-logo {
  size: 100px;
}

.sidebar.collapsed,
.active.wrapper .sidebar {
  margin-left: -260px;
}

.upload-media-dashed .upload-btn-dashed {
  display: block;
  text-align: center;
  padding: 40px 15px;
  border: 2px dashed #a0a0a0;
  border-radius: 3px;
}

.upload-btn .upload-btn-txt {
  border: 1px solid #ddd;
  background-color: #f3f3f3;
  min-width: 100px;
  padding: 8px 12px;
  pointer-events: none;
}

.upload-btn-dashed {
  display: block;
  text-align: center;
  padding: 1rem 0;
  border: 2px dashed #a0a0a0;
  border-radius: 3px;
  position: relative;
}

.upload-media-dashed input {
  height: 100%;
  width: 100%;
}

.upload-input {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  opacity: 0;
  max-width: 100%;
  width: 100%;
}

body .table .min-btn-xl {
  min-width: 145px;
}

.table-switch .toggle-label {
  margin-bottom: 0;
  margin-top: 5px;
}

.arecode-list {
  max-height: 140px;
  overflow-y: auto;
  border-bottom: 1px solid #e9e9e9;
  padding-bottom: 5px;
  margin-bottom: 15px;
}

.arecode-list>li:not(:last-child) {
  margin-bottom: 5px;
  padding-bottom: 5px;
  padding-left: 3px;
  border-bottom: 1px solid #e9e9e9;
}

.arecode-list>li:last-child {
  padding-left: 3px;
}

.no-data-available {
  border: 1px solid rgba(0, 0, 0, 0.23);
  padding: 10px;
  text-align: center;
  font-weight: bold;
  border-radius: 4px;
}

.main {
  /* height: 89.6vh; */
  width: calc(100% - 260px);
  padding: 0 1rem 1rem;
  margin-top: 0;
  transition: all 0.2s ease-in-out;
  position: relative;
  margin-left: 260px;
}

.wrapper.active .main {
  width: 100%;
  margin-left: 15px;
}

.main-wrapper {
  background: var(--admin-background);
  padding-bottom: 1rem;
}

.sidebar::-webkit-scrollbar {
  width: 12px;
}

.sidebar::-webkit-scrollbar-track {
  border-radius: 10px;
}

.sidebar::-webkit-scrollbar-thumb {
  border-radius: 10px;
  background: #322f91;
}

.sidebar .sidebar-header div {
  margin-top: 2rem;
  align-self: start;
  padding-right: 7rem;
}

.sidebar ul {
  align-self: start;

  width: 100%;
}

.sidebar ul li {
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
}

.sidebar ul li .sidebar-link,
.sidebar .menu-inner-wrapper {
  padding: 8px 10px;
  font-size: 1em;
  display: block;
  color: #fff;
}

.sidebar .menu-inner-wrapper.active-tab,
.sidebar-submenu-list-wrapper .submenu-inner-wrapper.active-tab {
  box-shadow: 0 0 3px #ddd;
}

.sidebar .menu-inner-wrapper .sidebar-arrow-icon {
  font-size: 20px;
  transition: all 0.2s ease;
}

.sidebar .menu-inner-wrapper .sidebar-arrow-icon.active {
  transform: rotate(180deg);
}

.sidebar ul li .sidebar-link:hover {
  color: var(--primary-color);
  background: var(--white-color);
}

/* .sidebar ul li.active > a.sidebar-link[aria-expanded="true"] {
  color: var(--primary-color);
  background: var(--secondary-color);
} */

.active-tab {
  background-color: var(--white-color);
  color: var(--primary-color) !important;
}

/* .active-tab span {
  color: var(--primary-color) !important  ;
} */

.sidebar-link {
  color: var(--white-color);
  text-decoration: none !important;
}

.sidebar-link i {
  margin-right: 10px;
  size: 1px;
}

Link {
  text-decoration: none;
}

/* common css */

body .btn-own {
  border-radius: 25px;
  min-height: 42px;
  outline: none;
  /* width: 300px; */
}

.tab-wrapper-list>li {
  min-width: 150px;
  padding: 10px 20px;
  border-radius: 10px;
  background-color: #b0b0b0;
  color: #fff;
  cursor: pointer;
}

.tab-wrapper-list>li.active {
  background-color: var(--primary-color);
}

.tab-wrapper-list>li:first-child {
  border-radius: 10px 0 0 10px;
}

.tab-wrapper-list>li:last-child {
  border-radius: 0px 10px 10px 0px;
}

body .btn-own-admin {
  border-radius: 25px;
  min-height: 42px;
  outline: none;
}

.form-own .form-control {
  border-radius: 25px;
  min-height: 42px;
}

.form-own .form-group {
  min-height: 80px;
  margin-bottom: 0;
}

body .btn-secondary-own {
  /* background-color: #00bbcf;
  border-color: #00bbcf; */
  background-color: #d7eff5;
  border-color: #d7eff5;
}

body .btn-secondary-own:active,
body .btn-secondary-own:hover,
body .btn-secondary-own:focus {
  background-color: #d7eff5;
  border-color: #d7eff5;
}

body .btn-black {
  background-color: #0f0f0f;
  border-color: #0f0f0f;
}

body .btn-black:hover,
body .btn-black:focus {
  background-color: var(--black-color);
  border-color: var(--black-color);
}

.cursor {
  cursor: pointer;
}

.footer-logo {
  position: fixed;
  /* left: 0; */
  width: 260px;
  bottom: 0;
  padding: 15px;
  /* text-align: center; */
  display: flex;
  justify-content: space-between;
}

body .footer-logo img {
  max-height: 45px;
  margin-left: 0;
}

.footer-logo p {
  padding: 10px 20px 0 0;
}

/* login css */

.auth-screen-wrapper {
  /* background: url("../icons/bg-purple.jpg") repeat;
   */
  background-color: var(--primary-color);
  color: var(--white-color);
  min-height: 100vh;
  background-attachment: fixed;
}

.fix-width-wrapper {
  max-width: 350px;
}

.auth-body-wrapper .logo-wrapper {
  padding-top: 8vh;
}

.auth-body-wrapper .logo-wrapper img {
  width: 130px;
  margin-bottom: 4vh;
}

.login-send-otp-action {
  align-items: center;
  display: flex;
  justify-content: center;
}

.login-send-otp-action .btn {
  width: auto;
}

.reset-token-actions {
  align-items: center;
  display: flex;
  justify-content: center;
}

.reset-token-actions .btn {
  width: auto;
}

.reset-token-back-login {
  padding: 6px 0 16px;
  text-align: center;
}

.login-text {
  padding-top: 5vh;
  padding-bottom: 2vh;
}

.reg-screen-wrapper {
  min-height: calc(100vh);
  padding-top: 80px;
  /* background: url(../icons/bg-dark-blue.jpg) repeat;
  color: var(--white-color); */
  color: var(--primary-color);
}

.reg-screen-wrapper .radio-wrapper {
  padding-top: 0;
  padding-bottom: 0;
}

.own-datepicker {
  /* width: 300px; */
  height: 50px;
  border: 1px solid var(--secondary-color);
  border-radius: 40px;
}

.own-datepicker-admin {
  /* width: 300px; */
  height: 50px;
  border: 1px solid var(--secondary-color) !important;
  border-radius: 40px;
  background-color: var(--admin-background) !important;
}

.datepicker-label {
  position: absolute;
  font-size: 13px;
  top: -8px;
  left: 20px;
  background: white;
  padding: 0 5px;
}

.datepicker-label-admin {
  position: relative;
  font-size: 13px;
  top: 18px;
  left: 20px;
  padding: 0 5px;
  color: var(--primary-color);
  background-color: var(--admin-background);
}

.reg-btn-wrapper {
  display: flex;
  justify-content: space-between;
}

.reg-btn-wrapper>button {
  width: 140px;
  border-radius: 40px;
  min-height: 50px;
  border: none;
}

.reg-btn-wrapper button:first-child {
  background-color: #eef2f3;

  color: rgb(128, 128, 128);

  border: 1px solid rgba(128, 128, 128, 0.2);
}

.reg-btn-wrapper button:last-child {
  background-color: var(--secondary-color);

  color: var(--white-color);
}

.form-control.own-datepicker .react-date-picker__wrapper,
.form-control.own-datepicker-admin .react-date-picker__wrapper {
  border: none;
  padding-top: 1px;
  border-radius: 20px;
}

.own-datepicker .react-date-picker__wrapper,
.own-datepicker-admin .react-date-picker__wrapper {
  border: none;
  padding: 13px 20px 7px;
}

.form-control.own-datepicker-admin .react-date-picker,
.own-datepicker-admin .react-date-picker .form-control.own-datepicker .react-date-picker,
.own-datepicker .react-date-picker {
  display: flex;
  width: 100%;
  flex-wrap: wrap;
}

/* .form-group:nth-child(4) {
  margin-top: 1.2rem;
} */

.radio {
  display: inline;
}

.date-picker {
  border: 1px solid var(--black-color);
}

.error-text {
  color: #ff0000;
  font-size: 13px;
  margin-left: 1rem;
}

.reg-birthdate {
  display: block;
  position: relative;
  padding: 0.7rem;
  font-size: 0.9rem;
  border: 1px solid var(--calander-background);
  border-radius: 40px;
  height: 50px;
  width: 100%;
  /* margin-bottom: 1rem; */
  background: var(--white-color);
}

.reg-birthdate:focus {
  outline: none;
  border-color: #3acfff;
  box-shadow: 0 0 0 0.25rem rgba(0, 120, 250, 0.1);
}

/*admin main page*/

.admin-banner {
  background-color: var(--primary-color);
  color: var(--white-color);
  padding-left: 0.5rem;
  padding-top: 0.2rem;
  font-size: 20px;
  margin-bottom: 12px;
}

.admin-portal-new {
  background-color: #f9f9f9;
  font-size: 13px;
}

.admin-banner-new {
  color: #101010;
  padding-left: 0.5rem;
  padding-top: 0.2rem;
  font-size: 20px;
  margin-bottom: 12px;
  font-weight: 600;
}

.admin-search-new .search-wrapper-new .MuiOutlinedInput-root fieldset,
.admin-search-new .search-wrapper-new .input-box .MuiOutlinedInput-root:hover fieldset {
  border: 1px solid #e5e9ee !important;
  border-radius: 40px;
}

.admin-search-new .search-wrapper-new input {
  background-color: #fff;
  border-radius: 40px;
  color: #101010;
  font-size: 13px;
  min-width: 300px;
  min-height: 40px;
  height: 40px;
}

.admin-search-new .search-wrapper-new .MuiFormControl-root {
  display: flex;
}

.admin-search-new .search-wrapper-new label {
  color: #101010 !important;
  font-size: 13px;
}

.btn.btn-new {
  border-radius: 15px;
  padding: 8px 10px;
  min-width: 130px;
  font-size: 13px;
  min-height: 40px;
}

.admin-modal .admin-banner-new {
  color: var(--primary-color);
  border-bottom: 1px solid #ddd;
  padding-bottom: 10px;
  margin-bottom: 25px;
}

.react-responsive-modal-modal.admin-modal-new {
  padding-left: 0;
  padding-right: 0;
}

.scanner-modal-wrapper .react-responsive-modal-container {
  padding: 0 !important;
}

.scanner-modal-wrapper .react-responsive-modal-container .modal-own {
  height: 100%;
  padding: 0 !important;
  background-color: #f9f9f9;
}

.scanner-modal-wrapper .header-wrapper {
  position: relative;
  padding: 25px 15px;
}

.scanner-modal-wrapper .header-wrapper .heading {
  font-size: 20px;
  font-weight: 700;
}

.scanner-modal-wrapper .header-wrapper img {
  position: absolute;
  left: 15px;
  top: 20px;
  width: 30px;
  height: 30px;
}

.scanner-modal-wrapper .venue-details {
  box-shadow: 0 3px 3px #f9f9f9;
  padding-top: 8px;
  padding-bottom: 8px;
  margin-bottom: 15px;
  font-size: 13px;
}

.scanner-modal-wrapper .venue-details .heading-own {
  font-size: 16px;
  padding-bottom: 3px;
}

.carousal-heading {
  border-bottom: 1px solid #ddd;
  padding: 5px 15px 5px 0;
}

.scanner-modal-wrapper .carousel-details {
  padding-bottom: 40px !important;
}

.carousel-details .img-wrapper {
  padding: 15px;
}

.carousel-details .control-dots {
  bottom: -10px !important;
}

.carousel-details .control-dots .dot {
  opacity: 1 !important;
  box-shadow: none !important;
  width: 10px !important;
  height: 10px !important;
  background-color: #ddd !important;
}

.carousel-details .control-dots .dot.selected {
  background: #00bbcf !important;
}

.scanner-modal-wrapper .btn-contatiner {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 15px;
  background-color: #fff;
  border-top: 1px solid #ddd;
}

.carousel-details .carousal-heading .heading {
  font-size: 18px;
  font-weight: 700;
}

.breadcum-wrapper .path {
  position: relative;
}

.breadcum-wrapper .path::after {
  content: ">";
  padding-left: 7px;
  padding-right: 5px;
  pointer-events: none;
  color: #bababa;
}

.breadcum-wrapper .path a {
  color: #bababa;
}

.dropdown {
  width: 30px;
  /* Width of the dots container */
  cursor: pointer;
  /* Change cursor on hover */
}

.triple-dot {
  width: 4px;
  /* Width of each dot */
  height: 4px;
  /* Height of each dot */
  background-color: var(--secondary-color);
  /* Dot color */
  border-radius: 50%;
  /* Make dots circular */
  margin: 1px 0;
  /* Space between dots */
  transition: background-color 0.3s;
  /* Smooth transition for hover effect */
  display: block;
}

.dropdown:hover .triple-dot {
  background-color: var(--primary-color);
  /* Change color on hover */
}

.dropdown:hover {
  background-color: transparent !important;
}

.components li {
  font-size: 10px;
}

.sidebar .footer-logo {
  align-self: start;
}

.sidebar .footer-logo.superadmin-logo {
  align-self: start;
  position: relative;
  top: 35vh;
}

.modal-md {
  width: 500px;
  max-width: 100%;
}

img.sidebar-header-logo {
  max-width: 50%;
  max-height: 50%;
  display: inline-block;
  margin-left: 10px;
}

.img-upload-wrapper .img-upload-container {
  max-width: 200px;
}

.img-upload-wrapper .upload-area {
  background-color: #f9f9f9;
  padding: 10px;
  border: 2px dashed #ccc;
  border-radius: 5px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: center;
  position: relative;
  min-width: 200px;
  min-height: 200px;
}

.img-upload-wrapper .upload-area input {
  opacity: 0;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  cursor: pointer;
}

.whitespace-nowrap {
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

.btn-grey.btn {
  background-color: #eef2f3;
  border: 1px solid #b1b1b1;
}

/* Admin Control*/

.admin-controls {
  display: block;
  align-items: flex-start;
}

.admin-controls .admin-search {
  display: flex;
  align-items: flex-start;
}

.admin-controls .admin-search .search-label {
  padding-right: 10px;
  color: var(--primary-color);
}

.admin-controls .admin-search #search {
  padding: 1px 1px 1px 10px;
  height: 35px;
}

.admin-controls .admin-search #search:focus {
  outline: none;
  border-color: var(--secondary-color);
  box-shadow: 0 0 10px var(--secondary-color);
}

.admin-controls .admin-search .btn.secondary-btn {
  /* color: var(--black-color); */
  color: #fff;
  max-width: 50px;
  padding-right: 15px;
  min-width: initial;
  height: 42px;
  border-radius: 0 40px 40px 0;
  position: relative;
  /* right: 48px; */
}

.admin-controls .admin-add-new .link .btn.secondary-btn {
  color: black;
}

.min-mw-sm {
  min-width: 90px;
}

.sort-header i {
  opacity: 0;
  pointer-events: none;
  transition: all 0.2s ease;
  margin-left: 3px;
}

.pagination-list {
  margin-bottom: 0;
}

.jump-to-page .MuiSelect-selectMenu {
  padding: 8px;
  padding-right: 32px;
  padding: 8px;
  padding-right: 32px;
  min-width: 70px;
  box-sizing: border-box;
}

.sort-header.active i {
  opacity: 1;
  pointer-events: initial;
}

.admin-header {
  box-shadow: 0 0px 3px #c6c6c6;
}

/*Admin report*/

.admin-report {
  margin-left: 5px;
}

.react-date-picker__clear-button {
  display: none;
}

.admin-report label,
.date-picker-class label {
  padding-left: 0px;
  padding-right: 10px;
  font-size: 14px;
  margin-top: 10px;
}

.admin-report .filter-type label {
  margin-top: 3px;
}

.admin-report input {
  margin-right: 1.9rem;
  padding: 4px 7px 4px 7px;
  font-size: 0.9rem;
  border: 1px solid var(--calander-background);
  border-radius: 5px;
}

/*Table styles*/

.table-wrapper {
  display: block;
}

.table-admin .table-head {
  background-color: var(--secondary-color);
  color: var(--white-color);
  font-size: 13px;
  letter-spacing: 1px;
  white-space: nowrap;
}

.table-admin .user-data-report th {
  background-color: var(--secondary-color);
  color: var(--white-color);
  font-size: 13px;
  letter-spacing: 1px;
  white-space: nowrap;
}

.table-wrapper-scroll-y.table-scrollbar-report {
  position: relative;
  overflow-x: auto;
  width: 100%;
  /* max-height: 400px;  */
}

.table-wrapper-scroll-y {
  display: block;
}

.table-own {
  border: 1px solid #ddd;
}

.table-own .table {
  margin-bottom: 0;
}

.table-wrapper .table-type {
  /* padding-left: 1rem; */
  /* padding-top: 1rem; */
  font-weight: 700;

  color: var(--primary-color);
}

/* .table-wrapper div table tbody tr td button {
  border: none;
  background-color: transparent;
}


.override {
  text-align: center;
  vertical-align: middle;
  margin-left: 3.4rem;
}

/*add user*/
.form-admin {
  margin: 1rem;
}

.admin-form-input .form-control.form-input {
  margin-bottom: 1.5rem;
}

.admin-date .date {
  width: calc(100%);
}

.admin-form-input .admin-form-group {
  max-width: 400px;
  display: inline-block;
  margin: auto;
}

.form-admin .reg-birthdate {
  border-radius: 4px;
  height: 38px;
}

.form-admin div button:first-child {
  background-color: var(--primary-color);
  color: var(--white-color);
}

.form-admin .admin-btn {
  margin: 2rem 23rem 0 23rem;
  display: flex;
  justify-content: space-around;
}

.form-admin .admin-btn button:last-child {
  background-color: var(--secondary-color);
  color: var(--white-color);
}

/*add stores*/
.wrapper-add-stores {
  display: flex;
  flex-wrap: wrap;
  /* height: 60vw; */
}

.main.add-stores {
  height: 58vw;
}

input#isHidden {
  height: 40px;
  width: 50px;
  display: block;
}

input#isActive {
  height: 40px;
  width: 50px;
  display: block;
}

.admin-btn {
  padding-top: 2rem;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1rem;
}

.admin-btn .admin-back-btn {
  width: 100px;
  color: var(--white-color);
  background-color: var(--primary-color);
}

.admin-btn .admin-submit-btn {
  width: 100px;
  color: var(--white-color);
  background-color: var(--secondary-color);
}

.admin-form-label {
  font-size: 16px;
  color: var(--primary-color);
  letter-spacing: 0.5px;
}

.error-msg .error-msg-text {
  color: var(--red-color);
  display: inline-block;
  margin-bottom: 0px;
  font-size: 14px;
}

/*add pincodes*/

.actions {
  white-space: nowrap;
}

.add-pincodes .actions {
  white-space: nowrap;
}

/*add admin*/

.admin-select #org {
  display: block;
}

.btn.secondary-btn.modal-btn {
  /* color: var(--black-color); */
  color: #fff;
}

/*modal*/
.admin-modal {
  position: relative;
  overflow: auto;
  /* margin-right: 40px; */
  /* max-height: 600px; */
}

.modal-own.react-responsive-modal-modal {
  border-radius: 4px;
  width: 600px;
}

.form-own .own-textarea.form-group {
  min-height: 180px;
}

/* .form-own .own-textarea textarea {
  padding: 0.75rem;
  resize: none;
  border: 1px solid var(--secondary-color);
} */

.mark-input-wrapper label {
  font-size: var(--font-13);
  margin-bottom: 0;
}

.mark-input-wrapper {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.5rem;
  padding-top: 7px;
}

.mark-input-wrapper input {
  height: 16px;
  width: 16px;
}

body .form-control:focus {
  box-shadow: none;
  border-color: var(--secondary-color);
}

/* pagination css */

.pagination-btn-wrapper .btn {
  border: 1px solid hsla(0, 0%, 59.2%, 0.2);
  background-color: hsla(0, 0%, 84.7%, 0.2);
  color: #737373;
  font-size: 14px;
  font-weight: 500;
  border-radius: 0;
}

.prev-next-btn .btn {
  min-width: 85px;
}

.show-item-page .MuiFormControl-root {
  min-width: 160px;
}

.show-item-page .MuiSelect-root {
  padding: 0px;
  margin-left: 8px;
}

/*dashboard*/
/* .setting-own {
  position: absolute;
  bottom: 45px;
  left: 15px;
  color: var(--primary-color);
  font-size: 30px;
  height: 45px;
  width: 45px;
  border-radius: 50%;
  background-color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 0 3px rgb(156, 156, 156);
} */

.setting-modal-own {
  width: 100%;
  height: 100%;
  padding: 0;
  margin: 0;
}

.dashboard-tab-wrapper>li {
  background-color: var(--primary-color);
  flex: 1;
  text-align: center;
  padding: 15px;
  color: #fff;
  transition: all 0.2s ease;
}

.dashboard-tab-wrapper>li.active {
  background-image: linear-gradient(var(--secondary-color), #0169ac);
  background-color: #0169ac;
}

.store-list-wrapper.full {
  bottom: 0;
}

.store-distance {
  font-weight: 600;
  color: var(--secondary-color);
  padding-left: 5px;
}

.flex-1 {
  flex: 1;
}

.store-list-wrapper {
  position: relative;
  /* max-height: calc(100vh - 55px); */
  width: 300px;
  z-index: 55;
  background-color: #fff;
  /* box-shadow: 0 0 3px #ddd; */
  transition: all 0.3s ease;
  overflow-y: auto;
}

.mobile-view.store-list-wrapper {
  max-height: 40vh;
}

.store-list-button {
  position: fixed;
  right: 55px;
  bottom: 25px;
  padding: 15px 30px;
  background-color: #fff;
  z-index: 53;
  color: var(--primary-color);
  box-shadow: 0 0 3px #ddd;
  transition: all 0.3s ease;
  border-radius: 5px;
}

.store-list-wrapper .cross-wrapper {
  text-align: right;
  padding-top: 10px;
  padding-right: 15px;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
}

.store-list-wrapper.active {
  top: 0;
}

.map-detail-wrapper .store-name {
  font-weight: 900;
  padding-bottom: 5px;
  font-size: var(--font-14);
}

.map-detail-wrapper {
  font-size: var(--font-12);
}

.map-detail-wrapper .store-direction {
  padding-top: 5px;
  font-weight: 600;
  color: var(--primary-color);
  font-size: var(--font-14);
  cursor: pointer;
}

.map-info-wrapper {
  max-width: 280px;
}

.map-info-wrapper .store-direction {
  padding-top: 8px;
  font-weight: 600;
  color: var(--primary-color);
  font-size: var(--font-14);
  cursor: pointer;
}

.store-list-wrapper .list-wrapper {
  padding-top: 10px;
  /* padding-bottom: 10px; */
  margin-bottom: 0;
  overflow-y: auto;
}

.store-list-wrapper .list-wrapper>li {
  padding: 15px 15px;
  border-bottom: 1px solid #ddd;
}

.map-marker-own {
  font-size: 20px;
  color: red;
}

/*video list screen*/

.video-list-wrapper {
  margin-top: 90px;
  max-width: 100%;
  padding-bottom: 150px;
  width: 500px;
}

.video-list-wrapper .btnFooter {
  min-width: 300px;
}

.access-wrapper.less-padding {
  padding-bottom: 1rem;
}

.fixed-bottom .btn-min-lg {
  min-width: 300px;
}

.video-list .video-group .text-style {
  color: var(--black-color);
  font-weight: 600;
  padding-top: 10px;
  padding-bottom: 10px;
}

.video-list .video-group {
  height: 70px;
  margin-bottom: 20px;
  /* border: 1px solid rgba(0, 0, 0, 0.2); */
  box-shadow: 0px 2px 9px 1px #ece6e6;
  padding-left: 15px;
  border-radius: 12px;
}

.video-group .btnFooter {
  min-width: 100px;
  min-height: auto;
}

.access-wrapper {
  display: inline;
  padding-bottom: 100px;
  padding-top: 1rem;
  background-color: #fff;
  border-top: 1px solid #ddd;
}

body .fixed-bottom,
body .fixed-top {
  z-index: 10;
}

.checklist {
  color: var(--primary-color);
}

.video-player {
  padding: 2rem;
}

.video-wrapper {
  display: flex;
}

.video-wrapper.user-video .video-name {
  color: var(--primary-color);
  padding-top: 28px;
}

/*quiz */
.quiz-question-wrapper {
  position: relative;
  padding-top: 10px;
  max-width: 480px;
  padding-bottom: 16px;
  overflow: hidden;
  /* Prevent any content from overflowing */
}

/* First child styling */
.first-question {

  /* border-left: 5px solid #007bff; */
  padding-top: 20vh;
  /* Extra padding */
  overflow: hidden;
  /* Prevent any content from overflowing */
}

/* Last child styling */
.last-question {

  /* border-right: 5px solid #28a745; */
  padding-bottom: 20vh;
  /* Extra padding */
  overflow: hidden;
  /* Prevent any content from overflowing */
}


.quiz-wrapper {
  position: relative;
  padding-top: 25vh;
  max-width: 450px;
  padding-bottom: 65px;
}

.quiz-icon {
  display: flex;
  margin-top: 7px;
  position: absolute;
  color: var(--secondary-color);
  border-radius: 50%;
  background-color: var(--white-color);
  height: 32px;
  width: 34px;
  font-size: 29px;
  justify-content: center;
  align-items: center;
  left: -34px;
}

.quiz-icon.icon-left {
  left: -22px;
}

.quiz-wrapper .quiz-group {
  border: 1px solid #ddd;
}

.quiz-wrapper .quiz-group .quiz-question {
  background-color: var(--secondary-color);
  color: var(--white-color);
  padding-top: 10px;
  padding-bottom: 10px;
}

.quiz-wrapper .quiz-group .quiz-answer-group {
  padding-left: 15px;
  padding-right: 15px;
  margin-bottom: 0;
}

.quiz-answer-group .quiz-answer {
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
  padding: 15px;
  display: flex;
}

.quiz-answer-group .quiz-answer:last-child {
  border-bottom: none;
}

.quiz-answer .quiz-radio {
  height: 25px;
  width: 25px;
}

.quiz-answer-group .quiz-answer .answer-text {
  flex: 1;
  font-size: 14px;
  padding-left: 2rem;
  font-weight: 600;
  cursor: pointer;
}

/* circular checkbox */
.round {
  position: relative;
}

.round .checkbox-round-label {
  background-color: #fff;
  border: 1px solid var(--primary-color);
  border-radius: 50%;
  height: 28px;
  left: 0;
  position: absolute;
  top: -4px;
  width: 28px;
}

.round .checkbox-round-label:after {
  border: 2px solid #fff;
  border-top: none;
  border-right: none;
  content: "";
  height: 6px;
  left: 7px;
  opacity: 0;
  position: absolute;
  top: 8px;
  transform: rotate(-45deg);
  width: 12px;
}

.round .checkbox-round {
  visibility: hidden;
}

.round .checkbox-round:checked+.checkbox-round-label {
  background-color: var(--primary-color);
  border-color: var(--primary-color);
}

.round .checkbox-round:checked+.checkbox-round-label:after {
  opacity: 1;
}

.video-text {
  padding-top: 20px;
}

/* .progress {
  padding-bottom: 40px;
} */
.primary-color {
  color: var(--primary-color);
}

.user-modal-btn {
  padding-top: 20px;
}

/*progressbar*/
.progress-own {
  height: 10px;
  border-radius: 5px;
  border: 1px solid rgb(189, 113, 113);
  overflow: hidden;
  position: relative;
}

.progress-own .progress-bar-own {
  height: 100%;
  display: block;
  line-height: 30px;
  position: absolute;
  text-align: end;
  padding-right: 5px;
  background: rgb(0, 187, 207);
  background: linear-gradient(90deg,
      rgba(0, 187, 207, 1) 0%,
      rgba(62, 47, 145, 1) 100%);
}

/*settings*/
.settings-wrapper {
  position: relative;
}

.settings-menu-list>li {
  box-shadow: 0px 2px 4px 1px #f7efef;
  color: var(--black-color);
  font-weight: 800;
  letter-spacing: 1px;
  display: flex;
  align-items: center;
  margin-bottom: 2rem;
  padding: 10px;
  border-radius: 5px;
}

.settings-menu-list .settings-icons {
  width: 40px;
  height: 40px;
  color: var(--secondary-color);
  background: #00bbcf1c;
  font-size: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 20px;
}

.own-datepicker .react-date-picker {
  z-index: 33;
}

.count-down-wrapper {
  display: flex;
  text-align: center;
  justify-content: center;
  padding: 15px;
  flex-wrap: wrap;
  align-items: center;
}

.count-down-wrapper>div {
  padding-left: 6px;
  padding-right: 6px;
  font-size: 11px;
  box-sizing: content-box;
}

.map-search-input {
  box-sizing: border-box;
  border: 1px solid transparent;
  width: 400px;
  height: 48px;
  padding: 0px 12px;
  border-radius: 30px;
  box-shadow: rgb(0 0 0 / 30%) 0px 2px 6px;
  font-size: 14px;
  outline: none;
  position: absolute;
  left: 50%;
  top: 10px;
  transform: translateX(-50%);
}

.my-location-wrapper {
  position: absolute;
  z-index: 11;
  bottom: 25px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: white;
  padding: 7px;
  border-radius: 50%;
  height: 35px;
  width: 35px;
  left: 10px;
  box-shadow: 0 0 5px #b0b0b0;
}

.timer-section-wrapper {
  color: var(--primary-color);
  font-size: var(--font-20);
  margin: 20vh auto 15px;
}

.timer-wrapper {
  width: 200px;
  height: 200px;
  border: 6px solid var(--secondary-color);
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  font-size: 20px;
  margin-top: 25px;
}

.dashboard-controls-wrapper {
  position: absolute;
  right: 10px;
  bottom: 20px;
  z-index: 5;
}

.next-eligible-heading {
  text-align: center;
}

.dashboard-notify-wrappper {
  padding-top: 20vw;
  padding-bottom: 20px;
}

.next-eligible-heading .text-container {
  position: relative;
  display: inline-block;
  margin-top: 1vh;
  margin-bottom: 0;
  padding-bottom: 10px;
}

.next-eligible-heading .text-container:before {
  /* content: "";
  position: absolute;
  left: -10px;
  right: -10px;
  bottom: -2px;
  border-bottom: 2px solid #ddd; */
}

.gm-style img {
  outline: none !important;
}

.setting-own {
  height: 35px;
  width: 35px;
  border-radius: 50%;
  box-shadow: 0 0 4px #c6c6c6;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #fff;
  color: var(--primary-color);
  font-size: 22px;
}

.store-list-button {
  position: relative;
  right: 0;
  box-shadow: none;
  font-size: 20px;
  padding: 0;
  bottom: 0;
}

.modal-own-wrapper .react-responsive-modal-modal {
  margin: 0;
}

.modal-own-wrapper .react-responsive-modal-container {
  padding: 1rem;
}

.confirm-modal {
  z-index: 60000 !important;
}

.confirm-modal .react-responsive-modal-overlay {
  z-index: 60000 !important;
}

.confirm-modal .react-responsive-modal-container {
  z-index: 60001 !important;
}

.confirm-modal .react-responsive-modal-modal {
  z-index: 60002 !important;
}

.auth-terms-modal {
  z-index: 1000000 !important;
}

.auth-terms-modal .react-responsive-modal-overlay {
  z-index: 1000000 !important;
}

.auth-terms-modal .react-responsive-modal-container {
  z-index: 1000001 !important;
}

.auth-terms-modal .react-responsive-modal-modal {
  z-index: 1000002 !important;
}

.checkbox-own {
  width: 30px;
}

/*Termsans conditions*/
.terms-head {
  color: var(--secondary-color);
  text-transform: uppercase;
}

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

body .success-modal {
  width: 450px;
  max-width: 100%;
}

body .react-responsive-modal-closeButton:before {
  content: "\f00d";
  font-family: "Font Awesome 5 Pro";
  font-style: normal;
  font-weight: normal;
  text-decoration: inherit;
  /*--adjust as necessary--*/
  color: #fff;
  font-size: 18px;
}

body .white-header-strip .react-responsive-modal-closeButton:before {
  color: var(--primary-color);
}

.table-data-status {
  min-width: 85px;
}

.table-isactive {
  color: #3bae00;
  font-weight: 700;
}

.table-isinactive {
  color: var(--red-color);
  font-weight: 700;
}

.halt-message {
  min-height: calc(100vh - 112px);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  color: var(--primary-color);
  justify-content: center;
  width: 400px;
  max-width: 100%;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  padding: 15px;
}

body .grey-btn {
  background-color: #ddd !important;
}

.min-width-btn-md {
  min-width: 300px;
}

.min-width-btn-xs {
  min-width: 150px;
}

.form-own-group .MuiFormControl-root {
  width: 100%;
}

body .min-height-lg {
  min-height: 50px;
}

.halt-txt {
  padding: 15px;
  border: 1px solid #ddd;
}

body .black-cross-btn-modal .react-responsive-modal-closeButton:before {
  color: var(--primary-color);
}

.input-box input {
  width: 100%;
  height: 50px;
  padding-left: 20px;
  color: white;
  outline: none;
  box-sizing: border-box;
}

.input-box .MuiOutlinedInput-root fieldset,
.input-box .MuiOutlinedInput-root:hover fieldset {
  border: 1px solid #08bbcf !important;
  border-radius: 40px;
}

.login-page .input-box .MuiOutlinedInput-root fieldset,
.login-page .input-box .MuiOutlinedInput-root:hover fieldset {
  border: 1px solid var(--light-blue-color) !important;
  border-radius: 40px;
}

.input-box .MuiInputLabel-root {
  top: -3px;
}

.admin-search .input-box .MuiInputLabel-root {
  top: -7px;
}

.input-box .MuiInputLabel-root.MuiFormLabel-filled,
.admin-search .input-box .MuiInputLabel-root.MuiFormLabel-filled,
.admin-search .input-box .MuiInputLabel-root.Mui-focused,
.input-box .MuiInputLabel-root.Mui-focused {
  top: 0;
}

label.input-label {
  position: relative;
  top: 20px;
  left: 20px;
  font-size: 13px;
  padding: 1px 5px;
}

input.input-box.primary,
label.input-label.primary {
  background-color: var(--primary-color);
}

input:-webkit-autofill,
input:-webkit-autofill:focus {
  transition: background-color 600000s 0s, color 600000s 0s;
}

input.input-box.white,
label.input-label.white {
  background-color: var(--white-color);
  color: var(--primary-color);
}

label.input-label.admin,
input.input-box.admin {
  background-color: var(--admin-background);
  color: var(--primary-color);
}

.form-group .input-wrapper,
.form-group .own-datepicker,
.form-group.reg-date .input-wrapper {
  /* width: 300px; */
}

.width-300 {
  width: 300px;
}

.font-13 {
  font-size: 13px;
}

.disabled-background {
  background-color: #c5c5c5;
}

.form-own-group {
  position: relative;
}

.form-own-group .select-own-label {
  position: relative;
  top: 18px;
  left: 23px;
  font-size: 13px;
  padding: 1px 5px;
  background: var(--white-color);
  color: var(--primary-color);
}

.form-control.select-own {
  height: 50px;
  border: 1px solid var(--secondary-color);
}

.report-search-wrapper {
  display: flex;
  align-items: flex-end;
}

.report-search-wrapper .btn {
  background-color: var(--secondary-color);
  color: var(--white-color);
  height: 55px;
  border-radius: 0 40px 40px 0;
  position: relative;
  right: 0px;
}

.search-wrapper .input-wrapper {
  width: 315px;
  padding-right: 25px;
}

.pdf-viewer-wrapper {
  padding: 0 20px;
}

.venues-menu {
  display: flex;
  justify-content: space-around;
  border-bottom: 1px solid #dadfeb;
  margin-top: 15px;
}

.venues-menu .menu {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.venues-menu .menu .img-wrapper {
  width: 40.52px;
  height: 40.52px;
  border-radius: 37.5px;
  color: var(--white-color);
  display: flex;
  justify-content: center;
  align-items: center;
}

.venues-menu .menu p {
  font-weight: 600;
  font-size: 14px;
  line-height: 16px;
  padding-top: 8px;
  color: #969dab;
}

.venues-menu .menu.active p {
  color: var(--primary-color);
}

.dashboard-mobile-menu {
  background: #ffffff;
  border: 1px solid #e1eff8;
  border-radius: 8px 8px 0px 0px;
  width: 100%;
  height: 88px;
  position: fixed;
  bottom: 0;
  display: flex;
  color: #bcc1ca;
  justify-content: space-evenly;
}

.dashboard-mobile-menu .menu {
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
}

.dashboard-mobile-menu .menu.active {
  color: var(--primary-color);
}

.dashboard-mobile-menu .menu i {
  font-size: 20px;
  padding-bottom: 4px;
}

.dashboard-mobile-menu .menu div {
  font-size: 12px;
  letter-spacing: 1px;
}

.scanner-icon-wrapper {
  width: 55px;
  height: 55px;
  background-color: var(--secondary-color);
  border-radius: 37.5px;
  position: relative;
  bottom: 28px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.edu-comp-wrapper {
  /* background-color: #e5e5e559; */
  /* min-height: 100vh; */
  padding-top: 20px;
}

.msg-comp-wrapper {
  background-color: #e5e5e559;
  min-height: calc(100vh - 55px);
  padding-bottom: 120px;
  max-height: calc(100vh - 160px);
  overflow: auto;
}

.edu-comp-wrapper .menu-wrapper {
  background: #ffffff;
  box-shadow: 0px 4px 4px rgb(223 223 223 / 25%);
  display: flex;
  justify-content: space-evenly;
  height: 36px;
  align-items: center;
  font-size: 15px;
  line-height: 16px;
  border-radius: 20px;
}

.edu-comp-wrapper .menu-wrapper .menu {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
  color: var(--primary-color);
  flex: 1;
}

.edu-comp-wrapper .menu-wrapper .menu.active {
  color: #fff;
  background-color: var(--primary-color);
  border-radius: 20px;
}

.edu-comp-wrapper .menu-wrapper .menu .marker {
  width: 54.77px;
  height: 2px;
  background-color: var(--white-color);
}

.edu-comp-wrapper .menu-wrapper .menu.active .marker {
  background-color: var(--primary-color);
}

/* .search-wrapper {
  margin-top: 1rem;
} */

.search-msg-wrapper {
  padding: 1rem 2rem 0 2rem;
}

.edu-content-wrapper {
  max-height: calc(100vh - 220px);
  min-height: calc(100vh - 220px);
}

.edu-content-wrapper,
.msg-content-wrapper {
  padding: 0 2rem;
  max-height: calc(100vh - 220px);
  overflow-y: auto;
}

.search-wrapper input,
.search-msg-wrapper input {
  height: 42px;
  /* background: #ffffff;
  border: 1px solid #fff; */
  box-shadow: 0px 4px 10px rgba(223, 223, 223, 0.5);
  border-radius: 21px;
  width: 100%;
  font-size: 14px;
  color: #bec5d3;
  /* padding: 1px 40px; */
}

.search-wrapper .input-box .MuiOutlinedInput-root fieldset {
  /* padding: 1px 40px 1px 22px; */
  /* border: 1px solid #747474; */
  border-radius: 21px 0 0 20px;
}

.search-wrapper i,
.search-msg-wrapper i {
  position: relative;
  bottom: 32px;
  left: 12px;
  color: #bec5d3;
}

.player-wrapper .player-own {
  border-radius: 8px;
  height: 188.3px;
}

.player-wrapper .player-own .video-react-video {
  border-radius: 6px;
}

.doc-wrapper {
  height: 64.42px;
  background: #ffffff;
  box-shadow: 0px 4px 10px rgb(223 223 223 / 50%);
  border-radius: 5px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 10px 40px 10px 10px;
}

.msg-content {
  /* background: white; */
  background: #ffffff;
  box-shadow: 0px 4px 10px rgb(223 223 223 / 50%);
  border-radius: 5px;
  font-size: 14px;
  line-height: 22px;
  text-align: justify;
  padding: 10px 20px;
  font-weight: 500;
  position: relative;
}

.unread.msg-content::before {
  content: "";
  position: absolute;
  left: 10px;
  top: 18px;
  background: var(--primary-color);
  height: 5px;
  width: 5px;
  border-radius: 50%;
}

.custom-select-negative-top {
  margin-top: -33px;
}

.education-search-wrapper input {
  padding: 1px 15px 1px 35px;
  border-radius: 20px;
  color: #363636;
  border: 1px solid #ddd;
  transition: all 0.2s ease;
}

.education-search-wrapper input:focus,
.education-search-wrapper input:active {
  border-color: #ccc;
}

.bg-light-grey {
  background-color: #e5e5e559;
}

.mx-md-auto {
  max-width: 500px;
  margin-left: auto;
  margin-right: auto;
}

.own-textarea-wrapper .label-own {
  position: absolute;
  top: -10px;
  left: 20px;
  font-size: 13px;
  padding: 1px 5px;
  background-color: var(--white-color);
  color: var(--primary-color);
}

.own-textarea-wrapper .own-textarea {
  width: 100%;
  border-radius: 10px;
  padding-left: 20px;
  border: 1px solid #08bbcf;
  outline: none;
  padding-top: 10px;
}

/* width */
::-webkit-scrollbar {
  width: 5px;
  height: 5px;
  border-radius: 10px;
}

/* Track */
::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 10px;
}

/* Handle */
::-webkit-scrollbar-thumb {
  background: rgb(196, 196, 196);
  border-radius: 10px;
}

/* Handle on hover */
::-webkit-scrollbar-thumb:hover {
  background: #555;
}

.badge-own {
  background: #d60000;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 1px 5px 0px;
  border-radius: 10px;
  color: #fff;
  font-size: 10px;
  position: relative;
  top: -5px;
  left: -2px;
  min-width: 18px;
  min-height: 18px;
}

/* Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.form-own .form-group .input-box.primary .Mui-disabled {
  opacity: 0.9;
  -webkit-text-fill-color: var(--white-color);
  color: #fff;
}

/* Firefox */
input[type="number"] {
  -moz-appearance: textfield;
}

.react-responsive-modal-modal {
  border-radius: 5px;
}

.sidebar-container .sidebar-submenu-list-wrapper .sidebar-link {
  padding-left: 25px;
}

.stock-count {
  height: 40px;
  width: 150px;
  max-width: 100%;
  display: flex;
  justify-content: center;
  justify-content: space-evenly;
  align-items: center;
}

.stock-count.minus {
  border: 1px solid var(--red-color);
  color: var(--red-color);
}

.stock-count.plus {
  border: 1px solid green;
  color: green;
}

.stock-count.minus-active {
  border: 1px solid var(--red-color);
  color: var(--white-color);
  background: var(--red-color);
}

.stock-count.plus-active {
  border: 1px solid green;
  color: var(--white-color);
  background: green;
}

.own-editor-wrapper {
  border: 1px solid #ddd;
  border-radius: 5px;
}

.react-date-picker__inputGroup__leadingZero {
  font-size: 0.9rem;
}

.own-editor-wrapper .own-editor-box {
  padding: 15px;
}

.own-editor-wrapper .own-editor-box .public-DraftStyleDefault-block {
  margin: 0;
}

.own-editor-wrapper .own-editor-toolbar {
  border: none;
  border-bottom: 1px solid #ddd;
  border-radius: 5px 5px 0 0;
}

.input-wrapper {
  max-width: 200px;
}

.custom-search-wrapper .input-wrapper .search-icon {
  position: absolute;
  right: 10px;
  top: 10px;
  color: #ddd;
}

.back-btn {
  text-decoration: underline;
}

/* media queries */

@media only screen and (max-width: 767px) {
  .mobile-full-view {
    width: 100%;
    flex: none;
  }

  .video-wrapper {
    max-width: 350px;
  }

  .dashboard-tab-wrapper>li:first-child {
    border-radius: 8px 0 0 8px;
  }

  .dashboard-tab-wrapper>li:last-child {
    border-radius: 0 8px 8px 0;
  }

  .dashboard-notify-wrappper {
    padding-top: 30vh;
  }

  .video-modal-btn button {
    font-size: 12px;
    padding: 10px 20px;
    min-width: 100%;
  }

  /* body .btnFooter {
    min-width: initial;
  } */

  body .access-wrapper .btnFooter,
  body .fixed-bottom-own .btnFooter {
    min-width: 280px;
  }

  .video-wrapper .video-name {
    font-size: 15px;
    padding-top: 5rem;
  }

  .video-wrapper .video-player {
    padding: 0px;
    max-height: 180px;
  }

  .modal-own.react-responsive-modal-modal {
    width: 370px;
  }

  body .dashboard-menu {
    justify-content: center;
  }
}

@media (max-width: 40em) {
  .btn-label {
    padding: 0em 1em 3px;
    margin: 0.25em;
  }
}

@media only screen and (max-width: 1150px) {
  .table-wrapper .table-type {
    padding-right: 0px;
    white-space: nowrap;
  }
}

@media only screen and (max-width: 1085px) {
  .admin-controls .admin-search #search {
    width: 130px;
  }

  .admin-controls .admin-search .search-label {
    font-size: 15px;
  }
}

@media only screen and (min-width: 768px) {
  .video-list-wrapper {
    width: 700px;
  }
}

@media only screen and (max-width: 767px) {
  .setting-modal-own {
    width: 100%;
    padding-right: 2rem;
  }

  .confirm-modal .btn-wrapper .btn {
    display: block;
    width: 100%;
  }

  .modal-own-wrapper .react-responsive-modal-modal {
    margin: 0;
  }

  .modal-own-wrapper .react-responsive-modal-container {
    padding: 1rem;
  }

  .modal-own.react-responsive-modal-modal {
    border-radius: 4px;
    width: 100%;
  }

  .quiz-wrapper {
    padding: 100px 15px 65px;
  }

  .auth-body-wrapper .logo-wrapper img {
    width: 150px;
  }

  .map-search-wrapper {
    left: 10px;
    right: 10px;
    width: auto;
  }

  .map-search-input {
    width: 100%;
    /* border-radius: 8px; */
    top: 10px;
  }

  .store-list-wrapper.active {
    top: 10px;
  }

  .store-list-wrapper.full.active {
    top: 0;
  }
}

@media only screen and (min-width: 641px) {
  .sidebar {
    transition: all 0.2s ease-in-out;
  }
}

@media only screen and (max-width: 640px) {
  .sidebar {
    min-width: 50px;
    transition: all 0.2s ease-in-out;
    transition: all 0.5s ease-out;
  }

  .admin-header p {
    font-size: 15px;
    margin-bottom: 0.3rem;
  }

  .sidebar .sidebar-header div {
    display: none;
  }

  .sidebar.collapsed {
    display: none;
  }

  .sidebar-arrow .hamburger {
    display: none;
    white-space: pre;
  }

  .sidebar-text {
    /* font-size: 12px; */
    display: none;
  }

  .sidebar-icon {
    /* display: none; */
    font-size: 16px;
  }

  .wrapper .main {
    margin-left: 57px;
    width: calc(100% - 57px);
    margin-top: 0;
    padding-top: 0;
  }

  .main-wrapper .sidebar-arrow {
    left: 34px;
    top: 33px;
  }

  .btn-label p {
    padding-top: 1rem;
    padding-left: 1rem;
    padding-right: 1rem;
  }
}

.transaction-details-wrapper {
  box-shadow: 0 15px 15px -8px #ccc;
  border-radius: 5px;
  padding: 0 20px 10px 20px;
}

.description-container {
  overflow-y: auto;
  padding-right: 5px;
  padding-bottom: 5px;
}

/* ───────────────────────── ESHS LMS — learner auth ───────────────────────── */
.lms-auth-wrapper {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px 0;
}

.lms-auth-card {
  width: 100%;
  max-width: 460px;
  margin: 0 auto;
}

.fix-width-wrapper-lms {
  width: min(100%, 500px);
}

.lms-auth-title {
  font-size: 22px;
  font-weight: 700;
  text-align: center;
  margin: 6px 0 2px;
  color: var(--white-color, #fff);
}

.lms-auth-brand {
  margin-bottom: 8px;
}

.lms-auth-brand-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  max-width: 100%;
  flex-wrap: wrap;
}

.lms-auth-brand .logo {
  box-sizing: border-box;
  object-fit: contain;
  margin-bottom: 0;
}

.lms-auth-ec-logo {
  width: 82px;
  height: 82px;
}

.lms-auth-brand-divider {
  width: 1px;
  height: 46px;
  background: rgba(255, 255, 255, 0.38);
}

.lms-auth-org-brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  max-width: 230px;
}

.lms-auth-org-logo {
  flex: 0 0 auto;
  width: 82px;
  height: 82px;
  border-radius: 8px;
  background-color: #00a9b8;
  padding: 5px;
}

.lms-auth-org-name {
  color: var(--white-color, #fff);
  font-size: 17px;
  font-weight: 700;
  line-height: 1.25;
  margin-top: 0;
  text-align: left;
  word-break: break-word;
}

.lms-auth-sub {
  text-align: center;
  font-size: 14px;
  opacity: 0.85;
  margin: 0 0 12px;
  color: var(--white-color, #fff);
}

.lms-auth-hint {
  font-size: 13px;
  opacity: 0.85;
  color: var(--white-color, #fff);
  overflow-wrap: anywhere;
}

.lms-auth-hint.small {
  font-size: 12px;
}

.lms-auth-footer {
  text-align: center;
  padding: 8px 4px 4px;
  font-size: 13px;
  color: var(--white-color, #fff);
}

.lms-auth-link,
.lms-auth-linkbtn {
  color: var(--light-blue-color, #58c4e3);
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  text-decoration: underline;
  font-size: 13px;
}

.lms-auth-label {
  display: block;
  font-size: 13px;
  font-weight: 600;
  margin-bottom: 4px;
  color: var(--white-color, #fff);
}

.lms-auth-input.form-control {
  background: transparent;
  border: 1px solid var(--light-blue-color, #d7eff5);
  color: var(--white-color, #fff);
  height: 56px;
  border-radius: 40px;
  padding: 0 16px;
  box-shadow: none;
}

.lms-auth-input.form-control:focus {
  background: transparent;
  border-color: var(--light-blue-color, #58c4e3);
  box-shadow: none;
  color: var(--white-color, #fff);
}

.lms-auth-input.form-control:disabled {
  background: transparent;
  color: rgba(255, 255, 255, 0.65);
  opacity: 1;
}

select.lms-auth-input.form-control {
  appearance: none;
  -webkit-appearance: none;
  background-color: transparent;
  border-radius: 40px;
  font-size: 1rem;
}

.lms-auth-input.form-control option {
  background: #344b7d;
  color: #fff;
}

.lms-auth-input.form-control::placeholder {
  color: rgba(255, 255, 255, 0.68);
}

.lms-auth-input.is-invalid,
.lms-otp-box.is-invalid {
  border-color: var(--red-color, #e05353) !important;
}

.lms-auth-submit.btn {
  height: 46px;
  border-radius: 24px;
  font-weight: 600;
  margin-top: 6px;
}

.lms-auth-grid2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 14px;
}

@media (max-width: 420px) {
  .lms-auth-grid2 {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 480px) {
  .auth-screen-wrapper {
    min-height: 100dvh;
    overflow-x: hidden;
  }

  .fix-width-wrapper-lms {
    max-width: 100%;
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  .fix-width-wrapper-lms .auth-body-wrapper > .px-4 {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  .auth-body-wrapper .logo-wrapper {
    padding-top: 18px;
  }

  .lms-auth-brand {
    margin-bottom: 4px;
  }

  .lms-auth-brand-row {
    justify-content: center;
    gap: 10px;
  }

  .lms-auth-ec-logo,
  .lms-auth-org-logo {
    width: 56px;
    height: 56px;
  }

  .lms-auth-title {
    font-size: 20px;
    line-height: 1.25;
  }

  .lms-auth-steps {
    gap: 4px;
    padding: 12px 0 16px !important;
  }

  .lms-auth-step {
    gap: 4px;
    font-size: 11px;
  }

  .lms-auth-step-dot {
    width: 22px;
    height: 22px;
    font-size: 10px;
  }

  .lms-auth-step + .lms-auth-step::before {
    width: clamp(8px, 3vw, 14px);
  }

  .lms-otp-row {
    gap: 6px;
  }

  .lms-otp-row .lms-auth-input.form-control {
    height: 48px;
    border-radius: 22px;
    font-size: 19px;
  }

  .lms-auth-otp-meta {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
    margin-top: 8px;
  }
}

@media (max-width: 340px) {
  .lms-auth-step-label {
    display: none;
  }

  .lms-auth-step + .lms-auth-step::before {
    width: 18px;
  }

  .lms-otp-row {
    gap: 4px;
  }

  .lms-otp-row .lms-auth-input.form-control {
    height: 42px;
    border-radius: 18px;
    font-size: 17px;
  }
}

.lms-auth-check {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 13px;
  margin: 4px 0 12px;
  color: var(--white-color, #fff);
}

.lms-auth-check input {
  margin-top: 3px;
}

/* Step indicator */
.lms-auth-steps {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  list-style: none;
  padding: 0 4px 14px;
  margin: 0;
}

.lms-auth-step {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  opacity: 0.6;
  color: var(--white-color, #fff);
}

.lms-auth-step.current,
.lms-auth-step.done {
  opacity: 1;
}

.lms-auth-step-dot {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  border: 1.5px solid currentColor;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 700;
}

.lms-auth-step.done .lms-auth-step-dot,
.lms-auth-step.current .lms-auth-step-dot {
  background: var(--light-blue-color, #58c4e3);
  border-color: var(--light-blue-color, #58c4e3);
  color: var(--primary-color, #0b5e73);
}

.lms-auth-step.done {
  color: #2fb56f;
}

.lms-auth-step.done .lms-auth-step-dot {
  background: #1c8c5b;
  border-color: #1c8c5b;
  color: #fff;
}

.lms-auth-step+.lms-auth-step::before {
  content: "";
  width: 14px;
  height: 1.5px;
  background: currentColor;
  opacity: 0.5;
}

.lms-auth-step.done+.lms-auth-step::before {
  background: #1c8c5b;
  opacity: 1;
}

/* OTP boxes */
.lms-otp-row {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
  justify-content: center;
  margin: 10px 0;
  width: 100%;
}

.lms-otp-row .lms-auth-input.form-control {
  width: 100%;
  min-width: 0;
  height: 58px;
  max-width: none;
  text-align: center;
  font-size: 22px;
  font-weight: 700;
  padding: 0;
}

.lms-otp-box {
  width: 44px;
  height: 52px;
  text-align: center;
  font-size: 22px;
  font-weight: 700;
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, 0.5);
  background: rgba(255, 255, 255, 0.1);
  color: var(--white-color, #fff);
}

.lms-otp-box:focus {
  outline: none;
  border-color: var(--light-blue-color, #58c4e3);
  box-shadow: 0 0 0 2px rgba(88, 196, 227, 0.4);
}

.lms-auth-otp-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  font-size: 12px;
  margin: 4px 2px 12px;
  color: var(--white-color, #fff);
}

@media (max-width: 480px) {
  .lms-otp-row {
    gap: 6px;
  }

  .lms-otp-row .lms-auth-input.form-control {
    height: 48px;
    border-radius: 22px;
    font-size: 19px;
  }

  .lms-auth-otp-meta {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
    margin-top: 8px;
  }
}

@media (max-width: 340px) {
  .lms-otp-row {
    gap: 4px;
  }

  .lms-otp-row .lms-auth-input.form-control {
    height: 42px;
    border-radius: 18px;
    font-size: 17px;
  }
}

/* password field toggle */
.lms-auth-pw {
  position: relative;
}

.lms-auth-pw-toggle {
  position: absolute;
  right: 12px;
  top: 34px;
  background: none;
  border: none;
  color: var(--white-color, #fff);
  opacity: 0.8;
  cursor: pointer;
}

.lms-password-rules {
  display: grid;
  gap: 6px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.lms-password-rules li {
  align-items: center;
  color: rgba(255, 255, 255, 0.72);
  display: flex;
  font-size: 12.5px;
  gap: 7px;
  line-height: 1.25;
}

.lms-password-rules li i {
  color: rgba(255, 255, 255, 0.45);
  font-size: 12px;
}

.lms-password-rules li.active,
.lms-password-rules li.active i {
  color: #48d98b;
}

.lms-password-popover {
  background: #ffffff;
  border: 1px solid rgba(8, 187, 207, 0.35);
  border-radius: 8px;
  box-shadow: 0 12px 28px rgba(22, 29, 45, 0.22);
  left: 10px;
  min-width: 230px;
  padding: 10px 12px;
  position: absolute;
  top: calc(100% + 8px);
  z-index: 12;
}

.lms-password-popover::before {
  background: #ffffff;
  border-left: 1px solid rgba(8, 187, 207, 0.35);
  border-top: 1px solid rgba(8, 187, 207, 0.35);
  content: "";
  height: 10px;
  left: 22px;
  position: absolute;
  top: -6px;
  transform: rotate(45deg);
  width: 10px;
}

.lms-password-popover .lms-password-rules li {
  color: #6b7684;
}

.lms-password-popover .lms-password-rules li i {
  color: #b8c2cf;
}

.lms-password-popover .lms-password-rules li.active,
.lms-password-popover .lms-password-rules li.active i {
  color: #10a861;
}

/* banners + confirmation */
.lms-auth-banner {
  border-radius: 10px;
  padding: 10px 12px;
  font-size: 13px;
  margin-bottom: 12px;
  text-align: center;
}

.lms-auth-banner.success {
  background: rgba(60, 180, 120, 0.18);
  color: #d6ffe9;
}

.lms-auth-banner.error {
  background: rgba(224, 83, 83, 0.18);
  color: #ffd9d9;
}

/* Set-password success + link-checking states */
.lms-auth-success {
  padding: 6px 0 2px;
}

.lms-auth-success-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: rgba(60, 180, 120, 0.22);
  color: #7ff0b6;
  font-size: 30px;
  margin-bottom: 12px;
}

.lms-auth-success-text {
  font-size: 15px;
  font-weight: 600;
  margin: 0 0 4px;
}

.lms-auth-checking {
  color: #dfe6ff;
  font-size: 14px;
}

.lms-auth-confirm {
  padding: 8px 0 4px;
}

.lms-auth-confirm-icon {
  width: 66px;
  height: 66px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 26px;
  margin-bottom: 8px;
}

.lms-auth-confirm-icon.ok {
  background: rgba(88, 196, 227, 0.2);
  color: var(--light-blue-color, #58c4e3);
}

.lms-auth-confirm-icon.pending {
  background: rgba(240, 190, 90, 0.2);
  color: #f0be5a;
}

.lms-auth-guard-loading {
  min-height: 60vh;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  color: var(--primary-color, #0b5e73);
}

/* minimal learner shell (dashboard landing) */
.lms-learner-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 20px;
  border-bottom: 1px solid #e6eef1;
}

.lms-learner-logo {
  height: 34px;
}

.lms-learner-main {
  max-width: 900px;
  margin: 0 auto;
  padding: 40px 20px;
}

.lms-learner-main .lms-auth-title,
.lms-learner-main .lms-auth-sub {
  color: var(--primary-color, #0b5e73);
}

/* learner auth — submit button contrast on the dark auth card + input polish */
.lms-auth-submit.btn {
  background-color: var(--light-blue-color, #58c4e3);
  border-color: var(--light-blue-color, #58c4e3);
  color: var(--primary-color, #0b3b57);
  font-weight: 700;
}

.lms-auth-submit.btn:hover,
.lms-auth-submit.btn:focus {
  background-color: var(--light-blue-color, #58c4e3);
  border-color: var(--light-blue-color, #58c4e3);
  color: var(--primary-color, #0b3b57);
  filter: brightness(0.95);
}

.lms-auth-submit.btn:disabled {
  opacity: 0.65;
}

.lms-auth-input.form-control.is-invalid {
  background-image: none;
  padding-right: 40px;
}

/* ───────────────────────── ESHS LMS — learner portal ───────────────────────── */
.lms-portal {
  min-height: 100vh;
  background: #f6f8fa;
  color: #21313c;
}

.lms-portal-topbar {
  display: flex;
  justify-content: space-between;

  align-items: center;
  padding: 10px 22px;
  background: #fff;
  border-bottom: 1px solid #e6ebef;
  position: sticky;
  top: 0;
  z-index: 40;
}

.lms-portal-brand {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 1;
}

.lms-portal-logo {
  width: 42px;
  height: 34px;
  object-fit: contain;
}

.lms-portal-brandname {
  font-weight: 700;
  color: var(--primary-color, #304577);
}

.lms-portal-nav {
  display: flex;
  gap: 4px;
  justify-content: center;

  align-items: center;
  flex: 2;

}

.lms-portal-navlink {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 8px 14px;
  border-radius: 20px;
  color: #51636f;
  font-size: 14px;
  text-decoration: none;
}

.lms-portal-navlink:hover {
  background: #eef3f6;
  color: var(--primary-color, #304577);
  text-decoration: none;
}

.lms-portal-navlink.active {
  background: var(--primary-color, #304577);
  color: #fff;
}

.lms-portal-menu-btn,
.lms-portal-drawer-head,
.lms-portal-drawer-user,
.lms-portal-drawer-backdrop {
  display: none;
}

.lms-portal-user {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  /* Items ko right side push karega */
  gap: 12px;
  flex: 1;
}

.lms-portal-username {
  font-size: 13px;
  color: #51636f;
}

.lms-portal-logout {
  border: 1px solid #dfe6ea;
  background: #fff;
  border-radius: 18px;
  padding: 6px 14px;
  font-size: 13px;
  color: #51636f;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.lms-portal-logout:hover {
  color: var(--primary-color, #304577);
  border-color: var(--primary-color, #304577);
}

.lms-portal-main {
  max-width: 1080px;
  margin: 0 auto;
  padding: 26px 20px 60px;
}

.lms-portal-main.wide {
  max-width: 1280px;
}

.lms-portal-title {
  font-size: 24px;
  font-weight: 700;
  margin: 0 0 4px;
  color: #21313c;
}

.lms-portal-sub {
  color: #64707a;
  margin: 0 0 20px;
}

.lms-portal-h2 {
  font-size: 17px;
  font-weight: 700;
  margin: 0 0 12px;
  color: #2b3a46;
}

.lms-portal-section {
  margin-top: 28px;
}

.lms-portal-loading {
  color: #64707a;
  padding: 30px 0;
}

.lms-portal-error {
  background: #fdecec;
  color: #9d3030;
  border-radius: 10px;
  padding: 10px 14px;
  margin: 10px 0;
  font-size: 14px;
}

.lms-portal-empty {
  text-align: center;
  color: #8a97a1;
  padding: 34px 16px;
  background: #fff;
  border: 1px dashed #dbe3e8;
  border-radius: 12px;
}

.lms-portal-empty i {
  font-size: 26px;
  margin-bottom: 8px;
  display: block;
}

/* progress bar */
.lms-progressbar {
  flex: 1;
  height: 8px;
  background: #e7edf1;
  border-radius: 6px;
  overflow: hidden;
}

.lms-progressbar.small {
  height: 6px;
}

.lms-progressbar span {
  display: block;
  height: 100%;
  background: var(--secondary-color, #00bbcf);
  border-radius: 6px;
  transition: width 0.4s ease;
}

/* badges */
.lms-portal-badge {
  display: inline-block;
  border-radius: 10px;
  padding: 2px 10px;
  font-size: 11px;
  font-weight: 700;
  text-transform: capitalize;
}

.lms-portal-badge.green {
  background: #e2f6ec;
  color: #1c8c5b;
}

.lms-portal-badge.blue {
  background: #e7f2fb;
  color: #2c6fad;
}

.lms-portal-badge.gray {
  background: #eef1f4;
  color: #6a7681;
}

/* buttons */
.btn.lms-btn-primary {
  background: var(--primary-color, #304577);
  border-color: var(--primary-color, #304577);
  color: #fff;
  border-radius: 22px;
  padding: 8px 20px;
  font-weight: 600;
}

.btn.lms-btn-primary:hover,
.btn.lms-btn-primary:focus {
  background: var(--primary-color, #304577);
  color: #fff;
  filter: brightness(1.08);
}

.btn.lms-btn-primary:disabled {
  opacity: 0.65;
}

.btn.lms-btn-ghost {
  background: #fff;
  border: 1px solid #d8e0e6;
  color: #51636f;
  border-radius: 22px;
  padding: 8px 18px;
}

.btn.lms-btn-ghost:hover {
  border-color: var(--primary-color, #304577);
  color: var(--primary-color, #304577);
}

/* continue hero */
.lms-continue-card {
  display: flex;
  align-items: center;
  gap: 20px;
  background: linear-gradient(120deg, var(--primary-color, #304577), #46609e);
  color: #fff;
  border-radius: 16px;
  padding: 20px 24px;
  margin: 6px 0 10px;
  flex-wrap: wrap;
}

.lms-continue-info {
  flex: 1;
  min-width: 220px;
}

.lms-continue-label {
  font-size: 12px;
  opacity: 0.8;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.lms-continue-title {
  font-size: 20px;
  font-weight: 700;
  margin: 4px 0 10px;
  color: #fff;
}

.lms-continue-card .lms-progressbar {
  background: rgba(255, 255, 255, 0.25);
  max-width: 340px;
}

.lms-continue-card .lms-course-card-pct {
  color: #fff;
}

.btn.lms-continue-btn {
  background: #fff;
  border-color: #fff;
  color: var(--primary-color, #304577);
}

/* course cards */
.lms-course-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 16px;
}

.lms-course-card {
  background: #fff;
  border: 1px solid #e6ebef;
  border-radius: 14px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.lms-course-card-thumb {
  height: 120px;
  background: #eef3f6;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #b3c0c9;
  font-size: 30px;
  cursor: pointer;
}

.lms-course-card-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.lms-course-card-body {
  padding: 14px 16px 16px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
}

.lms-course-card-title {
  font-size: 16px;
  font-weight: 700;
  margin: 0;
  cursor: pointer;
  color: #21313c;
}

.lms-course-card-title:hover {
  color: var(--primary-color, #304577);
}

.lms-course-card-desc {
  font-size: 13px;
  color: #64707a;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.lms-course-card-meta {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}

.lms-course-card-progress {
  display: flex;
  align-items: center;
  gap: 10px;
}

.lms-course-card-pct {
  font-size: 12px;
  font-weight: 700;
  color: #51636f;
}

.lms-course-card-actions {
  display: flex;
  gap: 8px;
  margin-top: auto;
  padding-top: 6px;
}

/* course overview (not enrolled) */
.lms-course-overview {
  max-width: 640px;
}

.lms-course-overview-thumb {
  width: 100%;
  max-height: 240px;
  object-fit: cover;
  border-radius: 14px;
  margin-bottom: 16px;
}

.lms-course-detail-page {
  display: grid;
  gap: 18px;
}

.lms-course-detail-hero {
  display: grid;
  grid-template-columns: minmax(240px, 360px) minmax(0, 1fr);
  gap: 22px;
  align-items: stretch;
  background: #fff;
  border: 1px solid #e6edf3;
  border-radius: 10px;
  padding: 18px;
  box-shadow: 0 8px 24px rgba(35, 52, 72, 0.07);
}

.lms-course-detail-thumb {
  width: 100%;
  height: 230px;
  object-fit: cover;
  border-radius: 8px;
  background: #eef3f7;
}

.lms-course-detail-main {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
}

.lms-course-detail-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--primary-color, #304577);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  margin-bottom: 8px;
}

.lms-course-detail-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 14px;
}

.lms-course-detail-stats {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px;
}

.lms-course-detail-stats>div {
  background: #fff;
  border: 1px solid #e6edf3;
  border-radius: 8px;
  padding: 14px;
  display: grid;
  gap: 4px;
}

.lms-course-detail-stats i {
  color: var(--secondary-color, #00bbcf);
  font-size: 18px;
}

.lms-course-detail-stats strong {
  color: #17233a;
  font-size: 24px;
  font-weight: 800;
}

.lms-course-detail-stats span {
  color: #647281;
  font-size: 12px;
  font-weight: 700;
}

.lms-course-detail-progress,
.lms-course-detail-modules {
  background: #fff;
  border: 1px solid #e6edf3;
  border-radius: 10px;
  padding: 16px;
}

.lms-course-detail-progress>div {
  display: flex;
  justify-content: space-between;
  color: #26313f;
  font-size: 13px;
  font-weight: 800;
  margin-bottom: 8px;
}

.lms-course-detail-section-head {
  border-bottom: 1px solid #eef2f6;
  margin-bottom: 14px;
  padding-bottom: 12px;
}

.lms-course-detail-section-head h2 {
  color: #17233a;
  font-size: 20px;
  font-weight: 800;
  margin: 0 0 4px;
}

.lms-course-detail-section-head p {
  color: #6b7684;
  font-size: 13px;
  margin: 0;
}

.lms-course-detail-module {
  border: 1px solid #e7edf4;
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.lms-course-detail-module.is-open {
  border-color: rgba(0, 187, 207, 0.45);
  box-shadow: 0 8px 20px rgba(35, 52, 72, 0.06);
}

.lms-course-detail-module+.lms-course-detail-module {
  margin-top: 12px;
}

.lms-simple-module-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.lms-course-detail-module-toggle {
  width: 100%;
  min-height: 68px;
  border: 0;
  background: #fff;
  padding: 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  text-align: left;
  cursor: pointer;
}

.lms-course-detail-module-toggle:hover {
  background: #fbfcfe;
}

.lms-course-detail-module-titlewrap {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 12px;
}

.lms-course-detail-module-title {
  display: block;
  color: #17233a;
  font-size: 16px;
  font-weight: 800;
  overflow-wrap: anywhere;
}

.lms-course-detail-module-desc {
  display: block;
  color: #6b7684;
  font-size: 13px;
  margin-top: 3px;
  overflow-wrap: anywhere;
}

.lms-course-detail-module-meta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}

.lms-course-detail-caret {
  color: #7b8794;
  font-size: 12px;
}

.lms-course-detail-module-body {
  border-top: 1px solid #eef2f6;
  padding: 0 14px 14px;
}

.lms-course-detail-module-head {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: start;
}

.lms-course-detail-module-num {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--primary-color, #304577);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
}

.lms-course-detail-module h3 {
  color: #17233a;
  font-size: 16px;
  font-weight: 800;
  margin: 0;
}

.lms-course-detail-module p {
  color: #6b7684;
  font-size: 13px;
  margin: 4px 0 0;
}

.lms-course-detail-lock {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #f1f4f8;
  color: #6b7684;
  border-radius: 999px;
  padding: 5px 9px;
  font-size: 12px;
  font-weight: 800;
}

.lms-course-detail-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

.lms-course-detail-chips span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #f5f8fb;
  color: #344353;
  border-radius: 999px;
  padding: 6px 10px;
  font-size: 12px;
  font-weight: 700;
}

.lms-course-detail-chips i {
  color: var(--primary-color, #304577);
}

.lms-course-detail-parts {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}

.lms-course-detail-parts>div,
.lms-course-detail-part-row {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  background: #fbfcfe;
  border: 1px solid #edf2f6;
  border-radius: 7px;
  padding: 9px 10px;
  color: #5f6b79;
  font-size: 12.5px;
}

.lms-course-detail-parts strong {
  color: #26313f;
  min-width: 150px;
}

.lms-course-detail-parts span {
  overflow-wrap: anywhere;
  text-align: right;
}

@media (max-width: 991.98px) {
  .lms-course-detail-hero {
    grid-template-columns: 1fr;
  }

  .lms-course-detail-stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 575.98px) {
  .lms-course-detail-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .lms-course-detail-module-head {
    grid-template-columns: 36px minmax(0, 1fr);
  }

  .lms-course-detail-lock {
    grid-column: 2;
    justify-self: start;
  }

  .lms-course-detail-module-toggle {
    align-items: flex-start;
  }

  .lms-course-detail-module-meta {
    align-self: flex-start;
  }

  .lms-course-detail-parts>div,
  .lms-course-detail-part-row {
    flex-direction: column;
  }

  .lms-course-detail-parts span {
    text-align: left;
  }
}

/* player */
.lms-player-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 14px;
}

.lms-player-meta {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.lms-player-progress {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 220px;
  font-size: 13px;
  font-weight: 700;
  color: #51636f;
}

.lms-portal-congrats {
  background: #e2f6ec;
  color: #1c8c5b;
  border-radius: 12px;
  padding: 12px 16px;
  margin-bottom: 14px;
  font-weight: 600;
}

.lms-player-cert-panel {
  background: #fff;
  border: 1px solid #dfe6ef;
  border-radius: 14px;
  padding: 16px;
  margin-bottom: 16px;
  box-shadow: 0 8px 24px rgba(31, 45, 61, 0.06);
}

.lms-player-cert-head {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}

.lms-player-cert-icon {
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff4d8;
  color: #c8951a;
  font-size: 18px;
}

.lms-player-cert-head h2 {
  margin: 0;
  font-size: 18px;
  font-weight: 800;
  color: #17233a;
}

.lms-player-cert-head p {
  margin: 2px 0 0;
  font-size: 13px;
  color: #657284;
}

.lms-player-cert-list {
  display: grid;
  gap: 10px;
  margin-bottom: 10px;
}

.lms-player-cert-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px;
  border: 1px solid #eef2f4;
  border-radius: 10px;
  background: #f8fafc;
}

.lms-player-cert-row strong {
  display: block;
  font-family: monospace;
  color: #17233a;
  font-size: 14px;
}

.lms-player-cert-row span {
  display: block;
  color: #657284;
  font-size: 12.5px;
  margin-top: 2px;
}

.lms-player-cert-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.lms-player-cert-viewer {
  display: grid;
  gap: 14px;
}

.lms-player-cert-toolbar {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  padding-bottom: 12px;
  border-bottom: 1px solid #eef2f4;
}

.lms-player-cert-toolbar h3 {
  margin: 0;
  font-size: 18px;
  font-weight: 800;
  color: #17233a;
}

.lms-player-cert-toolbar p {
  margin: 3px 0 0;
  font-family: monospace;
  color: #657284;
  font-size: 13px;
}

.lms-player-cert-tabs {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.lms-player-cert-tabs button {
  border: 1px solid #dfe6ef;
  background: #fff;
  color: #34465a;
  border-radius: 999px;
  padding: 7px 12px;
  font-size: 13px;
  font-weight: 700;
}

.lms-player-cert-tabs button.active {
  background: var(--primary-color, #304577);
  color: #fff;
  border-color: var(--primary-color, #304577);
}

.lms-player-cert-frame {
  width: 100%;
  min-height: 720px;
  border: 1px solid #dfe6ef;
  border-radius: 12px;
  background: #f8fafc;
}

.lms-player-shell {
  display: flex;
  gap: 18px;
  align-items: flex-start;
}

.lms-player-sidebar {
  width: 300px;
  flex: 0 0 300px;
  background: #fff;
  border: 1px solid #e6ebef;
  border-radius: 14px;
  padding: 10px;
  max-height: calc(100vh - 210px);
  overflow-y: auto;
  position: sticky;
  top: 76px;
}

.lms-player-node {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  width: 100%;
  border: none;
  background: transparent;
  text-align: left;
  padding: 9px 10px;
  border-radius: 9px;
  font-size: 13px;
  color: #43525d;
  cursor: pointer;
}

.lms-player-node i {
  margin-top: 2px;
  font-size: 12px;
  color: #b8c3cb;
}

.lms-player-node i.done {
  color: #1c8c5b;
}

.lms-player-node:hover {
  background: #f0f4f7;
}

.lms-player-node.active {
  background: var(--primary-color, #304577);
  color: #fff;
}

.lms-player-node.active i {
  color: #fff;
}

.lms-player-node.locked {
  opacity: 0.55;
  cursor: not-allowed;
}

.lms-player-stage {
  flex: 1;
  min-width: 0;
}

.lms-player-card {
  background: #fff;
  border: 1px solid #e6ebef;
  border-radius: 14px;
  padding: 20px 22px;
}

/* Stage node header — an eyebrow (module context) + the node title */
.lms-player-node-head {
  margin: 0 0 18px;
  padding-bottom: 14px;
  border-bottom: 1px solid #eef2f4;
}

.lms-player-node-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 11.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--secondary-color, #00bbcf);
}

.lms-player-node-eyebrow i {
  font-size: 12px;
}

.lms-player-node-title {
  font-size: 20px;
  font-weight: 800;
  margin: 6px 0 0;
  color: #17233a;
}

.lms-player-nav {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid #eef2f4;
  flex-wrap: wrap;
}

.lms-quiz-passed-note {
  color: #1c8c5b;
  font-weight: 600;
}

/* "video auto-completes when watched" hint under a pending video */
.lms-player-autohint {
  display: flex;
  align-items: center;
  gap: 4px;
  margin: 14px 0 0;
  font-size: 12.5px;
  color: #6b7684;
  background: #f2f6f9;
  border-radius: 8px;
  padding: 9px 12px;
}

.lms-player-autohint i {
  color: var(--secondary-color, #00bbcf);
}

/* Quiz call-to-action card on a section/module node */
.lms-player-quizcard {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
  margin-top: 20px;
  padding: 16px 18px;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  background: linear-gradient(180deg, #f7fafc, #f2f6f9);
}

.lms-player-quizcard.is-passed {
  background: #f0faf5;
  border-color: #cdeadd;
}

.lms-player-quizcard-main {
  display: flex;
  align-items: center;
  gap: 13px;
  min-width: 0;
}

.lms-player-quizcard-icon {
  flex: 0 0 auto;
  width: 42px;
  height: 42px;
  border-radius: 11px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--primary-color, #304577);
  color: #fff;
  font-size: 18px;
}

.lms-player-quizcard.is-passed .lms-player-quizcard-icon {
  background: #1c8c5b;
}

.lms-player-quizcard-text {
  min-width: 0;
}

.lms-player-quizcard-title {
  display: block;
  font-weight: 700;
  font-size: 15px;
  color: #1f2d3d;
}

.lms-player-quizcard-sub {
  display: block;
  font-size: 12.5px;
  color: #6b7684;
  margin-top: 2px;
}

.lms-player-quizcard-meta {
  display: block;
  font-size: 12px;
  color: #51636f;
  margin-top: 6px;
  line-height: 1.5;
}

.lms-player-quizcard-badge {
  flex: 0 0 auto;
  color: #1c8c5b;
  font-weight: 700;
  font-size: 13.5px;
  background: #dff3e9;
  border-radius: 20px;
  padding: 6px 14px;
}

.lms-player-quiz-result-mini {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 8px;
  color: #314159;
  font-size: 12.5px;
  font-weight: 700;
}

.lms-player-quiz-result-mini span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 28px;
  padding: 4px 9px;
  border: 1px solid #cdeadd;
  border-radius: 999px;
  background: #ffffff;
}

.lms-player-quiz-result-mini i {
  color: #1c8c5b;
}

.lms-player-quizcard-result-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
  flex: 0 0 auto;
}

.lms-player-result-modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 1080;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 32px 18px;
  overflow-y: auto;
}

.lms-player-result-modal-scrim {
  position: fixed;
  inset: 0;
  background: rgba(15, 23, 42, 0.54);
}

.lms-player-result-modal {
  position: relative;
  z-index: 1;
  width: min(1040px, 100%);
  max-height: calc(100vh - 64px);
  overflow-y: auto;
  border: 1px solid #dbe5ef;
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 24px 60px rgba(15, 23, 42, 0.22);
  scrollbar-gutter: stable;
}

.lms-player-result-modal-close {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border: 1px solid #d8e1ec;
  border-radius: 50%;
  color: #24324a;
  background: #ffffff;
}

.lms-player-result-modal .lms-result-screen {
  margin: 0;
  padding: 28px;
  background: #ffffff;
}

@media (max-width: 768px) {
  .lms-player-result-modal-backdrop {
    padding: 12px;
  }

  .lms-player-result-modal {
    width: 100%;
    max-height: calc(100vh - 24px);
  }

  .lms-player-result-modal-close {
    top: 10px;
    right: 10px;
    width: 34px;
    height: 34px;
  }

  .lms-player-result-modal .lms-result-screen {
    padding: 16px;
  }

  .lms-player-result-modal .lms-result-hero {
    grid-template-columns: 1fr;
    gap: 16px;
    padding: 18px;
    text-align: center;
  }

  .lms-player-result-modal .lms-result-score-ring {
    width: 124px;
    height: 124px;
    flex-basis: 124px;
    margin: 0 auto;
  }

  .lms-player-result-modal .lms-result-ring-copy strong {
    font-size: 28px;
  }

  .lms-player-result-modal .lms-result-hero-copy h3 {
    font-size: 22px;
  }

  .lms-player-result-modal .lms-result-meta,
  .lms-player-result-modal .lms-result-legend {
    justify-content: center;
  }

  .lms-player-result-modal .lms-result-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .lms-player-result-modal .lms-result-stat-card,
  .lms-player-result-modal .lms-result-review-card {
    padding: 16px;
  }

  .lms-player-result-modal .lms-result-review-head {
    align-items: stretch;
    flex-direction: column;
  }

  .lms-player-result-modal .lms-result-actions {
    justify-content: stretch;
  }

  .lms-player-result-modal .lms-result-actions > button {
    width: 100%;
  }
}

@media (max-width: 430px) {
  .lms-player-result-modal-backdrop {
    padding: 8px;
  }

  .lms-player-result-modal {
    max-height: calc(100vh - 16px);
  }

  .lms-player-result-modal .lms-result-screen {
    padding: 12px;
  }

  .lms-player-result-modal .lms-result-hero {
    padding: 16px 12px;
  }

  .lms-player-result-modal .lms-result-stats,
  .lms-player-result-modal .lms-result-question-grid {
    grid-template-columns: 1fr;
  }

  .lms-player-result-modal .lms-result-meta span {
    width: 100%;
    justify-content: center;
  }
}

/* quiz extras (learner mode) */
.lms-quiz-blocked {
  background: #fff7e8;
  color: #92600a;
  border-radius: 10px;
  padding: 12px 14px;
  font-size: 14px;
}

.lms-quiz-meta {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 12px;
}

.lms-quiz-chip {
  background: #eef3f6;
  color: #51636f;
  border-radius: 12px;
  padding: 3px 10px;
  font-size: 12px;
  font-weight: 600;
}

.lms-quiz-chip.danger {
  background: #fdecec;
  color: #b23b3b;
}

/* certificates */
.lms-cert-page-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 18px;
}

.lms-cert-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(92px, 1fr));
  gap: 10px;
  min-width: 340px;
}

.lms-cert-summary>div {
  padding: 13px 14px;
  background: #ffffff;
  border: 1px solid #e4ebf2;
  border-radius: 10px;
  box-shadow: 0 8px 18px rgba(31, 42, 68, 0.05);
}

.lms-cert-summary strong {
  display: block;
  color: #1f2a44;
  font-size: 24px;
  line-height: 1;
}

.lms-cert-summary span {
  display: block;
  margin-top: 5px;
  color: #667085;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.lms-cert-controls {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) auto;
  align-items: center;
  gap: 14px;
  margin-bottom: 18px;
  padding: 14px;
  background: #ffffff;
  border: 1px solid #e4ebf2;
  border-radius: 12px;
}

.lms-cert-search {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 46px;
  margin: 0;
  padding: 0 14px;
  color: #667085;
  background: #f8fafc;
  border: 1px solid #dfe6ef;
  border-radius: 9px;
}

.lms-cert-search input {
  width: 100%;
  min-width: 0;
  color: #17243c;
  background: transparent;
  border: 0;
  outline: 0;
  font-size: 14px;
}

.lms-cert-filter-tabs {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}

.lms-cert-filter-tabs button {
  min-height: 42px;
  gap: 8px;
  padding: 0 12px;
  color: #445266;
  background: #ffffff;
  border: 1px solid #dfe6ef;
  border-radius: 9px;
  font-size: 13px;
  font-weight: 800;
  white-space: nowrap;
}

.lms-cert-filter-tabs button:hover,
.lms-cert-filter-tabs button.active {
  color: #006b76;
  background: #e9fbfd;
  border-color: #bcecf2;
}

.lms-cert-filter-tabs strong {
  min-width: 22px;
  padding: 2px 7px;
  color: #304577;
  background: #eef2f7;
  border-radius: 999px;
  font-size: 12px;
}

.lms-cert-section {
  margin-top: 18px;
}

.lms-cert-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid #e1e8f0;
}

.lms-cert-section-head h2 {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  color: #1f2a44;
  font-size: 18px;
  font-weight: 800;
}

.lms-cert-section-head h2 i {
  color: #00a9b8;
}

.lms-cert-section-head>span {
  min-width: 34px;
  padding: 5px 10px;
  color: #304577;
  background: #eef2f7;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 800;
  text-align: center;
}

.lms-cert-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 16px;
}

.lms-cert-card {
  display: flex;
  gap: 14px;
  background: #fff;
  border: 1px solid #e6ebef;
  border-radius: 12px;
  padding: 16px;
  box-shadow: 0 10px 24px rgba(31, 42, 68, 0.06);
}

.lms-cert-card.expired {
  opacity: 0.75;
}

.lms-cert-icon {
  width: 46px;
  height: 46px;
  flex: 0 0 46px;
  border-radius: 50%;
  background: #fff4d8;
  color: #c8951a;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
}

.lms-cert-icon.module {
  color: #304577;
  background: #edf1ff;
}

.lms-cert-body {
  min-width: 0;
  flex: 1 1 auto;
}

.lms-cert-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 7px;
}

.lms-cert-type,
.lms-cert-expired {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  padding: 4px 9px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
  text-transform: uppercase;
}

.lms-cert-type.course {
  color: #7a5200;
  background: #fff4d8;
}

.lms-cert-type.module {
  color: #304577;
  background: #edf1ff;
}

.lms-cert-expired {
  color: #b42318;
  background: #fdecec;
}

.lms-cert-title {
  color: #152238;
  font-size: 16px;
  font-weight: 800;
  line-height: 1.32;
  margin: 0 0 4px;
  word-break: break-word;
}

.lms-cert-subtitle {
  margin: 0 0 6px;
  color: #657184;
  font-size: 13px;
  line-height: 1.35;
}

.lms-cert-number {
  display: inline-flex;
  max-width: 100%;
  margin-top: 2px;
  padding: 5px 9px;
  color: #304577;
  background: #f4f6fb;
  border-radius: 7px;
  font-family: monospace;
  font-size: 13px;
  font-weight: 800;
  overflow: hidden;
  text-overflow: ellipsis;
}

.lms-cert-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 14px;
  font-size: 12px;
  color: #64707a;
  margin-top: 9px;
}

.lms-cert-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 13px;
}

/* profile */
.lms-profile-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  align-items: start;
}

.lms-profile-field {
  margin-bottom: 14px;
}

.lms-profile-field label {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: #51636f;
  margin-bottom: 4px;
}

.lms-profile-2col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 14px;
}

.lms-profile-check {
  color: #51636f;
}

/* responsive */
@media (max-width: 900px) {
  .lms-player-shell {
    flex-direction: column;
  }

  .lms-player-sidebar {
    width: 100%;
    flex: 1 1 auto;
    position: static;
    max-height: 260px;
  }

  .lms-player-cert-row {
    align-items: flex-start;
    flex-direction: column;
  }

  .lms-player-cert-actions {
    justify-content: flex-start;
  }

  .lms-player-cert-frame {
    min-height: 560px;
  }

  .lms-profile-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 600px) {
  .lms-portal-topbar {
    padding: 10px 12px;
    gap: 10px;
  }

  .lms-portal-brand {
    flex: 1 1 auto;
    min-width: 0;
  }

  .lms-portal-brandname {
    display: inline;
    max-width: calc(100vw - 170px);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .lms-portal-menu-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    color: var(--primary-color, #304577);
    background: #ffffff;
    border: 1px solid #dfe6ea;
    border-radius: 12px;
    font-size: 17px;
  }

  .lms-portal-drawer-backdrop {
    position: fixed;
    inset: 0;
    z-index: 90;
    background: rgba(15, 23, 42, 0.52);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.18s ease;
  }

  .lms-portal-drawer-backdrop.show {
    display: block;
    opacity: 1;
    pointer-events: auto;
  }

  .lms-portal-nav {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 100;
    display: flex;
    width: min(84vw, 320px);
    height: 100dvh;
    padding: 14px;
    flex: none;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
    gap: 8px;
    background: #ffffff;
    border-left: 1px solid #e6ebef;
    box-shadow: -18px 0 42px rgba(15, 23, 42, 0.2);
    transform: translateX(105%);
    transition: transform 0.2s ease;
  }

  .lms-portal-nav.show {
    transform: translateX(0);
  }

  .lms-portal-drawer-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 2px 0 14px;
    border-bottom: 1px solid #edf1f6;
    margin-bottom: 8px;
  }

  .lms-portal-drawer-brand {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    color: var(--primary-color, #304577);
    font-size: 15px;
    font-weight: 800;
  }

  .lms-portal-drawer-logo {
    width: 38px;
    height: 34px;
    flex: 0 0 38px;
    object-fit: contain;
  }

  .lms-portal-drawer-brand span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .lms-portal-drawer-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    color: #475467;
    background: #f8fafc;
    border: 1px solid #d9e1ee;
    border-radius: 10px;
  }

  .lms-portal-navlink {
    justify-content: flex-start;
    gap: 12px;
    padding: 12px 14px;
    border-radius: 12px;
    font-size: 15px;
    font-weight: 700;
  }

  .lms-portal-navlink i {
    width: 20px;
    text-align: center;
  }

  .lms-portal-drawer-user {
    display: grid;
    gap: 10px;
    margin-top: auto;
    padding-top: 14px;
    border-top: 1px solid #edf1f6;
  }

  .lms-portal-drawer-user .lms-portal-username {
    display: block;
    font-weight: 700;
  }

  .lms-portal-logout-mobile {
    justify-content: center;
    width: 100%;
    min-height: 42px;
    border-radius: 12px;
  }

  .lms-portal-user {
    display: none;
  }

  .lms-portal-main {
    padding: 18px 12px 40px;
  }

  .lms-profile-2col {
    grid-template-columns: 1fr;
  }

  .lms-cert-page-head,
  .lms-cert-controls {
    grid-template-columns: 1fr;
    flex-direction: column;
    align-items: stretch;
  }

  .lms-cert-summary {
    min-width: 0;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .lms-cert-filter-tabs {
    justify-content: flex-start;
  }

  .lms-cert-filter-tabs button {
    flex: 1 1 100%;
    justify-content: flex-start;
  }

  .lms-cert-grid {
    grid-template-columns: 1fr;
  }

  .lms-cert-card {
    padding: 14px;
  }
}

/* ───────────────────── ESHS LMS — full-screen assessment page ───────────────────── */
body.lms-assess-open {
  overflow: hidden;
}

.lms-assess {
  position: fixed;
  inset: 0;
  z-index: 200;
  display: flex;
  flex-direction: column;
  background: #f4f6f9;
  color: #1f2a37;
}

.lms-assess-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 22px;
  background: #fff;
  border-bottom: 1px solid #e5e9ef;
  flex-wrap: wrap;
}

.lms-assess-brand {
  display: flex;
  align-items: center;
  gap: 10px;
}

.lms-assess-logo {
  height: 30px;
}

.lms-assess-portal {
  font-weight: 800;
  color: #1c2b46;
  font-size: 17px;
}

.lms-assess-divider {
  width: 1px;
  height: 22px;
  background: #d7dde5;
}

.lms-assess-mode {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #6b7684;
}

.lms-assess-toolbar {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}

.lms-assess-timer {
  display: inline-flex;
  align-items: center;
  background: #eef2f6;
  border-radius: 16px;
  padding: 5px 12px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  color: #34414f;
}

.lms-assess-timer.danger {
  background: #fdeaea;
  color: #c0392b;
}

.lms-assess-attempts {
  font-size: 13px;
  color: #55606d;
}

.lms-assess-attempts strong {
  color: #1c2b46;
}

.lms-assess-iconbtn {
  border: 1px solid #dde3ea;
  background: #fff;
  color: #55606d;
  width: 34px;
  height: 34px;
  border-radius: 8px;
  cursor: pointer;
}

.lms-assess-iconbtn:hover {
  color: #1c2b46;
  border-color: #1c2b46;
}

.lms-assess-exit {
  border: 1px solid #dde3ea;
  background: #fff;
  color: #55606d;
  border-radius: 18px;
  padding: 6px 16px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
}

.lms-assess-exit:hover {
  color: #c0392b;
  border-color: #e6b4ac;
}

.lms-assess-progressbar {
  height: 4px;
  background: #e5e9ef;
}

.lms-assess-progressbar span {
  display: block;
  height: 100%;
  background: #1f5f8b;
  transition: width 0.3s ease;
}

.lms-assess-body {
  flex: 1;
  overflow-y: auto;
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 24px;
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
  padding: 28px 24px 60px;
  align-items: start;
}

.lms-assess-heading {
  margin-bottom: 20px;
}

.lms-assess-title {
  font-size: 26px;
  font-weight: 800;
  color: #17233a;
  margin: 0 0 4px;
}

.lms-assess-subtitle {
  color: #6b7684;
  margin: 0;
}

.lms-assess-loading {
  color: #6b7684;
  padding: 40px 0;
}

.lms-assess-blocked {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  border: 1px solid #f4d7a0;
  border-radius: 14px;
  background: #fff8ea;
  color: #6f4505;
  padding: 22px;
  box-shadow: 0 12px 30px rgba(111, 69, 5, 0.07);
}

.lms-assess-blocked-icon,
.lms-assess-warning-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  flex: 0 0 48px;
}

.lms-assess-blocked-icon {
  background: #fff0cc;
  color: #9a5b00;
}

.lms-assess-blocked-copy h2,
.lms-assess-warning-copy h2 {
  margin: 0 0 5px;
  color: #17233a;
  font-size: 18px;
  font-weight: 900;
}

.lms-assess-blocked-copy p,
.lms-assess-warning-copy p {
  margin: 0;
  color: #5f6f86;
  font-size: 14px;
  font-weight: 650;
  line-height: 1.55;
}

.lms-assess-blocked-actions {
  display: flex;
  justify-content: flex-end;
}

.lms-assess-warning {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
  margin-bottom: 16px;
  border: 1px solid #f5c56d;
  border-radius: 14px;
  background: #fff8eb;
  padding: 16px;
  box-shadow: 0 10px 26px rgba(154, 91, 0, 0.08);
}

.lms-assess-warning-icon {
  background: #ffedc2;
  color: #b76a00;
}

/* question card */
.lms-assess-qcard {
  display: flex;
  gap: 16px;
  background: #fff;
  border: 1px solid #e5e9ef;
  border-radius: 14px;
  padding: 24px;
  box-shadow: 0 1px 2px rgba(20, 40, 70, 0.04);
}

.lms-assess-qnum {
  flex: 0 0 30px;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #1c3a5e;
  color: #fff;
  font-weight: 700;
  font-size: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.lms-assess-qbody {
  flex: 1;
  min-width: 0;
}

.lms-assess-qtext {
  font-size: 18px;
  font-weight: 700;
  color: #1a2637;
  margin: 2px 0 4px;
  line-height: 1.4;
}

.lms-assess-qhint {
  font-size: 13px;
  color: #8a94a1;
  margin: 0 0 16px;
}

.lms-assess-options {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.lms-assess-option {
  display: flex;
  align-items: center;
  gap: 12px;
  border: 1.5px solid #e2e7ee;
  border-radius: 12px;
  padding: 15px 18px;
  cursor: pointer;
  margin: 0;
  transition: border-color 0.15s, background 0.15s;
}

.lms-assess-option:hover {
  border-color: #c3ccd7;
}

.lms-assess-option.selected {
  border-color: #1f5f8b;
  background: #f2f8fc;
}

.lms-assess-option input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.lms-assess-option-mark {
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
  border: 2px solid #c3ccd7;
  border-radius: 50%;
  position: relative;
  transition: border-color 0.15s;
}

.lms-assess-option input[type="checkbox"]+.lms-assess-option-mark {
  border-radius: 6px;
}

.lms-assess-option.selected .lms-assess-option-mark {
  border-color: #1f5f8b;
}

.lms-assess-option.selected .lms-assess-option-mark::after {
  content: "";
  position: absolute;
  inset: 3px;
  border-radius: 50%;
  background: #1f5f8b;
}

.lms-assess-option input[type="checkbox"]+.lms-assess-option-mark::after {
  border-radius: 3px;
}

.lms-assess-option-text {
  font-size: 15px;
  color: #263241;
}

/* bottom bar */
.lms-assess-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 24px;
  flex-wrap: wrap;
}

.lms-assess-actions-right {
  display: flex;
  gap: 10px;
}

/* navigator */
.lms-assess-nav {
  background: #fff;
  border: 1px solid #e5e9ef;
  border-radius: 14px;
  padding: 20px;
  position: sticky;
  top: 0;
  box-shadow: 0 14px 34px rgba(31, 42, 68, 0.06);
}

.lms-assess-nav-title {
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #6b7684;
  margin: 0 0 16px;
}

.lms-assess-nav-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(54px, 1fr));
  gap: 10px;
}

.lms-assess-nav-cell {
  min-height: 54px;
  border: 1.5px solid #dfe7f1;
  background: #ffffff;
  border-radius: 10px;
  box-shadow: 0 8px 18px rgba(31, 42, 68, 0.05);
  font-weight: 900;
  font-size: 15px;
  color: #344054;
  cursor: pointer;
  transition: transform 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease,
    background 0.15s ease, color 0.15s ease;
}

.lms-assess-nav-cell:hover {
  transform: translateY(-1px);
  border-color: #8bbbdc;
  box-shadow: 0 12px 24px rgba(31, 42, 68, 0.09);
}

.lms-assess-nav-cell.done {
  background: #12b76a;
  color: #fff;
  border-color: #12b76a;
}

.lms-assess-nav-cell.not-answered {
  background: #fff8eb;
  color: #9a5b00;
  border-color: #f5c56d;
}

.lms-assess-nav-cell.not-visited {
  background: #f8fafc;
  color: #667085;
  border-color: #d8e0ea;
}

.lms-assess-nav-cell.current {
  outline: 3px solid rgba(0, 184, 200, 0.24);
  outline-offset: 2px;
  border-color: #007f94;
}

.lms-assess-nav-legend {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 18px;
  font-size: 14px;
  color: #4a5870;
  font-weight: 700;
}

.lms-assess-dot {
  display: inline-flex;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #cbd5e1;
  margin-right: 8px;
}

.lms-assess-dot.done {
  background: #12b76a;
}

.lms-assess-dot.not-answered {
  background: #f59e0b;
}

.lms-assess-dot.not-visited {
  background: #cbd5e1;
}

.lms-assess-nav-info {
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid #eef1f5;
  font-size: 13px;
  color: #55606d;
}

.lms-assess-saved {
  color: #1c8c5b;
  margin-top: 6px;
  font-weight: 600;
}

/* result */
.lms-assess-result {
  max-width: 720px;
}

.lms-assess-score {
  display: flex;
  align-items: center;
  gap: 20px;
  border-radius: 14px;
  padding: 20px 24px;
  margin-bottom: 20px;
  color: #fff;
}

.lms-assess-score.pass {
  background: linear-gradient(120deg, #1c8c5b, #2fa96f);
}

.lms-assess-score.fail {
  background: linear-gradient(120deg, #b23b3b, #c85454);
}

.lms-assess-score-num {
  font-size: 38px;
  font-weight: 800;
}

.lms-assess-score-label {
  display: flex;
  flex-direction: column;
}

.lms-assess-score-label strong {
  font-size: 18px;
}

.lms-assess-score-label span {
  opacity: 0.9;
  font-size: 13px;
}

.lms-assess-feedback {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.lms-assess-fb {
  display: flex;
  gap: 8px;
  background: #fff;
  border: 1px solid #e5e9ef;
  border-radius: 10px;
  padding: 12px 14px;
}

.lms-assess-fb.ok i {
  color: #1c8c5b;
}

.lms-assess-fb.bad i {
  color: #c0392b;
}

.lms-assess-fb-q {
  font-weight: 600;
  color: #26313f;
}

.lms-assess-fb-hint,
.lms-assess-fb-exp {
  font-size: 13px;
  color: #6b7684;
  margin-top: 4px;
}

.lms-assess-result-actions {
  display: flex;
  gap: 10px;
  margin-top: 22px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.lms-assess-confirm-backdrop {
  position: fixed;
  inset: 0;
  z-index: 1090;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px;
}

.lms-assess-confirm-scrim {
  position: fixed;
  inset: 0;
  background: rgba(15, 23, 42, 0.55);
}

.lms-assess-confirm-modal {
  position: relative;
  z-index: 1;
  width: min(630px, 100%);
  padding: 34px 42px 30px;
  border-radius: 12px;
  background: #ffffff;
  box-shadow: 0 24px 60px rgba(15, 23, 42, 0.24);
  text-align: center;
}

.lms-assess-confirm-modal h3 {
  margin: 0;
  color: #304577;
  font-size: 24px;
  font-weight: 900;
  line-height: 1.25;
}

.lms-assess-confirm-modal p {
  margin: 22px auto 28px;
  max-width: 480px;
  color: #6b7280;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.55;
}

.lms-assess-confirm-actions {
  display: flex;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
}

.lms-assess-confirm-actions button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 156px;
  min-height: 48px;
  border: 0;
  border-radius: 999px;
  color: #ffffff;
  font-size: 16px;
  font-weight: 800;
}

.lms-assess-confirm-no {
  background: #00b8c8;
}

.lms-assess-confirm-yes {
  background: #304577;
}

.lms-assess-confirm-actions button:disabled {
  cursor: not-allowed;
  opacity: 0.72;
}

@media (max-width: 860px) {
  .lms-assess-body {
    grid-template-columns: 1fr;
  }

  .lms-assess-nav {
    order: -1;
    position: static;
  }

  .lms-assess-nav-grid {
    grid-template-columns: repeat(auto-fill, minmax(48px, 1fr));
  }
}

@media (max-width: 560px) {
  .lms-assess-blocked,
  .lms-assess-warning {
    grid-template-columns: 1fr;
    align-items: stretch;
    gap: 12px;
    padding: 16px;
  }

  .lms-assess-blocked-icon,
  .lms-assess-warning-icon {
    width: 42px;
    height: 42px;
    flex-basis: 42px;
  }

  .lms-assess-blocked-copy h2,
  .lms-assess-warning-copy h2 {
    font-size: 16px;
  }

  .lms-assess-blocked-actions,
  .lms-assess-warning .btn {
    width: 100%;
  }

  .lms-assess-blocked-actions .btn,
  .lms-assess-warning .btn {
    width: 100%;
  }

  .lms-assess-confirm-backdrop {
    padding: 12px;
  }

  .lms-assess-confirm-modal {
    padding: 28px 18px 22px;
  }

  .lms-assess-confirm-modal h3 {
    font-size: 21px;
  }

  .lms-assess-confirm-modal p {
    margin: 16px auto 22px;
    font-size: 14.5px;
  }

  .lms-assess-confirm-actions {
    gap: 10px;
  }

  .lms-assess-confirm-actions button {
    min-width: 132px;
    min-height: 44px;
    font-size: 14px;
  }

  .lms-assess-top {
    padding: 10px 14px;
  }

  .lms-assess-portal {
    font-size: 15px;
  }

  .lms-assess-mode {
    display: none;
  }

  .lms-assess-body {
    padding: 18px 14px 40px;
  }

  .lms-assess-nav-grid {
    grid-template-columns: repeat(auto-fill, minmax(46px, 1fr));
  }
}

/* ── learner course player — "Course Content" grouped sidebar ── */
.lms-player-sidebar {
  padding: 0;
}

.lms-cc-head {
  padding: 16px 16px 14px;
  border-bottom: 1px solid #eef1f5;
}

.lms-cc-title {
  font-size: 16px;
  font-weight: 800;
  color: #17233a;
  margin: 0;
}

.lms-cc-course {
  font-size: 12px;
  color: #8a94a1;
  margin: 2px 0 12px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.lms-cc-pct {
  display: block;
  font-size: 11px;
  color: #6b7684;
  font-weight: 600;
  margin-top: 6px;
}

.lms-player-sidebar>.lms-cc-item,
.lms-cc-group {
  padding: 0 8px;
}

.lms-player-sidebar>.lms-cc-item:first-of-type {
  margin-top: 8px;
}

.lms-player-sidebar>.lms-cc-item:last-child {
  margin-bottom: 8px;
}

.lms-cc-item,
.lms-cc-module {
  display: flex;
  align-items: center;
  gap: 11px;
  width: 100%;
  border: none;
  background: transparent;
  text-align: left;
  padding: 10px 12px;
  border-radius: 10px;
  cursor: pointer;
  font-size: 13px;
  color: #43525d;
  margin: 2px 0;
}

.lms-cc-item:hover:not(.locked),
.lms-cc-module:hover:not(.locked) {
  background: #f0f4f7;
}

.lms-cc-icon {
  font-size: 15px;
  color: #b3bec8;
  flex: 0 0 auto;
  width: 18px;
  text-align: center;
}

.lms-cc-item.done>.lms-cc-icon,
.lms-cc-module.done>.lms-cc-icon {
  color: #1c8c5b;
}

.lms-cc-label {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

.lms-cc-item.active {
  background: #eaf2fb;
  color: #17233a;
  font-weight: 600;
  box-shadow: inset 3px 0 0 #1f5f8b;
}

.lms-cc-item.active>.lms-cc-icon {
  color: #1f5f8b;
}

.lms-cc-item.locked,
.lms-cc-module.locked {
  color: #aab3bd;
  cursor: not-allowed;
}

.lms-cc-item.locked>.lms-cc-icon,
.lms-cc-module.locked>.lms-cc-icon {
  color: #c6cdd5;
}

/* module group */
.lms-cc-group {
  padding: 0 8px;
}

.lms-cc-module {
  font-weight: 700;
  color: #26313f;
}

.lms-cc-module>.lms-cc-icon {
  color: #1c3a5e;
}

.lms-cc-module.locked>.lms-cc-icon {
  color: #c6cdd5;
}

.lms-cc-caret {
  font-size: 11px;
  color: #9aa5b1;
  flex: 0 0 auto;
}

.lms-cc-children {
  margin: 0 0 4px 14px;
  padding-left: 8px;
  border-left: 1px solid #eef1f5;
}

.lms-cc-children .lms-cc-item {
  font-size: 12.5px;
  padding: 8px 10px;
}


/* learner dashboard redesign */
.lms-dashboard-shell {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.lms-dashboard-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(320px, 1fr);
  gap: 24px;
  padding: 28px;
  border-radius: 24px;
  border: 1px solid #dbe4ef;
  background: linear-gradient(135deg, #ffffff 0%, #f4f7fc 100%);
  box-shadow: 0 18px 40px rgba(33, 49, 60, 0.07);
}

.lms-dashboard-hero-copy {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.lms-dashboard-hero-kicker {
  color: var(--primary-color, #304577);
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.lms-dashboard-hero-title {
  margin: 0;
  font-size: 34px;
  line-height: 1.12;
  color: #21313c;
}

.lms-dashboard-hero-sub {
  margin: 0;
  max-width: 640px;
  color: #60707b;
  font-size: 16px;
  line-height: 1.7;
}

.lms-dashboard-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.lms-dashboard-hero-progress {
  max-width: 460px;
  margin-top: 4px;
}

.lms-dashboard-hero-progresshead,
.lms-dashboard-continue-progresshead,
.lms-course-card-progresshead {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  font-size: 13px;
  color: #60707b;
  margin-bottom: 8px;
}

.lms-dashboard-hero-progresshead strong,
.lms-dashboard-continue-progresshead strong,
.lms-course-card-progresshead strong {
  color: #21313c;
  font-size: 14px;
}

.lms-dashboard-stats-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.lms-dashboard-stat-card {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 18px;
  border-radius: 18px;
  border: 1px solid #dbe4ef;
  background: #ffffff;
}

.lms-dashboard-stat-icon {
  width: 44px;
  height: 44px;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(48, 69, 119, 0.08);
  color: var(--primary-color, #304577);
  font-size: 18px;
}

.lms-dashboard-stat-value {
  font-size: 26px;
  font-weight: 700;
  color: #21313c;
  line-height: 1;
}

.lms-dashboard-stat-label {
  margin-top: 5px;
  font-size: 12px;
  font-weight: 600;
  color: #6a7781;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.lms-dashboard-section-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 12px;
}

.lms-dashboard-section-head p {
  margin: 4px 0 0;
  color: #6a7781;
  font-size: 14px;
}

.lms-dashboard-continue-card {
  display: grid;
  grid-template-columns: 240px minmax(0, 1fr);
  gap: 22px;
  padding: 20px;
  border-radius: 20px;
  border: 1px solid #dfe6ee;
  background: #ffffff;
  box-shadow: 0 14px 30px rgba(33, 49, 60, 0.05);
}

.lms-dashboard-continue-thumb {
  min-height: 200px;
  border-radius: 18px;
  background: #eef3f6;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #b0bcc7;
  font-size: 38px;
}

.lms-dashboard-continue-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.lms-dashboard-continue-body {
  display: flex;
  flex-direction: column;
  gap: 14px;
  min-width: 0;
}

.lms-dashboard-continue-meta,
.lms-dashboard-continue-details,
.lms-course-card-tags,
.lms-course-card-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.lms-dashboard-continue-body h3 {
  margin: 0;
  font-size: 28px;
  color: #21313c;
}

.lms-dashboard-continue-details span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 12px;
  border-radius: 999px;
  background: #f4f7fb;
  color: #4d6070;
  font-size: 13px;
  font-weight: 600;
}

.lms-dashboard-continue-progress {
  padding: 16px 18px;
  border-radius: 16px;
  background: #f7fafc;
  border: 1px solid #edf2f6;
}

.lms-dashboard-continue-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: auto;
  color: #6a7781;
  font-size: 14px;
}

.lms-dashboard-empty-card {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 18px;
  align-items: center;
  padding: 22px 24px;
  border-radius: 20px;
  border: 1px dashed #d7e1ea;
  background: #ffffff;
}

.lms-dashboard-empty-icon {
  width: 56px;
  height: 56px;
  border-radius: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(48, 69, 119, 0.08);
  color: var(--primary-color, #304577);
  font-size: 22px;
}

.lms-dashboard-empty-card h3 {
  margin: 0 0 4px;
  color: #21313c;
}

.lms-dashboard-empty-card p {
  margin: 0;
  color: #64707a;
}

.lms-dashboard-achievement-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 16px;
}

.lms-dashboard-achievement-card {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 18px;
  border-radius: 18px;
  border: 1px solid #dfe6ee;
  background: #ffffff;
}

.lms-dashboard-achievement-icon {
  width: 44px;
  height: 44px;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 187, 207, 0.1);
  color: var(--secondary-color, #00bbcf);
  font-size: 18px;
  flex-shrink: 0;
}

.lms-dashboard-achievement-copy {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.lms-dashboard-achievement-copy strong {
  color: #21313c;
  font-size: 16px;
}

.lms-dashboard-achievement-copy span,
.lms-dashboard-achievement-copy small {
  color: #64707a;
}

.lms-course-card {
  border-radius: 18px;
  border-color: #dfe6ee;
  box-shadow: 0 12px 24px rgba(33, 49, 60, 0.04);
  min-height: 100%;
}

.lms-course-card-thumb {
  height: 176px;
}

.lms-course-card-body {
  gap: 12px;
  padding: 18px;
}

.lms-course-card-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.lms-course-card-titlewrap {
  min-width: 0;
}

.lms-course-card-eyebrow {
  display: inline-block;
  margin-bottom: 6px;
  color: #72808b;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.lms-course-card-title {
  line-height: 1.35;
}

.lms-course-card-title,
.lms-dashboard-continue-body h3 {
  overflow-wrap: anywhere;
}

.lms-course-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 10px;
  border-radius: 999px;
  background: #f5f8fb;
  color: #536473;
  font-size: 12px;
  font-weight: 600;
}

.lms-course-chip i,
.lms-portal-badge i {
  font-size: 12px;
}

.lms-portal-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.lms-course-card-desc {
  min-height: 42px;
  line-height: 1.65;
}

.lms-course-card-progresswrap {
  padding: 14px 16px;
  border-radius: 14px;
  background: #f7fafc;
  border: 1px solid #edf2f6;
}

.lms-course-card-progress {
  gap: 8px;
}

.lms-course-card-actions {
  margin-top: auto;
  padding-top: 2px;
}

.lms-course-card-actions .btn {
  flex: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
}

@media (max-width: 1080px) {
  .lms-dashboard-hero,
  .lms-dashboard-continue-card {
    grid-template-columns: 1fr;
  }

  .lms-dashboard-continue-thumb {
    min-height: 220px;
  }
}

@media (max-width: 767px) {
  .lms-dashboard-hero {
    padding: 22px;
    border-radius: 20px;
  }

  .lms-dashboard-hero-title {
    font-size: 28px;
  }

  .lms-dashboard-stats-grid {
    grid-template-columns: 1fr;
  }

  .lms-dashboard-empty-card,
  .lms-dashboard-continue-footer,
  .lms-course-card-top {
    grid-template-columns: 1fr;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }

  .lms-dashboard-empty-card {
    padding: 20px;
  }

  .lms-course-grid {
    grid-template-columns: 1fr;
  }

  .lms-course-card-actions {
    flex-direction: column;
  }

  .lms-dashboard-continue-thumb {
    min-height: 180px;
  }
}
/* end learner dashboard redesign */
