@charset "UTF-8";
/*--------------------------------------------------------------
# Mixins
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# General
--------------------------------------------------------------*/
/* Spinner
------------------------------- */
@keyframes doo-spinner {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.doo-spinner-wrapper {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: 999999;
}
.doo-spinner-wrapper:before {
  content: "";
  position: absolute;
  width: 100vw;
  height: 100vh;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background-color: #333;
  opacity: 0.7;
}
.doo-spinner-wrapper.active {
  display: block;
}

.doo-spinner {
  width: 88px;
  height: 88px;
  position: fixed;
  z-index: 9999999;
  top: 48%;
  left: 48%;
}

* {
  box-sizing: border-box;
}

.video-container video {
  pointer-events: none;
}

/*--------------------------------------------------------------
# Dashboard
--------------------------------------------------------------*/
.dashboard {
  max-width: 1440px;
  margin: 0 auto 0 0;
  font-size: 16px;
  line-height: 1.5;
  font-weight: 500;
  color: #171616;
}
.dashboard .page-content {
  display: grid;
  grid-template-columns: 290px auto;
  gap: 0;
}
.dashboard .sidebar-container {
  display: initial;
  height: 100vh;
  background: var(--wp--preset--color--neutral-30);
  position: sticky;
  top: 0;
  overflow-y: auto;
}
.dashboard .sidebar-container .sidebar-container-inner {
  height: max-content;
}
.dashboard .sidebar-container .actions {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 9;
  padding: 24px;
}
.dashboard .sidebar-container .actions .btn {
  min-width: max-content;
  border-radius: 16px;
  padding: 0;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 10px;
  background: transparent;
}
.dashboard .sidebar-container .actions .btn img {
  width: 24px;
  height: 24px;
}
.dashboard .sidebar-container .actions span {
  font-size: 14px;
  line-height: 1;
  font-weight: 600;
  color: #454141;
}
@media (max-width: 1200px) {
  .dashboard .sidebar-container .actions {
    position: absolute;
    top: 12px;
    right: 76px;
    left: unset;
    height: max-content;
    padding: 0;
  }
  .dashboard .sidebar-container .actions .btn {
    height: max-content;
    padding: 4px 8px;
  }
  .dashboard .sidebar-container .actions .btn img {
    width: 20px;
    height: 20px;
  }
  .dashboard .sidebar-container .actions span {
    display: none;
  }
}
.dashboard .sidebar {
  color: #171616;
  padding: 32px 16px 96px;
  position: sticky;
  top: 0;
}
.dashboard .sidebar .logo {
  margin-bottom: 40px;
}
.dashboard .menu {
  list-style: none;
  margin: 0;
  display: flex;
  flex-direction: column;
  padding: 0;
}
.dashboard .menu .has-children .submenu {
  list-style: none;
  padding-left: 32px;
  display: none;
  flex-direction: column;
}
.dashboard .menu .has-children.active .arrow {
  transform: rotate(180deg);
}
.dashboard .menu .has-children.active .submenu {
  display: flex;
}
.dashboard .menu a {
  color: #454141;
  text-decoration: none;
  font-weight: 600;
}
.dashboard .menu .label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.dashboard .menu .label > div {
  display: flex;
  align-items: center;
  gap: 12px;
}
.dashboard .menu .label > div img {
  width: 20px;
  height: 20px;
}
.dashboard .menu .menu-item a {
  padding: 12px;
  border-radius: 8px;
  display: block;
}
.dashboard .menu .menu-item.current-item > a {
  background: #FFF;
}

.text {
  color: #454141;
}

.task-content,
.dashboard-content {
  padding: clamp(32px, 1.7777777778vw + 24px, 40px) clamp(16px, 3.5555555556vw + 0px, 32px);
  background-color: #FFF;
}
.task-content.with-header,
.dashboard-content.with-header {
  padding-top: 0;
}

.user-name {
  font-family: Domine;
  font-size: 40px;
  line-height: 45.6px;
  font-weight: 520;
  margin-bottom: 56px;
}
.user-name strong {
  font-family: Inter;
  font-weight: 600;
}

.title-container {
  display: flex;
  align-items: center;
  gap: 40px;
}
.title-container .progress-bar {
  width: 100px;
  height: 10px;
}

.title {
  font-family: Domine;
  font-size: 24px;
  line-height: 1.3;
  font-weight: 520;
  margin: 0 0 24px;
}
.title strong {
  font-family: Inter;
  font-weight: 600;
}

.title-1 {
  font-size: 24px;
  line-height: 1.4;
  font-weight: 600;
  color: #171616;
  margin: 0 0 16px;
}

.title-2 {
  font-size: clamp(16px, 0.8888888889vw + 12px, 20px);
  font-weight: 600;
  line-height: 26px;
  color: #171616;
  margin: 0 0 8px;
}

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

.group-content {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 56px;
}

.item-cont {
  background: var(--wp--preset--color--neutral-20);
  padding: 20px;
  border-radius: 24px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  width: max(280px, 33.3333333333% - 10.67px);
  position: relative;
  overflow: hidden;
}
.item-cont .title {
  margin: 0;
}
.item-cont .counter,
.item-cont .per {
  font-size: 24px;
  line-height: 1.3;
  font-weight: 600;
  color: #454141;
}
.item-cont .icon {
  background: #EBE8E8;
  border-radius: 4px;
  padding: 4px;
  width: 40px;
  height: 40px;
}
.item-cont .icon img {
  width: 32px;
  height: 32px;
}
.item-cont.class {
  overflow: hidden;
  position: relative;
  height: 245px;
}
.item-cont.class.first {
  padding: 0;
  width: calc(66.6666666667% - 8px);
  flex-direction: row;
  background: var(--wp--preset--color--primary-10);
}
.item-cont.class.first .image img {
  border-radius: 24px;
  height: 100%;
  width: 228px;
  object-fit: cover;
}
.item-cont.class.first .content {
  padding: 20px;
  position: relative;
  width: 100%;
  z-index: 1;
}
.item-cont.class.first .back {
  position: absolute;
  right: 0;
  bottom: -6px;
  z-index: -1;
}
.item-cont.class.booking {
  height: 150px;
}
.item-cont.class.booking .date {
  margin-top: 8px;
}
.item-cont.class .row {
  justify-content: flex-end;
}
.item-cont.class .type {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 4px 8px;
  background: #FFF;
  border-radius: 32px;
  font-size: 14px;
  line-height: 1;
  font-weight: 600;
  color: #454141;
}
.item-cont.class .type img {
  width: 14px;
  height: 14px;
}
.item-cont.class .content {
  text-align: left;
}
.item-cont.class .date {
  margin: 8px 0;
  font-size: 20px;
  line-height: 1.3;
  font-weight: 600;
}
.item-cont.class .teacher {
  font-size: 14px;
  line-height: 1;
}
.item-cont.class .back {
  text-align: right;
}
.item-cont.class .buttons {
  position: absolute;
  bottom: 20px;
  right: 20px;
}
.item-cont.resource .title {
  font-family: Inter;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.3;
  margin-bottom: 32px;
}
.item-cont.resource .back {
  position: absolute;
  left: 0;
  bottom: -6px;
}

.row {
  display: flex;
  gap: 16px;
  justify-content: space-between;
  align-items: center;
}

.my-progress .group-header {
  display: flex;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
}
.my-progress .items {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 24px;
}
.my-progress .items .completed {
  opacity: 1;
}
.my-progress .items .not-completed {
  opacity: 0.3;
}

.progress-bar {
  width: 100%;
  height: 10px;
  background: #EBE8E8;
  margin-bottom: 30px;
}
.progress-bar .progress {
  height: 100%;
  background: #FFC800;
  width: 0;
}

.items-list {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}

.task-list {
  margin-bottom: 56px;
}
.task-list .item-cont {
  padding: 20px;
  position: relative;
  overflow: hidden;
  background: var(--wp--preset--color--green-10);
}
.task-list .item-cont:before {
  content: url("../images/polygon-80.svg");
  position: absolute;
  left: 0;
  bottom: -6px;
}
.task-list .item-cont .description,
.task-list .item-cont .item-title {
  z-index: 1;
}
.task-list .item-cont .repetitions-info {
  position: relative;
  z-index: 1;
  font-size: 14px;
  line-height: 1.3;
  font-weight: 600;
  color: var(--wp--preset--color--neutral-80);
  margin: -16px 0 -6px;
}
.task-list .item-cont.conversation {
  background: var(--wp--preset--color--blue-10);
}
.task-list .item-cont.conversation:before {
  content: url("../images/polygon-60.svg");
}
.task-list .item-cont.structure {
  background: var(--wp--preset--color--red-10);
}
.task-list .item-cont.structure:before {
  content: url("../images/polygon-70.svg");
}
.task-list .item-cont .item-title {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.task-list .item-cont.locked {
  background: var(--wp--preset--color--neutral-20) !important;
}
.task-list .item-cont.locked:before {
  filter: grayscale(100%);
}
.task-list .item-cont.locked .locked-message {
  font-size: 14px;
  line-height: 1.3;
  font-weight: 600;
  color: var(--wp--preset--color--neutral-80);
  margin-top: 12px;
  margin-left: auto;
  text-align: right;
  max-width: 120px;
  position: relative;
  z-index: 1;
}
.task-list .item-cont.locked .locked-message strong {
  color: var(--wp--preset--color--neutral-100);
  display: block;
}
.task-list .item-cont.partially-locked {
  background: var(--wp--preset--color--neutral-20) !important;
}
.task-list .item-cont.partially-locked:before {
  filter: grayscale(100%);
}
.task-list .item-cont.show-in-color.conversation {
  background: var(--wp--preset--color--blue-10) !important;
  opacity: 1;
}
.task-list .item-cont.show-in-color.conversation:before {
  content: url("../images/polygon-60.svg");
  filter: none;
  opacity: 1;
}
.task-list .item-cont.show-in-color .item-title,
.task-list .item-cont.show-in-color .description {
  color: inherit;
}
.task-list .item-cont.no-color, .task-list .item-cont.completed-today {
  background: var(--wp--preset--color--neutral-20) !important;
}
.task-list .item-cont.no-color:before, .task-list .item-cont.completed-today:before {
  filter: grayscale(100%);
}
.task-list .button {
  margin: 0 0 0 auto;
  border-color: #FFF;
  position: relative;
  z-index: 1;
}

.item-title {
  font-size: 20px;
  line-height: 1.3;
  font-weight: 600;
  margin: 0 0 4px;
}

.description {
  font-size: 20px;
  line-height: 1;
  font-weight: 500;
  margin-bottom: 24px;
}

.tabs {
  display: flex;
  gap: 8px;
  margin-bottom: 24px;
  overflow: auto;
}
.tabs input[type=radio] {
  position: absolute;
  left: -999999px;
  visibility: hidden;
  opacity: 0;
}
.tabs input[type=radio]:checked + label {
  background: #EBE8E8;
}
.tabs label {
  border: 0;
  background: #FBF9F9;
  padding: 12px;
  border-radius: 24px;
  font-size: 14px;
  line-height: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 4px;
  white-space: nowrap;
  cursor: pointer;
}
.tabs label img {
  width: 16px;
  height: 16px;
}
.tabs.resources {
  margin-bottom: 40px;
}

.group-header {
  position: sticky;
  top: 0;
  z-index: 5;
  background: #FFFFFF;
  padding-top: clamp(32px, 1.7777777778vw + 24px, 40px);
}

.group-title {
  width: 100%;
  position: relative;
  overflow: hidden;
  margin-bottom: 56px;
  text-align: left;
}
.group-title.completed-lessons {
  margin-bottom: 32px;
}
.group-title .title {
  font-size: 32px;
  line-height: 1.3;
}
.group-title .description {
  color: #454141;
  margin: 4px 0 16px;
  max-width: calc(100% - 280px);
  font-size: 16px;
  line-height: 1.5;
}
.group-title .counter {
  font-size: 14px;
  line-height: 20px;
  font-weight: 600;
  padding: 4px 8px;
  border-radius: 12px;
  background: var(--wp--preset--color--blue-20);
  width: max-content;
}
.group-title.classes-private, .group-title.classes-grouped {
  background: var(--wp--preset--color--blue-10);
}
.group-title.resources {
  background: var(--wp--preset--color--primary-10);
  margin-bottom: 40px;
}
.group-title .back {
  width: clamp(126px, 21.7777777778vw + 28px, 224px);
  position: absolute;
  bottom: -6px;
  right: 55px;
}
.group-title .back img {
  width: 100%;
}
.group-title .buttons {
  display: flex;
  gap: 16px;
}
.group-title.vocabulary .row, .group-title.verbs .row {
  align-items: flex-start;
}
.group-title.vocabulary .title, .group-title.verbs .title {
  margin: 8px 0;
}
.group-title.vocabulary .counter, .group-title.verbs .counter {
  background: var(--wp--preset--color--primary-40);
}

.breadcrumb {
  font-size: 14px;
  line-height: 1;
  font-weight: 500;
  margin-bottom: 12px;
}
.breadcrumb a {
  text-decoration: none;
}

.buttons label,
.btn,
.button {
  cursor: pointer;
}

.popup-cancel {
  display: none;
  z-index: 10;
  position: absolute;
  width: 0;
  height: 0;
}
.popup-cancel .description {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 300px;
  max-width: calc(100vw - 48px);
  height: auto;
  background: rgba(0, 0, 0, 0.7);
  display: flex;
  color: #FFF;
  font-size: 14px;
  line-height: 1.3;
  font-weight: 500;
  padding: 24px;
  border-radius: 24px;
}

.button {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 12px;
  border: 1px solid transparent;
  color: #FFF;
  background: #171616;
  border-radius: 24px;
  width: max-content;
  font-size: 14px;
  line-height: 1;
  font-weight: 600;
  text-align: center;
}
.button.white {
  color: #171616;
  background: #FFF;
  border-color: #171616;
}
.button.white.disabled, .button.white:disabled {
  color: #B8B3B2;
  background: #FFF;
  border-color: #B8B3B2;
}
.button.white:hover {
  background: #FBF9F9;
  color: #171616;
}
.button.white:hover.disabled, .button.white:hover:disabled {
  color: #B8B3B2;
  background: #FFF;
  border-color: #B8B3B2;
}
.button.transparent {
  color: #171616;
  background: transparent;
  border-color: #171616;
}
.button.transparent.disabled, .button.transparent:disabled {
  color: #B8B3B2;
  background: transparent;
  border-color: #B8B3B2;
}
.button.transparent:hover {
  color: #171616;
  background: #FBF9F9;
}
.button.transparent:hover.disabled, .button.transparent:hover:disabled {
  color: #B8B3B2;
  background: transparent;
  border-color: #B8B3B2;
}
.button.cancel {
  background: transparent;
  border-color: transparent;
  color: #171616;
}
.button.cancel.no-cancel:hover {
  pointer-events: auto;
}
.button.cancel.no-cancel:hover + .popup-cancel {
  display: block;
}
.button:hover {
  color: #FFF;
  background: #302D2D;
}
.button:hover:disabled {
  color: #B8B3B2;
  background: #EBEBEB;
}
.button.disabled, .button:disabled {
  cursor: not-allowed;
  color: #B8B3B2;
  background: #EBEBEB;
  border-color: #EBEBEB;
  pointer-events: none;
}
.button.resource {
  background: #FFF;
  color: #171616;
  border-color: transparent;
  margin: 0 0 0 auto;
}

a.button {
  text-decoration: none;
}

.btn {
  border: 1px solid transparent;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 12px;
  border-radius: 24px;
  width: max-content;
  min-width: 100px;
  text-decoration: none;
  color: #171616;
  background: #FBF9F9;
}
.btn.checked {
  background: #EBE8E8;
}

.tab-text {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 12px;
  background: transparent;
  border-radius: 24px;
  width: max-content;
  font-size: 14px;
  line-height: 1;
}

.teacher-list {
  display: flex;
  gap: 22px 2%;
  flex-wrap: wrap;
}
.teacher-list .teacher-container {
  width: 32%;
  border-radius: 8px;
  border: 1px solid #ccc;
}
.teacher-list .teacher-container .image {
  height: 150px;
  overflow: hidden;
}
.teacher-list .teacher-container .image img {
  height: 100%;
  width: 100%;
  object-fit: cover;
}
.teacher-list .teacher-container .content {
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.sort {
  margin-bottom: 32px;
}

.popup-container {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100dvh;
  background: rgba(0, 0, 0, 0.8);
  justify-content: center;
  align-items: center;
  z-index: 9;
  display: none;
}
.popup-container.focus {
  display: flex;
}
.popup-container .popup-wrap {
  position: relative;
  background: #FFF;
  width: 1150px;
  max-width: 100vw;
  margin: 0 auto;
  max-height: calc(100dvh - 80px);
  height: max-content;
  border-radius: 24px;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  overflow: hidden;
}
.popup-container.full .popup-content {
  max-height: 100dvh;
  max-width: 100vw;
  height: 100%;
  width: 100%;
  border-radius: 0;
}
.popup-container .popup-close {
  position: absolute;
  top: 12px;
  right: 12px;
  cursor: pointer;
  z-index: 9;
  padding: 12px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.popup-container .popup-buttons {
  position: absolute;
  z-index: 1;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  padding: 48px 0;
  border-top: 1px solid #EbE8E8;
  display: flex;
  justify-content: center;
  background: #FBF9F9;
}
@media (max-width: 900px) {
  .popup-container .popup-buttons {
    position: fixed;
  }
}
.popup-container .popup-buttons .info {
  font-size: 14px;
  line-height: 1;
  font-weight: 500;
  color: #454141;
  display: flex;
  align-items: center;
  gap: 8px;
}
.popup-container .popup-buttons .info img {
  width: 16px;
  height: 16px;
}
.popup-container .popup-buttons.info-container {
  background: var(--wp--preset--color--blue-20);
}
.popup-container .popup-buttons.ok {
  background: var(--wp--preset--color--success-10);
  border-top: 2px solid var(--wp--preset--color--success-40);
  flex-direction: column;
  align-items: center;
  padding: 100px 0;
}
.popup-container .popup-buttons.ok .title {
  font-size: 32px;
  line-height: 1.3;
}
.popup-container .popup-buttons.ok.only-check {
  background: var(--wp--preset--color--brand-10);
  border-top: 2px solid var(--wp--preset--color--brand-50);
}
.popup-container .popup-buttons.no-ok {
  background: var(--wp--preset--color--negative-10);
  border-top: 2px solid var(--wp--preset--color--negative-40);
  flex-direction: column;
  align-items: center;
  padding: 100px 0;
}
.popup-container .popup-buttons.no-ok .title {
  font-size: 32px;
  line-height: 1.3;
}
.popup-container .popup-buttons .buttons {
  display: flex;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap;
}
.popup-container .popup-buttons .button {
  width: 200px;
}
.popup-container .popup-content {
  display: flex;
  background: #FFF;
  align-items: center;
  flex-direction: column;
  max-width: 1150px;
  width: 100%;
  margin: 0 auto;
  overflow-y: auto;
  max-height: calc(100vh - 80px);
  height: max-content;
  border-radius: 24px;
  padding-top: 64px;
}
.popup-container .popup-content .popup-inner {
  text-align: center;
  height: max-content;
  margin-bottom: 100px;
  width: calc(100% - 64px);
}
.popup-container .block-congratulations,
.popup-container .block-daily-completed {
  width: 100%;
  display: flex;
  justify-content: center;
}
.popup-container .block-error .popup-inner,
.popup-container .block-warning .popup-inner,
.popup-container .block-wrong .popup-inner,
.popup-container .block-congratulations .popup-inner,
.popup-container .block-daily-completed .popup-inner, .popup-container.done .popup-inner {
  display: flex;
  align-items: center;
  justify-content: center;
}
.popup-container .block-error .popup-img1,
.popup-container .block-warning .popup-img1,
.popup-container .block-wrong .popup-img1,
.popup-container .block-congratulations .popup-img1,
.popup-container .block-daily-completed .popup-img1, .popup-container.done .popup-img1 {
  position: absolute;
  top: 64px;
  left: 0;
  width: max-content;
}
.popup-container .block-error .popup-img2,
.popup-container .block-warning .popup-img2,
.popup-container .block-wrong .popup-img2,
.popup-container .block-congratulations .popup-img2,
.popup-container .block-daily-completed .popup-img2, .popup-container.done .popup-img2 {
  position: absolute;
  top: 377px;
  right: 0;
  width: max-content;
}
.popup-container .block-error .confirm-content,
.popup-container .block-warning .confirm-content,
.popup-container .block-wrong .confirm-content,
.popup-container .block-congratulations .confirm-content,
.popup-container .block-daily-completed .confirm-content, .popup-container.done .confirm-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin: clamp(32px, 7.1111111111vw + 0px, 64px) 0 100px;
  max-width: 684px;
  z-index: 1;
}
.popup-container .block-error .icon,
.popup-container .block-warning .icon,
.popup-container .block-wrong .icon,
.popup-container .block-congratulations .icon,
.popup-container .block-daily-completed .icon, .popup-container.done .icon {
  background: var(--wp--preset--color--success-20);
  width: 64px;
  height: 64px;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 72px;
}
.popup-container .block-error .icon.warning,
.popup-container .block-warning .icon.warning,
.popup-container .block-wrong .icon.warning,
.popup-container .block-congratulations .icon.warning,
.popup-container .block-daily-completed .icon.warning, .popup-container.done .icon.warning {
  background: var(--wp--preset--color--primary-20);
}
.popup-container .block-error .icon.wrong,
.popup-container .block-warning .icon.wrong,
.popup-container .block-wrong .icon.wrong,
.popup-container .block-congratulations .icon.wrong,
.popup-container .block-daily-completed .icon.wrong, .popup-container.done .icon.wrong {
  background: var(--wp--preset--color--negative-20);
}
.popup-container .block-error .title,
.popup-container .block-warning .title,
.popup-container .block-wrong .title,
.popup-container .block-congratulations .title,
.popup-container .block-daily-completed .title, .popup-container.done .title {
  font-size: 48px;
  line-height: 1.3;
  margin-bottom: 48px;
}
.popup-container .block-error .text,
.popup-container .block-warning .text,
.popup-container .block-wrong .text,
.popup-container .block-congratulations .text,
.popup-container .block-daily-completed .text, .popup-container.done .text {
  font-size: 20px;
  font-weight: 600;
  line-height: 26px;
  color: #454141;
  margin-bottom: 4px;
}
.popup-container .block-error .term,
.popup-container .block-error .date,
.popup-container .block-error .teacher,
.popup-container .block-warning .term,
.popup-container .block-warning .date,
.popup-container .block-warning .teacher,
.popup-container .block-wrong .term,
.popup-container .block-wrong .date,
.popup-container .block-wrong .teacher,
.popup-container .block-congratulations .term,
.popup-container .block-congratulations .date,
.popup-container .block-congratulations .teacher,
.popup-container .block-daily-completed .term,
.popup-container .block-daily-completed .date,
.popup-container .block-daily-completed .teacher, .popup-container.done .term,
.popup-container.done .date,
.popup-container.done .teacher {
  font-size: 32px;
  font-weight: 600;
  line-height: 41.6px;
  margin-bottom: 48px;
}
.popup-container .block-error .button.close,
.popup-container .block-warning .button.close,
.popup-container .block-wrong .button.close,
.popup-container .block-congratulations .button.close,
.popup-container .block-daily-completed .button.close, .popup-container.done .button.close {
  width: 200px;
}
.popup-container .block-warning .text {
  font-size: 24px;
  line-height: 1.4;
}
.popup-container.grammar .popup-wrap, .popup-container.pronunciation .popup-wrap, .popup-container.exercises .popup-wrap {
  max-width: min(768px, 100vw);
}
.popup-container.grammar .popup-wrap .popup-inner, .popup-container.pronunciation .popup-wrap .popup-inner, .popup-container.exercises .popup-wrap .popup-inner {
  margin-bottom: 40px;
}
.popup-container.grammar .grammar-content,
.popup-container.grammar .pronunciation-content,
.popup-container.grammar .exercises-content, .popup-container.pronunciation .grammar-content,
.popup-container.pronunciation .pronunciation-content,
.popup-container.pronunciation .exercises-content, .popup-container.exercises .grammar-content,
.popup-container.exercises .pronunciation-content,
.popup-container.exercises .exercises-content {
  margin-top: 56px;
  background: var(--wp--preset--color--blue-10);
  border-radius: 24px;
  padding: 16px;
}
.popup-container.grammar .grammar-content video,
.popup-container.grammar .pronunciation-content video,
.popup-container.grammar .exercises-content video, .popup-container.pronunciation .grammar-content video,
.popup-container.pronunciation .pronunciation-content video,
.popup-container.pronunciation .exercises-content video, .popup-container.exercises .grammar-content video,
.popup-container.exercises .pronunciation-content video,
.popup-container.exercises .exercises-content video {
  border-radius: 24px;
  width: min(688px, 100%);
  height: auto;
}
.popup-container.grammar .title, .popup-container.pronunciation .title, .popup-container.exercises .title {
  font-family: Inter;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.3;
}

.popup-confirm-container {
  z-index: 13;
}
.popup-confirm-container .popup-confirm-content {
  width: min(454px, 100vw - 32px);
  position: relative;
}
.popup-confirm-container .popup-confirm-content .popup-inner.popup-inner {
  margin-bottom: 32px;
  width: calc(100% - 96px);
}
.popup-confirm-container.focus {
  display: flex;
}
.popup-confirm-container .icon {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 48px;
}
.popup-confirm-container .icon.warning {
  background: var(--wp--preset--color--primary-20);
}
.popup-confirm-container .text {
  margin-bottom: 48px;
  color: #454141;
}
.popup-confirm-container .row {
  justify-content: center;
  gap: 8px;
}
.popup-confirm-container .row .button {
  flex: 1;
}

.popup-inner .filters .selects {
  width: 100%;
  justify-content: space-between;
  display: flex;
  gap: 16px;
}
.popup-inner .filters .selects > * {
  flex: 1;
}
.popup-inner .filters .selects select,
.popup-inner .filters .selects input {
  border: 1px solid var(--wp--preset--color--neutral-30);
  background: #FFF;
  height: 40px;
  border-radius: 8px;
  padding: 12px;
}
.popup-inner .filters .selects select {
  padding-left: 32px;
}
.popup-inner .classes-list {
  padding: 32px 0;
  margin-bottom: 100px;
}
.popup-inner .classes-list .load-more-container {
  text-align: center;
  margin: 24px 0;
  padding: 20px;
}
.popup-inner .classes-list .load-more-container .load-more-classes {
  background: var(--wp--preset--color--primary-50);
  color: var(--wp--preset--color--base);
  border: none;
  border-radius: 8px;
  padding: 12px 24px;
  font-size: var(--wp--preset--font-size--m);
  font-weight: 500;
  cursor: pointer;
  transition: all 0.3s ease;
  min-width: 180px;
}
.popup-inner .classes-list .load-more-container .load-more-classes:hover {
  background: var(--wp--preset--color--primary-60);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(255, 200, 0, 0.3);
}
.popup-inner .classes-list .load-more-container .load-more-classes:active {
  transform: translateY(0);
}
.popup-inner .classes-list .load-more-container .load-more-classes:disabled {
  background: var(--wp--preset--color--neutral-40);
  color: var(--wp--preset--color--neutral-60);
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}
.popup-inner .classes-list .no-classes {
  text-align: center;
  padding: 40px 20px;
  color: var(--wp--preset--color--neutral-60);
  font-style: italic;
}

.select-container.select-container {
  position: relative;
}
.select-container.select-container input,
.select-container.select-container select {
  padding-left: 32px;
  width: 100%;
}
.select-container.select-container .placeholder,
.select-container.select-container .icon {
  position: absolute;
  top: 12px;
  left: 12px;
}
.select-container.select-container .placeholder {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 14px;
  line-height: 14px;
  color: #454141;
}
.select-container.select-container .placeholder img {
  width: 16px;
  height: 16px;
}

.select-sort {
  position: relative;
  display: flex;
  gap: 8;
  align-items: center;
  padding: 12px;
  margin-bottom: 8px;
}
.select-sort select {
  background: transparent;
  appearance: none;
  border: none;
  cursor: pointer;
}

.responsive-menu {
  display: none;
}

.classes-rate {
  margin-top: 40px;
}

.popup-container.rate .rating {
  display: inline-block;
  margin: 24px auto 80px;
}
.popup-container.rate .star {
  font-size: 32px;
  cursor: pointer;
  color: var(--wp--preset--color--neutral-40);
}
.popup-container.rate .star.selected {
  color: var(--wp--preset--color--primary-40);
}

.conversation .popup-inner .text {
  max-width: 684px;
  margin-left: auto;
  margin-right: auto;
}

.reserve .group-title {
  margin-bottom: 16px;
}

.teachers-banner {
  margin: 0 0 8px;
  width: 100%;
}
.teachers-banner.loading {
  opacity: 0.6;
  pointer-events: none;
}
.teachers-banner .teachers-scroll-container {
  overflow-x: auto;
  overflow-y: hidden;
  padding: 8px 0 16px;
}
.teachers-banner .teachers-scroll-container::-webkit-scrollbar {
  height: 6px;
}
.teachers-banner .teachers-scroll-container::-webkit-scrollbar-track {
  background: var(--wp--preset--color--neutral-30);
  border-radius: 3px;
}
.teachers-banner .teachers-scroll-container::-webkit-scrollbar-thumb {
  background: var(--wp--preset--color--primary-50);
  border-radius: 3px;
}
.teachers-banner .teachers-scroll-container::-webkit-scrollbar-thumb:hover {
  background: var(--wp--preset--color--primary-60);
}
.teachers-banner .teachers-grid {
  display: flex;
  gap: 12px;
  min-width: max-content;
  padding: 0 4px;
}
.teachers-banner .teacher-card {
  width: 180px;
  height: 112px;
  flex-shrink: 0;
  cursor: pointer;
  transition: all 0.3s ease;
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid var(--wp--preset--color--neutral-40);
  background: var(--wp--preset--color--base);
}
.teachers-banner .teacher-card:hover {
  border-color: var(--wp--preset--color--primary-20);
}
.teachers-banner .teacher-card input[type=radio] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.teachers-banner .teacher-card:has(input[type=radio]:checked) {
  border-color: var(--wp--preset--color--primary-50);
  background: var(--wp--preset--color--primary-10);
}
.teachers-banner .teacher-card:has(input[type=radio]:checked) .card-content {
  background: var(--wp--preset--color--primary-10);
}
.teachers-banner .teacher-card:has(input[type=radio]:checked) .teacher-name {
  color: var(--wp--preset--color--primary-60);
  font-weight: 600;
}
.teachers-banner .teacher-card.disabled {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}
.teachers-banner .teacher-card.disabled input[type=radio] {
  cursor: not-allowed;
  pointer-events: none;
}
.teachers-banner .teacher-card.all-teachers {
  background: var(--wp--preset--color--neutral-20);
}
.teachers-banner .teacher-card.all-teachers:has(input[type=radio]:checked) {
  background: var(--wp--preset--color--blue-10);
  border-color: var(--wp--preset--color--blue-50);
}
.teachers-banner .teacher-card.all-teachers:has(input[type=radio]:checked) .card-content {
  background: var(--wp--preset--color--blue-10);
}
.teachers-banner .teacher-card.all-teachers:has(input[type=radio]:checked) .teacher-name {
  color: var(--wp--preset--color--blue-50);
}
.teachers-banner .teacher-card.all-teachers .teacher-avatar img {
  filter: opacity(0.7);
}
.teachers-banner .card-content {
  padding: 12px;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  background: var(--wp--preset--color--base);
  transition: background 0.3s ease;
  position: relative;
  gap: 8px;
}
.teachers-banner .class-counter {
  position: absolute;
  top: 8px;
  right: 8px;
  background: var(--wp--preset--color--primary-50);
  color: var(--wp--preset--color--base);
  border-radius: 50%;
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--wp--preset--font-size--xs);
  font-weight: 600;
  line-height: 1;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.teachers-banner .class-counter.disabled {
  background: var(--wp--preset--color--neutral-40);
  color: var(--wp--preset--color--neutral-20);
}
.teachers-banner .teacher-avatar {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  overflow: hidden;
  border: 3px solid var(--wp--preset--color--neutral-40);
  transition: border-color 0.3s ease;
  flex-shrink: 0;
}
.teachers-banner .teacher-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}
.teacher-card:hover .teachers-banner .teacher-avatar, .teacher-card:has(input[type=radio]:checked) .teachers-banner .teacher-avatar {
  border-color: var(--wp--preset--color--primary-50);
}
.teacher-card.all-teachers:has(input[type=radio]:checked) .teachers-banner .teacher-avatar {
  border-color: var(--wp--preset--color--blue-50);
}
.teachers-banner .teacher-header {
  display: flex;
  align-items: flex-end;
  gap: 12px;
  width: 100%;
  min-width: 0;
}
.teachers-banner .teacher-info {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-width: 0;
}
.teachers-banner .teacher-name {
  font-size: var(--wp--preset--font-size--s);
  font-weight: 500;
  color: var(--wp--preset--color--contrast);
  margin-bottom: 4px;
  line-height: 1.3;
  transition: all 0.3s ease;
  width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.teachers-banner .teacher-bio {
  font-size: var(--wp--preset--font-size--xs);
  color: var(--wp--preset--color--neutral-60);
  line-height: 1.3;
  width: 100%;
  flex: 1;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  max-height: 3.9em;
  word-wrap: break-word;
}

@media (max-width: 768px) {
  .teachers-banner .teacher-card {
    width: 160px;
    height: 64px;
  }
  .teachers-banner .card-content {
    padding: 8px;
    gap: 8px;
  }
  .teachers-banner .teacher-avatar {
    width: 40px;
    height: 40px;
  }
  .teachers-banner .teacher-name {
    font-size: var(--wp--preset--font-size--xs);
  }
  .teachers-banner .teacher-bio {
    font-size: 11px;
    line-height: 1.2;
    max-height: 2.4em;
  }
  .teachers-banner .class-counter {
    width: 20px;
    height: 20px;
    font-size: 10px;
    top: 6px;
    right: 6px;
  }
}
/*--------------------------------------------------------------
# Vocabulary
--------------------------------------------------------------*/
.controls.row {
  gap: 8px;
  justify-content: center;
}

.rate-control img,
.play-word img {
  width: 16px;
  height: 16px;
}

.play-word {
  cursor: pointer;
  padding: 12px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.play-word img.pause {
  display: none;
}
.play-word img.play {
  display: block;
}
.play-word.playing img.pause {
  display: block;
}
.play-word.playing img.play {
  display: none;
}

.btn.play-all.playing {
  color: #FFF;
  background: #000;
}

.rate-control {
  position: relative;
  z-index: 1;
}
.rate-control select {
  border: 0;
  background: transparent;
  appearance: none;
  padding: 12px 4px 12px 20px;
  cursor: pointer;
  font-size: 12px;
  line-height: 16px;
}
.rate-control .icon {
  position: absolute;
  top: 12px;
  z-index: -1;
}

table.vocabulary-terms-list {
  width: 100%;
}
table.vocabulary-terms-list .word {
  font-size: 24px;
  font-weight: 600;
  line-height: 1.3;
  margin: 0 0 8px;
}
table.vocabulary-terms-list tr {
  display: flex;
}
table.vocabulary-terms-list tr th {
  font-weight: 400;
  text-align: left;
  flex: 1;
  padding: 16px;
}
table.vocabulary-terms-list tr th:first-child {
  padding-left: 132px;
  margin-right: -120px;
}
table.vocabulary-terms-list tr td {
  flex: 1;
  border-bottom: 1px solid #EBE8E8;
  display: flex;
  justify-content: left;
  align-items: center;
  gap: 12px;
  padding: 16px;
}
table.vocabulary-terms-list tr td:last-child {
  display: block;
}
table.vocabulary-terms-list .controls {
  width: 104px;
}

.item-sel {
  border: 1px solid #EBE8E8;
  border-radius: 8px;
  padding: 16px 24px;
  width: 100%;
  background: #FBF9F9;
  display: flex;
  gap: 4px;
  align-items: center;
  cursor: pointer;
}
.item-sel .word {
  display: flex;
  justify-content: center;
  width: 100%;
}
.item-sel .num {
  border: 1px solid #EBE8E8;
  background: #FFF;
  padding: 4px;
  border-radius: 4px;
  width: 28px;
  height: 28px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.item-sel.active {
  background: #EBE8E8;
  border-color: #B8B3B2;
}
.item-sel.ok {
  background: var(--wp--preset--color--success-10);
  border-color: var(--wp--preset--color--success-20);
}
.item-sel.no-ok {
  background: var(--wp--preset--color--negative-10);
  border-color: var(--wp--preset--color--negative-20);
}
.item-sel.selected:not(.ok):not(.no-ok) {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}

.vocabulary-test-content {
  display: flex;
  gap: clamp(8px, 8.8888888889vw + -32px, 48px);
  margin: clamp(0px, 12.4444444444vw + -56px, 56px) auto;
  max-width: 688px;
  padding: clamp(72px, 14.4444444444vw + 7px, 137px) 0;
}
.vocabulary-test-content .column {
  display: flex;
  flex-direction: column;
  gap: 32px;
  width: 100%;
}
.vocabulary-test-content .col-2 .item-sel {
  position: relative;
}
.vocabulary-test-content .col-2 .item-sel.link:before {
  content: "";
  width: clamp(8px, 8.8888888889vw + -32px, 48px);
  height: 2px;
  background: #B8B3B2;
  position: absolute;
  left: clamp(-48px, -8.8888888889vw - -32px, -8px);
  top: 30px;
}
.vocabulary-test-content .col-2 .item-sel.ok:before {
  background: var(--wp--preset--color--success-20);
}
.vocabulary-test-content .col-2 .item-sel.no-ok:before {
  background: var(--wp--preset--color--negative-20);
}

/*--------------------------------------------------------------
# Tasks
--------------------------------------------------------------*/
.columns {
  display: flex;
  gap: 107px;
}
.columns .col-1 .content {
  width: 346px;
  padding: 32px 24px;
  border-radius: 24px;
  background: var(--wp--preset--color--blue-10);
}
.columns .col-1 .title {
  margin-bottom: 16px;
}
.columns .col-1 .text {
  display: flex;
  gap: 8px;
  font-size: 14px;
  line-height: 20px;
  align-items: flex-start;
  margin-bottom: 32px;
}
.columns .col-1 .row {
  gap: 8px;
}
.columns .col-1 .button {
  width: 100%;
  white-space: nowrap;
}
.columns .col-2 {
  display: flex;
  flex-direction: column;
  border-radius: 24px;
  width: 100%;
}
.columns .col-2 .repeats {
  background: #FBF9F9;
  padding: 24px;
  display: flex;
  gap: 24px;
  border-radius: 24px 24px 0 0;
}
.columns .col-2 .repeats .icon {
  background: #FFF;
  border-radius: 24px;
  border: 1px solid #EBE8E8;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 80px;
}
.columns .col-2 .repeats .title-2 {
  margin-bottom: 4px;
}
.columns .col-2 .repeats .row {
  justify-content: left;
  margin-top: 12px;
  gap: 8px;
}
.columns .col-2 .repeats .row span {
  flex: 1;
  height: 12px;
  border-radius: 8px;
  background: var(--wp--preset--color--red-20);
}
.columns .col-2 .repeats .row .full {
  background: var(--wp--preset--color--red-50);
}
.columns .col-2 .list {
  display: flex;
  gap: 64px;
  flex-direction: column;
  padding: 48px 24px;
  border: 1px solid #EBE8E8;
  border-top: 0;
  border-radius: 0 0 16px 16px;
}

.block {
  display: flex;
  gap: 32px;
}
.block.current {
  cursor: pointer;
}
.block.inprocess {
  cursor: pointer;
}
.block.inprocess .icon {
  background: #FFEF99;
  outline: 8px solid #FFEF99;
}
.block.done .icon {
  background: #FFEF99;
  outline-color: #FFEF99;
  border-color: #FFEF99;
}
.block.done .icon img {
  display: none;
}
.block.done .icon img.check {
  display: block;
}
.block .icon {
  position: relative;
  width: 64px;
  height: 64px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  border: 4px solid #FFF;
  background: var(--wp--preset--color--neutral-30);
  outline: 8px solid var(--wp--preset--color--neutral-30);
}
.block .icon img.check {
  display: none;
  border-radius: 50%;
  width: 32px;
  height: 32px;
}
.block .icon:after {
  content: "";
  width: 4px;
  height: 100px;
  position: absolute;
  bottom: -118px;
  left: 26px;
  background: var(--wp--preset--color--neutral-30);
  display: block;
}
.block .content {
  flex: 1;
  min-height: 104px;
  max-width: 416px;
}
.block .content .slice {
  font-size: 14px;
  line-height: 1;
  margin-bottom: 8px;
}
.block .content .title-2 {
  font-size: clamp(20px, 0.8888888889vw + 16px, 24px);
  line-height: 1.3;
  margin-bottom: 4px;
}
.block .content .description {
  margin: 0;
  font-size: clamp(16px, 0.4444444444vw + 14px, 18px);
  line-height: 1.3;
}
.block.block4 .icon:after {
  content: none;
}

.steps {
  display: flex;
  gap: 50px;
  margin: -40px auto 40px;
}
.steps .step {
  width: 24px;
  height: 24px;
  background: var(--wp--preset--color--red-20);
  border-radius: 50%;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}
.steps .step:before {
  content: url("../images/leaves-n.svg");
  position: absolute;
  top: -17px;
  left: 6px;
  width: auto;
  height: 17px;
}
.steps .step:after {
  content: "";
  width: 48px;
  height: 2px;
  background-color: var(--wp--preset--color--red-20);
  position: absolute;
  top: 11px;
  right: -49px;
}
.steps .step:last-child:after {
  content: none;
}
.steps .step.full {
  background: var(--wp--preset--color--red-50);
}
.steps .step.full:before {
  content: url("../images/leaves.svg");
}
.steps .step .sheets {
  position: absolute;
  top: -12px;
  left: 3px;
  height: 12px;
}

[block-id="4"] .video-container,
[block-id="1"] .video-container {
  margin: 56px auto;
}

.audio-container,
.video-container {
  margin: 0 auto;
  padding: 16px 16px 8px 16px;
  border-radius: 24px;
  border: 1px solid var(--wp--preset--color--blue-20);
  background: var(--wp--preset--color--blue-10);
  width: min(696px, 100%);
}
.audio-container .image img,
.audio-container .video,
.video-container .image img,
.video-container .video {
  width: min(664px, 100%);
  height: auto;
  border-radius: 24px;
}
.audio-container .row,
.video-container .row {
  margin: 8px auto;
  justify-content: center;
  gap: 16px;
}
.audio-container .row .button,
.video-container .row .button {
  border: 0;
}

.task-content.video .text {
  max-width: 688px;
  margin: 0 auto;
}
.task-content.video .text.left {
  text-align: left;
}
.task-content.video .text.left p {
  margin: 0 0 4px;
}
.task-content.video .translation-content,
.task-content.video .transcript-content {
  max-width: 696px;
  margin: 0 auto 56px;
  text-align: left;
  max-height: 120px;
  overflow-y: auto;
}
.task-content.video .translation-content .phrase,
.task-content.video .transcript-content .phrase {
  font-weight: 500;
}
.task-content.video .translation-content .phrase .person,
.task-content.video .transcript-content .phrase .person {
  font-weight: 600;
}
.task-content.video .translation-content .phrase,
.task-content.video .transcript-content .phrase {
  margin-bottom: 8px;
}

.transcription-content .transcriptions {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 40px;
  margin: 64px auto;
  text-align: left;
  width: min(688px, 100% - 32px);
  min-height: calc(100vh - 412px);
}

.transcription-container {
  width: 100%;
}
.transcription-container .translation-content {
  margin-top: 8px;
  padding: 8px 16px;
}

.transcription-content-item {
  background: var(--wp--preset--color--blue-10);
  border-radius: 4px 24px 24px;
  padding: 16px;
}
.transcription-content-item .transcription-buttons {
  display: none;
}
.transcription-content-item.audio-ok .audio-control {
  display: none;
}
.transcription-content-item.audio-ok .transcription-buttons {
  display: block;
}
.transcription-content-item.audio-ok .transcription-buttons .transcription {
  font-size: 20px;
  line-height: 1.4;
  font-weight: 500;
}
.transcription-content-item.audio-ok .transcription-buttons .row {
  margin-top: 24px;
}
.transcription-content-item.audio-ok .transcription-buttons .button {
  border: 0;
  width: 100%;
}

.video-control,
.audio-control {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px;
  border-radius: 24px;
  background: #FFF;
}
.video-control .progress-bar,
.audio-control .progress-bar {
  width: 245px;
  background: #FBF9F9;
  border-radius: 12px;
  height: 12px;
  margin: 0;
}
.video-control .progress-bar .progress,
.audio-control .progress-bar .progress {
  border-radius: 24px;
  background: #FFC800;
  min-width: 12px;
}
.video-control .rate-control,
.audio-control .rate-control {
  z-index: 1;
}
.video-control .rate-control .rate,
.audio-control .rate-control .rate {
  padding-left: 32px;
}

.audio-container .audio-control,
.video-control {
  position: relative;
  width: 95%;
  margin: 0 auto;
  height: 56px;
}
.audio-container .audio-control .progress-bar,
.video-control .progress-bar {
  width: 100%;
}

.audio-container .audio-control {
  margin: -78px auto 30px;
}

.play-pause {
  padding: 12px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.play-pause img {
  width: 16px;
  height: 16px;
  display: inline;
}
.play-pause .pause {
  display: none;
}

.item-transcription {
  display: none;
  width: min(453px, 100vw - 64px);
}
.item-transcription .row {
  gap: 16px;
  align-items: flex-start;
}
.item-transcription:nth-child(2n) {
  margin: 0 0 0 auto;
}
.item-transcription:nth-child(2n) > .row {
  flex-direction: row-reverse;
}
.item-transcription:nth-child(2n) .transcription-content-item {
  background: var(--wp--preset--color--green-10);
  border-radius: 24px 4px 24px 24px;
}
.item-transcription:nth-child(2n+1) {
  margin: 0 auto 0 0;
}
.item-transcription .hide,
.item-transcription .translation-content {
  display: none;
}
.item-transcription .transcription {
  width: 100%;
}
.item-transcription .play,
.item-transcription .hide,
.item-transcription .see {
  cursor: pointer;
}
.item-transcription .person-info {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}
.item-transcription .person-info .person-avatar {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  padding: 12px 0 0 8px;
}
.item-transcription .person-info .person-avatar img {
  width: 40px;
  height: 49px;
  object-fit: cover;
}
.item-transcription .person-info .person-name {
  font-size: 14px;
  font-weight: 600;
  text-align: center;
  line-height: 1.2;
}
.item-transcription:first-child, .item-transcription.ok, .item-transcription.no-ok, .item-transcription.current {
  display: block;
}
.item-transcription.no-ok .transcription-content-item {
  background: var(--wp--preset--color--negative-10);
}
.item-transcription.translation:first-child .transcription, .item-transcription.translation.ok .transcription, .item-transcription.translation.no-ok .transcription, .item-transcription.translation.current .transcription {
  display: block;
}
.item-transcription.translation .transcription-content-item {
  background: var(--wp--preset--color--neutral-30);
}
.item-transcription.translation.ok:nth-child(2n) .transcription-content-item {
  background: var(--wp--preset--color--success-10);
}
.item-transcription.translation.ok .transcription-content-item {
  background: var(--wp--preset--color--success-10);
}
.item-transcription.translation.no-ok .transcription-content-item {
  background: var(--wp--preset--color--negative-10);
}

.testing-popup-container .testing-content {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 16px;
  margin: 0;
  height: 100vh;
  text-align: center;
}

.spinner {
  width: 48px;
  height: 48px;
  margin: 16px;
  border: 12px solid #1e73be;
  border-right-color: transparent;
  border-radius: 50%;
  animation: doo-spin 1.2s linear infinite;
}

.oral-content .title-2,
.oral-content .text {
  max-width: 640px;
  margin: 0 auto;
}
.oral-content .title-2 {
  margin-bottom: 8px;
}
.oral-content .columns {
  margin: 56px auto;
  gap: 48px;
}
.oral-content .columns .column {
  width: 100%;
}
.oral-content .columns .column .questions-container {
  width: 100%;
}
.oral-content .columns .column .content-question {
  display: none;
  width: 100%;
}
.oral-content .columns .column .content-question.active {
  display: block;
}
.oral-content .columns .column:not(:first-child) {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.oral-content .columns .column .button {
  width: 200px;
  margin: 0 auto;
}
.oral-content .columns .column .question-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 448px;
  min-height: 48px;
  margin: 0 auto;
  flex-shrink: 0;
}
.oral-content .columns .column .question-actions.is-idle .button {
  visibility: hidden;
  pointer-events: none;
}
.oral-content .columns .column .question-actions .question-redo.is-hidden {
  visibility: hidden;
  pointer-events: none;
}
.oral-content .columns .column .question-actions .button {
  flex: 1 1 150px;
  max-width: 200px;
  margin: 0;
  min-width: 150px;
}
.oral-content .steps {
  margin: 0 auto 64px;
  width: max-content;
}
.oral-content .question {
  margin: 0 auto 32px;
  max-width: 448px;
}
.oral-content .answers {
  display: flex;
  flex-wrap: wrap;
  gap: 32px 24px;
  margin-bottom: 64px;
}
.oral-content .answers .item-sel {
  width: calc(50% - 12px);
}

.classes-content .no-results {
  margin-bottom: 24px;
  background: #FBF9F9;
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 32px 16px;
  border-radius: 24px;
}
.classes-content .no-results .text-title {
  font-family: "Domine";
  font-size: 24px;
  font-weight: 600;
  line-height: 1.3;
  margin-bottom: 8px;
}
.classes-content .no-results .buttons {
  margin-top: 48px;
  justify-content: center;
}
.classes-content .no-results .buttons .button {
  border-radius: 16px;
}

.doo-upgrade-plan .upgrade-content {
  padding: 8px 16px;
  border-radius: 16px;
  background: #FF8753;
  color: #FFF;
  display: flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  transition: all 0.4s ease;
  width: max-content;
}
.doo-upgrade-plan .upgrade-content img {
  filter: brightness(0) invert(1);
  background: transparent;
}
.doo-upgrade-plan .upgrade-content:hover {
  color: #000;
}
.doo-upgrade-plan .upgrade-content:hover img {
  filter: none;
}

.group-title .doo-upgrade-plan {
  position: absolute;
  bottom: 24px;
  right: 24px;
  z-index: 9;
}

.search-cont {
  margin-bottom: 16px;
  position: relative;
  display: flex;
  align-items: center;
  gap: 12px;
}
.search-cont img.icon {
  position: absolute;
  top: 8px;
  left: 8px;
}
.search-cont .search {
  height: 32px;
  border-radius: 8px;
  border: 1px solid #EBE8E8;
  padding: 0 8px 0 32px;
  width: 400px;
  background: #FFF;
}
.search-cont .search:hover {
  background: #FBF9F9;
  outline: 1px solid #FFC800;
}
.search-cont .search:focus {
  outline: 1px solid #FFC800;
  background: #FFF;
}
.search-cont .button.btn-search {
  height: 32px;
  border: 1px solid #EBE8E8;
  border-radius: 8px;
}

.popup-wrap.complex {
  max-width: min(688px, 100% - 32px);
}

/*--------------------------------------------------------------
# Structure
--------------------------------------------------------------*/
.structure-content .content-container {
  padding: clamp(24px, 19.5555555556vw + -64px, 112px) 0;
  min-height: 388px;
}
.structure-content .content {
  max-width: 454px;
  margin: 56px auto;
  border-radius: 24px;
  padding: 24px;
  border: 1px solid #EBE8E8;
  background: var(--wp--preset--color--neutral-30);
  min-height: 388px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.structure-content .content.example {
  background: var(--wp--preset--color--brand-10);
  border-color: var(--wp--preset--color--brand-30);
}
.structure-content .content.inverted {
  background: var(--wp--preset--color--blue-10);
  border-color: var(--wp--preset--color--blue-40);
}
.structure-content .content-inner {
  background: #FFF;
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: center;
  justify-content: center;
  padding: 23px 4px;
  border-radius: 24px;
  flex: 1;
}
.structure-content .content-inner .title-1 {
  margin: 0;
}
.structure-content .content-inner p {
  margin: 0;
}
.structure-content .play-notes-example,
.structure-content .play-notes {
  display: flex;
  gap: 24px;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
}
.structure-content .play-control {
  width: max-content;
  padding: 8px;
  border-radius: 24px;
  background: #FFF;
  display: flex;
  align-items: center;
}
.structure-content .see-notes {
  border: 0;
}
.structure-content .content.example .examples-container {
  position: relative;
  min-height: 388px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.structure-content .content.example .example-item {
  display: none;
  min-height: 388px;
  flex-direction: column;
  gap: 16px;
  align-items: center;
  justify-content: center;
}
.structure-content .content.example .example-item.active {
  display: flex;
}
.structure-content .content.example .example-item .content-inner {
  width: 100%;
}
.structure-content .content.example .example-navigation {
  display: flex;
  justify-content: center;
  margin-top: 16px;
}
.structure-content .content.example .example-navigation .example-counter {
  background: #FFF;
  padding: 8px 16px;
  border-radius: 20px;
  font-size: 14px;
  color: #454141;
  font-weight: 500;
}

.popup-notes-container {
  z-index: 20;
  /**
   * Override the default .popup-container .popup-wrap placement.
   *
   * The base rule centres the wrap with position: absolute + top/left 50%
   * + transform: translate(-50%, -50%) and sizes it with height: max-content
   * + overflow: hidden. In iOS Safari that combination collapses the wrap
   * to ~0px the first time the popup switches from hidden to visible, and
   * the inner content stays clipped. Using flex centring from the parent
   * (.popup-container.focus { display: flex }) and height: auto keeps the
   * wrap measurable on every engine. The inner .popup-content still owns
   * its own max-height + overflow-y, so scrolling behaviour is preserved.
   */
}
.popup-notes-container .popup-wrap {
  position: relative;
  top: auto;
  left: auto;
  transform: none;
  height: auto;
  overflow: visible;
}
.popup-notes-container .popup-content.popup-content {
  max-height: calc(100vh - 80px);
  z-index: 21;
}
.popup-notes-container .popup-content.popup-content .popup-inner {
  margin-bottom: 48px;
}
.popup-notes-container .text.transcription {
  display: flex;
  gap: 16px;
  justify-content: center;
  align-items: center;
}
.popup-notes-container .text.transcription span:not(.sep) {
  flex: 1;
}
.popup-notes-container .sep {
  font-size: 32px;
  line-height: 41.6px;
}
.popup-notes-container .columns {
  gap: 24px;
  margin-top: 56px;
  flex-direction: column;
}
.popup-notes-container .columns .column {
  text-align: left;
  width: 100%;
  border-radius: 24px;
  padding: 24px 32px;
}
.popup-notes-container .columns .column .title-2 {
  margin-bottom: 32px;
  color: #454141;
}
.popup-notes-container .columns .column .title-1 {
  margin: 0;
  font-size: clamp(14px, 0.8888888889vw + 10px, 18px);
  line-height: 1.4;
}
.popup-notes-container .columns .column.notes {
  background: #FFF4CC;
  /**
   * Editor-pasted notes frequently contain tables exported from
   * Word/Excel with legacy HTML width attributes (e.g.
   * <table width="426"> and <td width="426" style="width:320pt">).
   * iOS Safari (WebKit) treats those attributes as the table's
   * minimum intrinsic width, which ignores CSS `max-width: 100%`
   * when `table-layout` is `auto` and forces horizontal overflow.
   * As the column lives inside a flex container, its `min-width`
   * also defaults to `auto`, so the flex item grows past the
   * popup and clips the text on the right.
   *
   * The rules below neutralise that on every engine:
   *   - min-width: 0 lets the flex item shrink below its
   *     intrinsic content width.
   *   - table-layout: fixed + width: 100% makes the columns
   *     distribute within the available space regardless of
   *     any per-cell width attribute.
   *   - width/height: auto on tr/td/th overrides the legacy
   *     HTML width attributes coming from the editor.
   *   - word-break + overflow-wrap break long tokens (URLs,
   *     long inline <strong> spans) that WebKit otherwise
   *     keeps on a single line.
   */
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.popup-notes-container .columns .column.notes table {
  width: 100% !important;
  max-width: 100% !important;
  table-layout: fixed;
}
.popup-notes-container .columns .column.notes table tr,
.popup-notes-container .columns .column.notes table td,
.popup-notes-container .columns .column.notes table th {
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  word-break: break-word;
  overflow-wrap: anywhere;
}
.popup-notes-container .columns .column.examples {
  background: #FBF9F9;
  gap: 16px;
  display: flex;
  flex-direction: column;
}
.popup-notes-container .columns .column.examples .text {
  padding: 20px;
  border-radius: 24px 24px 24px 6px;
  background: #FFF;
  font-size: clamp(12px, 1.3333333333vw + 6px, 18px);
  line-height: 1.3;
  color: #171616;
}

/*--------------------------------------------------------------
# Dictation
--------------------------------------------------------------*/
.oral-content.dictation .popup-inner {
  max-width: 688px;
}
.oral-content.dictation .information {
  margin: 40px auto 24px;
  width: 454px;
  max-width: 100%;
  border-radius: 24px;
  padding: 32px 24px;
  background: var(--wp--preset--color--green-10);
  text-align: left;
}
.oral-content.dictation .information .instruction {
  display: flex;
  gap: 8px;
  align-items: flex-start;
}
.oral-content.dictation .information .instruction ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  gap: 8px;
  flex-direction: column;
  font-size: 14px;
  line-height: 1.4;
  color: #454141;
}
.oral-content.dictation .audio-control {
  width: 454px;
  max-width: 100%;
  margin: 0 auto 32px;
  background: #FBF9F9;
}
.oral-content.dictation .audio-control .progress-bar {
  width: 100%;
}
.oral-content.dictation .text-dictation .row {
  justify-content: center;
  background: #FBF9F9;
  padding: 8px;
}
.oral-content.dictation .text-dictation .row .char {
  background: #FFF;
  padding: 4px;
  width: 28px;
  height: 28px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 4px;
  border: 1px solid #EBE8E8;
  cursor: pointer;
}
.oral-content.dictation .text-dictation textarea {
  margin: 0 auto 56px;
}
.oral-content.dictation .popup-buttons .subtitle {
  font-size: 20px;
  font-weight: 600;
  line-height: 1.3;
  color: #454141;
  margin-bottom: 32px;
}
.oral-content.dictation .popup-buttons .title-text {
  font-weight: 500;
  color: #454141;
  margin-bottom: 16px;
  margin-top: 24px;
}
.oral-content.dictation .popup-buttons .title-text:first-of-type {
  margin-top: 0;
}
.oral-content.dictation .popup-buttons .text {
  font-weight: 500;
  color: #171616;
  margin-bottom: 24px;
  text-align: left;
  line-height: 1.6;
  padding: 16px;
  background: #FFF;
  border-radius: 8px;
}
.oral-content.dictation .popup-buttons .text.user-text, .oral-content.dictation .popup-buttons .text.correct-text {
  font-size: 15px;
}
.oral-content.dictation .popup-buttons .button.done {
  margin-top: 16px;
}

textarea {
  font-family: Inter !important;
  font-weight: 500;
  border: 1px solid #EBE8E8;
  border-radius: 4px;
  width: 100%;
  margin: 0 auto 56px;
  background: #FFF;
  padding: 12px;
  font-size: 14px;
  line-height: 1.4;
  color: #171616;
}
textarea:hover {
  border-color: #B8B3B2;
  background: #FBF9F9;
}
textarea:focus {
  border-color: var(--wp--preset--color--focus);
  outline: 0;
  box-shadow: 0px 0px 0px 3px rgba(255, 200, 0, 0.3019607843);
}
textarea.ok {
  border-color: var(--wp--preset--color--success-50);
}
textarea.no-ok {
  border-color: var(--wp--preset--color--danger);
}

/*--------------------------------------------------------------
# Reading
--------------------------------------------------------------*/
.task-popup-container.reading .popup-inner {
  max-width: 1312px;
}
.task-popup-container.relation .popup-inner {
  max-width: 1352px;
}

.reading-content .title-text-cont {
  display: flex;
  justify-content: space-between;
}
.reading-content .title-text-cont .arrow {
  display: none;
}
.reading-content .columns {
  margin: 56px auto;
  gap: 48px;
}
.reading-content .columns .column {
  width: 48%;
}
.reading-content .columns .column:first-child {
  display: block;
  text-align: left;
  border-radius: 24px;
  background: var(--wp--preset--color--neutral-30);
  border: 1px solid #EbE8E8;
  padding: 24px;
}
.reading-content .columns .column:first-child .image img {
  width: 100%;
  height: auto;
  border-radius: 16px;
}
.reading-content .columns .column:first-child .text {
  margin-top: 16px;
  background: #FFF;
  border-radius: 88px 24px;
  padding: 40px 32px;
}
.reading-content .columns .column:first-child .text .highlighted-word {
  position: relative;
  display: inline-flex;
  align-items: center;
}
.reading-content .columns .column:first-child .text .info-box {
  position: relative;
  padding: 2px;
  display: inline-flex;
  align-items: center;
}
.reading-content .columns .column:first-child .text .tooltip {
  display: none;
  position: absolute;
  background-color: var(--wp--preset--color--primary-40);
  color: #454141;
  font-size: 12px;
  line-height: 1;
  padding: 8px 12px;
  top: -32px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
  border-radius: 8px;
  box-shadow: 0px 12px 16px -4px rgba(219, 167, 0, 0.0784313725);
}
.reading-content .columns .column:first-child .text .tooltip:after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-width: 5px;
  border-style: solid;
  border-color: var(--wp--preset--color--primary-40) transparent transparent transparent; /* Flecha hacia abajo */
}
.reading-content .columns .column:first-child .text img {
  width: 16px;
  height: 16px;
  cursor: pointer;
}
.reading-content .columns .column .content-question {
  display: none;
  width: 100%;
}
.reading-content .columns .column .content-question.active {
  display: block;
}
.reading-content .columns .column:not(:first-child) {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.reading-content .columns .button {
  width: 200px;
  margin: 0 auto;
}
.reading-content .columns .question-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 448px;
  min-height: 48px;
  margin: 0 auto;
  flex-shrink: 0;
}
.reading-content .columns .question-actions.is-idle .button {
  visibility: hidden;
  pointer-events: none;
}
.reading-content .columns .question-actions .question-redo.is-hidden {
  visibility: hidden;
  pointer-events: none;
}
.reading-content .columns .question-actions .button {
  flex: 1 1 150px;
  max-width: 200px;
  margin: 0;
  min-width: 150px;
}
.reading-content .steps {
  margin: 0 auto 64px;
  width: max-content;
}
.reading-content .question {
  margin: 0 auto 32px;
  max-width: 448px;
}
.reading-content .answers {
  display: flex;
  flex-wrap: wrap;
  gap: 32px 24px;
  margin-bottom: 64px;
}
.reading-content .answers .item-sel {
  width: calc(50% - 12px);
}

.relation-content {
  margin: 100px auto;
}
.relation-content .row-1 {
  margin-bottom: 80px;
}
.relation-content .item-sel {
  position: relative;
  max-width: 320px;
}
.relation-content .item-sel .image-cont {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  aspect-ratio: 296/248;
  padding: 12px;
}
.relation-content .item-sel img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  display: block;
  border-radius: 8px;
  border: 1px solid #EBE8E8;
}
.relation-content .item-sel .zoom {
  position: absolute;
  bottom: 24px;
  right: 24px;
  width: 36px;
  height: 36px;
  cursor: pointer;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #FFEF99;
  border: 1px solid #DBA700;
  border-radius: 12px;
}
.relation-content .item-sel .zoom img {
  width: 20px;
  height: 20px;
}
.relation-content .item-sel.image {
  padding: 12px;
  height: 272px;
  justify-content: center;
}
.relation-content .item-sel.image .num {
  position: absolute;
  z-index: 9;
  top: 28px;
  left: 24px;
}
.relation-content .item-sel.image .text {
  position: relative;
  z-index: 1;
  background: #FFF;
  padding: 12px;
  border-radius: 8px;
  opacity: 0.85;
}
.relation-content .row-2 .item-sel.active:before {
  content: "";
  width: 2px;
  height: 80px;
  background: #B8B3B2;
  position: absolute;
  left: 50%;
  top: -81px;
}
.relation-content .row-2 .item-sel.active.ok:before {
  background: var(--wp--preset--color--success-20);
}
.relation-content .row-2 .item-sel.active.no-ok:before {
  background: var(--wp--preset--color--negative-20);
}
.relation-content .row {
  flex-direction: row;
  align-items: stretch;
}

.doo-image-zoom-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.8);
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
  cursor: pointer;
}
.doo-image-zoom-overlay.active {
  opacity: 1;
  visibility: visible;
}
.doo-image-zoom-overlay .doo-zoom-content {
  position: relative;
  width: 80vw;
  height: 80vh;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.doo-image-zoom-overlay .doo-zoom-content .doo-zoomed-image {
  max-width: 80vw;
  max-height: 80vh;
  width: 100%;
  object-fit: contain;
  border-radius: 8px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
  cursor: default;
  aspect-ratio: 296/248;
}

body.zoom-active {
  overflow: hidden;
}

.zoom {
  position: relative;
  display: flex;
  align-items: center;
  cursor: pointer;
}
.zoom-text {
  position: absolute;
  right: 100%;
  background: #FFEF99;
  border: 1px solid #DBA700;
  color: #454141;
  padding: 4px 8px;
  border-radius: 4px;
  font-size: 14px;
  white-space: nowrap;
  opacity: 0;
  transform: translateX(20px);
  transition: all 0.5s ease;
  pointer-events: none;
  margin-right: 4px;
  font-weight: 600;
}
.zoom:hover .zoom-text {
  opacity: 1;
  transform: translateX(0);
}

/*--------------------------------------------------------------
# Written
--------------------------------------------------------------*/
.written-content .popup-inner {
  max-width: 688px;
  padding: 40px 0;
}
.written-content .information {
  margin: 40px auto 24px;
  width: 100%;
  border-radius: 24px;
  padding: 32px 24px;
  background: var(--wp--preset--color--green-10);
  text-align: left;
  position: relative;
  overflow: hidden;
}
.written-content .information .cover {
  position: absolute;
  right: 0;
  bottom: -6px;
}
.written-content .information .title,
.written-content .information .instruction {
  position: relative;
  z-index: 1;
}
.written-content .information .instruction {
  display: flex;
  gap: 8px;
  align-items: flex-start;
  max-width: 426px;
}
.written-content .information .instruction .text {
  font-size: 14px;
  line-height: 1.4;
  color: #454141;
}
.written-content .information .instruction .text p {
  margin: 0;
}
.written-content .text-dictation {
  width: 100%;
}
.written-content .text-dictation .row {
  justify-content: center;
  background: #FBF9F9;
  padding: 8px;
}
.written-content .text-dictation .row .char {
  background: #FFF;
  padding: 4px;
  width: 28px;
  height: 28px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 4px;
  border: 1px solid #EBE8E8;
  cursor: pointer;
}
.written-content .text-dictation textarea {
  margin: 0 auto 56px;
}

.block-spinner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 56px;
  max-width: 588px;
  text-align: center;
  height: 100%;
  padding: 0 16px;
}
.block-spinner .doo-spinner {
  position: unset;
}
.block-spinner .title {
  font-size: 32px;
  line-height: 1.3;
  font-weight: 520;
  margin: 0;
}
.block-spinner .text {
  font-size: 20px;
  line-height: 1.4;
  font-weight: 600;
}

.block-evaluation {
  width: 1212px;
  max-width: calc(100vw - 32px);
  margin: 0 auto;
}
.block-evaluation .title-1 {
  text-align: center;
}
.block-evaluation .columns {
  display: grid;
  grid-template-columns: 1fr 512px;
  grid-gap: 24px;
}
.block-evaluation .columns .column {
  width: 100%;
}
.block-evaluation .columns .column:first-child {
  margin-bottom: 24px;
}
.block-evaluation .columns .column:not(:first-child) {
  background: #FBF9F9;
  border-radius: 4px;
  border: 1px solid #EBE8E8;
}
.block-evaluation .columns .correct,
.block-evaluation .columns .essay {
  padding: 16px;
}
.block-evaluation .columns .correct .text,
.block-evaluation .columns .essay .text {
  min-height: 200px;
}
.block-evaluation .columns .tag {
  padding: 4px 8px;
  display: flex;
  gap: 4px;
  align-items: center;
  border-radius: 32px;
  font-size: 14px;
  line-height: 1;
  font-weight: 600;
  height: 24px;
  margin-bottom: 24px;
  width: max-content;
}
.block-evaluation .columns .essay {
  border-bottom: 1px solid #EBE8E8;
}
.block-evaluation .columns .essay .tag {
  border: 1px solid #EBE8E8;
  background: #FBF9F9;
}
.block-evaluation .columns .correct .tag {
  border: 1px solid var(--wp--preset--color--success-20);
  background: var(--wp--preset--color--success-10);
}
.block-evaluation .header {
  position: relative;
  overflow: hidden;
  border-radius: 4px 4px 0 0;
  padding: 24px 32px;
}
.block-evaluation .header .text {
  font-size: 20px;
  line-height: 1.3;
  margin-bottom: 8px;
  font-weight: 600;
}
.block-evaluation .header .score {
  font-size: 26px;
  line-height: 1.35;
  margin: 0;
  font-weight: 600;
  max-width: 100%;
  position: relative;
  z-index: 1;
}
.block-evaluation .cover {
  display: none;
  position: absolute;
  top: 0;
  right: 0;
}
.block-evaluation .errors {
  padding: 24px 32px;
  margin-bottom: 150px;
}
.block-evaluation .list-errors {
  background: #FFF;
  padding: 16px;
  border-radius: 8px;
}
.block-evaluation.warning .header {
  background: var(--wp--preset--color--primary-10);
}
.block-evaluation.warning .warning {
  display: block;
}
.block-evaluation.ok .header {
  background: var(--wp--preset--color--success-10);
}
.block-evaluation.ok .ok {
  display: block;
}

/*--------------------------------------------------------------
# Products
--------------------------------------------------------------*/
.wp-block-doo-block-products-banner .products-banner {
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
  padding: clamp(24px, 10.6666666667vw + -24px, 72px) 0 clamp(0px, 17.7777777778vw + -80px, 80px);
  justify-content: center;
}
.wp-block-doo-block-products-banner .products-banner.no-switch .product-item.year {
  display: block;
}
.wp-block-doo-block-products-banner .products-banner .product-item {
  position: relative;
}
.wp-block-doo-block-products-banner .product-item {
  flex: 1 1 calc(25% - 24px);
  max-width: calc(25% - 24px);
  padding: 24px;
  background: var(--wp--preset--color--neutral-30);
  border: 1px solid var(--wp--preset--color--neutral-40);
  border-radius: 24px;
  position: relative;
  overflow: hidden;
  min-width: 310px;
}
.wp-block-doo-block-products-banner .product-item.featured {
  background: var(--wp--preset--color--blue-10);
  border: 2px solid var(--wp--preset--color--blue-50);
}
.wp-block-doo-block-products-banner .product-item.featured .price .period {
  color: var(--wp--preset--color--blue-50);
}
.wp-block-doo-block-products-banner .product-item.featured .excerpt {
  position: relative;
  z-index: 1;
}
.wp-block-doo-block-products-banner .product-item.featured .excerpt ul {
  list-style-image: url("../images/state-b.svg");
}
.wp-block-doo-block-products-banner .product-item.featured:before {
  content: url("../images/plan.svg");
  position: absolute;
  bottom: -6px;
  right: 0;
}
.wp-block-doo-block-products-banner .product-item img {
  width: 42px;
  height: 24px;
}
.wp-block-doo-block-products-banner .product-item .title {
  margin: 12px 0 8px;
}
.wp-block-doo-block-products-banner .product-item .description {
  margin-bottom: 72px;
  font-size: 16px;
  line-height: 1.5;
  height: 48px;
}
.wp-block-doo-block-products-banner .product-item .price {
  font-size: clamp(24px, 5.3333333333vw + 0px, 48px);
  line-height: 1.3;
  font-weight: 600;
}
.wp-block-doo-block-products-banner .product-item .price .period {
  font-size: clamp(14px, 0.8888888889vw + 10px, 18px);
  line-height: 1.5;
  font-weight: 500;
  margin-left: 8px;
}
.wp-block-doo-block-products-banner .product-item .price del {
  font-size: clamp(14px, 1.3333333333vw + 8px, 20px);
  font-weight: 400;
  line-height: 1.2;
  display: block;
}
.wp-block-doo-block-products-banner .product-item .price ins {
  text-decoration: none;
}
.wp-block-doo-block-products-banner .product-item .button {
  width: 100%;
  margin: 16px 0 0;
  border: 0;
}
.wp-block-doo-block-products-banner .product-item .excerpt ul {
  margin: 0;
  padding: 34px 0 0 20px;
  list-style-image: url("../images/state-w.svg");
}
.wp-block-doo-block-products-banner .product-item .excerpt ul li:last-child {
  padding-bottom: 0;
}
.wp-block-doo-block-products-banner .product-item.year {
  display: none;
}

.switch-container {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}
.switch-container .switch-label {
  font-size: 16px;
  font-weight: 500;
}
.switch-container .switch-content {
  position: relative;
  width: 60px;
  height: 30px;
  margin: 0 10px;
  border-radius: 30px;
  background-color: #ddd;
  cursor: pointer;
}
.switch-container .switch-content::before {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background-color: #fff;
  transition: 0.3s;
}
.switch-container input {
  display: none;
}
.switch-container input:checked + .switch-content::before {
  transform: translateX(30px);
}
.switch-container input:checked + .switch-content {
  background-color: #000;
}
.switch-container .save {
  color: #454141;
  background: var(--wp--preset--color--green-20);
  font-size: 14px;
  line-height: 1;
  border-radius: 32px;
  padding: 8px 12px;
  display: flex;
  align-items: center;
  margin-left: 4px;
}

@media (max-width: 600px) {
  .wp-block-doo-block-products-banner .product-item {
    min-width: 100%;
  }
}
/*--------------------------------------------------------------
# Help System
--------------------------------------------------------------*/
.doo-help-section {
  margin: 20px 0;
  padding: 16px;
  background: #FBF9F9;
  border-radius: 8px;
  border: 1px solid #EBE8E8;
}
.doo-help-section p {
  margin: 0 0 12px 0;
}
.doo-help-section p:last-child {
  margin-bottom: 0;
}
.doo-help-section strong {
  color: #171616;
  font-weight: 600;
}

.doo-help-button {
  background: var(--wp--preset--color--blue-50);
  color: #fff;
  border: none;
  border-radius: 24px;
  padding: 8px 16px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: all 0.3s ease;
  text-decoration: none;
}
.doo-help-button:hover {
  background: #5891f5;
  color: #fff;
  transform: translateY(-1px);
}
.doo-help-button:active {
  transform: translateY(0);
}
.doo-help-button .help-icon {
  font-size: 16px;
  line-height: 1;
}
.doo-help-button .help-text {
  font-size: 14px;
  line-height: 1;
}
.doo-help-button.doo-help-btn-icon-only {
  padding: 8px;
  border-radius: 50%;
  width: 32px;
  height: 32px;
  justify-content: center;
}
.doo-help-button.doo-help-btn-icon-only.doo-help-btn-small {
  width: 24px;
  height: 24px;
  padding: 4px;
}
.doo-help-button.doo-help-btn-icon-only.doo-help-btn-small .help-icon {
  font-size: 12px;
}
.doo-help-button.doo-help-btn-icon-only.doo-help-btn-large {
  width: 40px;
  height: 40px;
  padding: 12px;
}
.doo-help-button.doo-help-btn-icon-only.doo-help-btn-large .help-icon {
  font-size: 20px;
}
.doo-help-button.doo-help-btn-text-only .help-icon {
  display: none;
}
.doo-help-button.doo-help-btn-small {
  padding: 6px 12px;
  font-size: 12px;
}
.doo-help-button.doo-help-btn-small .help-icon {
  font-size: 14px;
}
.doo-help-button.doo-help-btn-large {
  padding: 12px 20px;
  font-size: 16px;
}
.doo-help-button.doo-help-btn-large .help-icon {
  font-size: 18px;
}

.doo-help-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.7);
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
}
.doo-help-overlay.active {
  opacity: 1;
  visibility: visible;
}

.doo-help-popup {
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
  width: 90vw;
  max-width: 800px;
  max-height: 90vh;
  display: flex;
  flex-direction: column;
  transform: scale(0.8);
  transition: transform 0.3s ease;
}
.doo-help-overlay.active .doo-help-popup {
  transform: scale(1);
}
.doo-help-popup.loading .doo-help-content {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 200px;
}

.doo-help-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 24px 32px;
  border-bottom: 1px solid #EBE8E8;
  background: #FBF9F9;
  border-radius: 16px 16px 0 0;
  flex-shrink: 0;
}
.doo-help-header .doo-help-title {
  font-size: 20px;
  font-weight: 600;
  line-height: 1.3;
  margin: 0;
  color: #171616;
}
.doo-help-header .doo-help-close {
  background: none;
  border: none;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
  color: #454141;
  padding: 4px;
  border-radius: 4px;
  transition: all 0.2s ease;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.doo-help-header .doo-help-close:hover {
  background: #EBE8E8;
  color: #171616;
}

.doo-help-body {
  flex: 1;
  overflow-y: auto;
  padding: 0;
  min-height: 200px;
  max-height: calc(90vh - 160px);
}
.doo-help-body .doo-help-content {
  padding: 32px;
  line-height: 1.6;
  color: #171616;
}
.doo-help-body .doo-help-content h1, .doo-help-body .doo-help-content h2, .doo-help-body .doo-help-content h3, .doo-help-body .doo-help-content h4, .doo-help-body .doo-help-content h5, .doo-help-body .doo-help-content h6 {
  margin: 0 0 16px;
  color: #171616;
}
.doo-help-body .doo-help-content h1 {
  font-size: 28px;
}
.doo-help-body .doo-help-content h2 {
  font-size: 24px;
}
.doo-help-body .doo-help-content h3 {
  font-size: 20px;
}
.doo-help-body .doo-help-content h4 {
  font-size: 18px;
}
.doo-help-body .doo-help-content h5 {
  font-size: 16px;
}
.doo-help-body .doo-help-content h6 {
  font-size: 14px;
}
.doo-help-body .doo-help-content p {
  margin: 0 0 16px;
}
.doo-help-body .doo-help-content ul, .doo-help-body .doo-help-content ol {
  margin: 0 0 16px;
  padding-left: 20px;
}
.doo-help-body .doo-help-content ul li, .doo-help-body .doo-help-content ol li {
  margin-bottom: 8px;
}
.doo-help-body .doo-help-content strong {
  font-weight: 600;
}
.doo-help-body .doo-help-content code {
  background: #F4F4F4;
  padding: 2px 6px;
  border-radius: 4px;
  font-family: "Courier New", monospace;
  font-size: 13px;
}
.doo-help-body .doo-help-content pre {
  background: #F4F4F4;
  padding: 16px;
  border-radius: 8px;
  overflow-x: auto;
  margin: 0 0 16px;
}
.doo-help-body .doo-help-content pre code {
  background: none;
  padding: 0;
}
.doo-help-body .doo-help-content .help-highlight {
  background: var(--wp--preset--color--primary-10);
  padding: 16px;
  border-radius: 8px;
  border-left: 4px solid var(--wp--preset--color--primary-50);
  margin: 16px 0;
}
.doo-help-body .doo-help-content .help-highlight.warning {
  background: var(--wp--preset--color--negative-10);
  border-left-color: var(--wp--preset--color--negative-50);
}
.doo-help-body .doo-help-content .help-highlight.info {
  background: var(--wp--preset--color--blue-10);
  border-left-color: var(--wp--preset--color--blue-50);
}
.doo-help-body .doo-help-content .help-highlight.success {
  background: var(--wp--preset--color--success-10);
  border-left-color: var(--wp--preset--color--success-50);
}
.doo-help-body .doo-help-content .help-step {
  background: #FBF9F9;
  padding: 20px;
  border-radius: 8px;
  margin: 16px 0;
  border: 1px solid #EBE8E8;
}
.doo-help-body .doo-help-content .help-step .step-number {
  background: var(--wp--preset--color--primary-50);
  color: #fff;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 600;
  margin-right: 12px;
}
.doo-help-body .doo-help-content .help-step .step-title {
  font-weight: 600;
  font-size: 16px;
  margin-bottom: 8px;
}
.doo-help-body .doo-help-loading {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 40px;
  color: #454141;
}
.doo-help-body .doo-help-loading .spinner {
  width: 32px;
  height: 32px;
  border: 3px solid #EBE8E8;
  border-top: 3px solid var(--wp--preset--color--primary-50);
  border-radius: 50%;
  animation: spin 1s linear infinite;
  margin-bottom: 16px;
}
.doo-help-body .doo-help-loading p {
  margin: 0;
  font-size: 16px;
}
.doo-help-body .doo-help-error {
  text-align: center;
  padding: 40px;
  color: var(--wp--preset--color--negative-50);
}
.doo-help-body .doo-help-error p {
  margin: 0;
  font-size: 16px;
}

.doo-help-footer {
  padding: 20px 32px;
  border-top: 1px solid #EBE8E8;
  background: #FBF9F9;
  border-radius: 0 0 16px 16px;
  display: flex;
  justify-content: flex-end;
  flex-shrink: 0;
}
.doo-help-footer .button {
  background: var(--wp--preset--color--primary-50);
  color: #fff;
  border: none;
  border-radius: 24px;
  padding: 12px 24px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.3s ease;
}
.doo-help-footer .button:hover {
  background: var(--wp--preset--color--primary-60);
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@media (max-width: 768px) {
  .doo-help-popup {
    width: 95vw;
    max-height: 95vh;
  }
  .doo-help-header,
  .doo-help-footer {
    padding: 16px 20px;
  }
  .doo-help-body .doo-help-content {
    padding: 20px;
  }
  .doo-help-header .doo-help-title {
    font-size: 18px;
  }
}
/*--------------------------------------------------------------
# Teacher
--------------------------------------------------------------*/
.table-1 th {
  text-align: left;
  display: inline-block;
  padding: 8px 24px 8px 0;
}
.table-1 .form-field textarea {
  margin: 0;
}

.table-2 td,
.table-2 th {
  padding: 8px 16px;
  text-align: center;
}
.table-2 th {
  border-bottom: 1px solid #aaa;
}

table.fixed {
  table-layout: fixed;
  border-collapse: collapse;
  width: auto;
}
table.fixed th, table.fixed td {
  border: 1px solid #ddd;
  padding: 8px;
  text-align: left;
  white-space: nowrap;
  display: table-cell;
  vertical-align: middle;
}
table.fixed th {
  background-color: #f4f4f4;
  font-weight: bold;
}
table.fixed tr:nth-child(even) {
  background-color: #f9f9f9;
}

.tablenav {
  display: flex;
  justify-content: center;
  margin-top: 20px;
}
.tablenav .tablenav-pages {
  display: flex;
  list-style: none;
  padding: 0;
  gap: 10px;
}
.tablenav .tablenav-pages a,
.tablenav .tablenav-pages span {
  display: inline-block;
  padding: 8px 12px;
  border: 1px solid #ccc;
  border-radius: 5px;
  text-decoration: none;
  color: #333;
  font-size: 14px;
  transition: all 0.3s ease;
}
.tablenav .tablenav-pages a:hover {
  background-color: #f0f0f0;
  border-color: #999;
}
.tablenav .tablenav-pages .current {
  background-color: var(--wp--preset--color--primary-50);
  color: #fff;
  border-color: var(--wp--preset--color--primary-50);
}
.tablenav .tablenav-pages .prev:before {
  content: "«";
  margin-right: 5px;
}
.tablenav .tablenav-pages .next:after {
  content: "»";
  margin-left: 5px;
}

.group-title.students {
  background: var(--wp--preset--color--blue-20);
}
.group-title.classes {
  background: var(--wp--preset--color--primary-20);
}

table.calendar {
  table-layout: fixed;
  border-collapse: collapse;
  width: 100%;
}
table.calendar td {
  border: 1px solid #ddd;
  overflow-x: hidden;
  vertical-align: top;
  height: 100px;
}
table.calendar ul {
  list-style: none;
  padding: 0;
  margin: 2px;
}
table.calendar ul li {
  padding: 4px;
  background: var(--wp--preset--color--success-20);
  position: relative;
  border-bottom: 1px solid #999;
}
table.calendar ul li:before {
  content: "";
  position: absolute;
  top: 2px;
  right: 2px;
}
table.calendar ul li.private:before {
  content: url("../images/private.svg");
}
table.calendar ul li.grouped:before {
  content: url("../images/group.svg");
}
table.calendar ul li.pending {
  cursor: pointer;
  background: var(--wp--preset--color--blue-10);
}
table.calendar ul li.pending.grouped {
  background: var(--wp--preset--color--green-20);
}
table.calendar ul li.full {
  cursor: pointer;
  background: var(--wp--preset--color--blue-40);
}
table.calendar ul li.full.grouped {
  background: var(--wp--preset--color--green-40);
}
table.calendar ul li.inprocess {
  cursor: pointer;
  background: var(--wp--preset--color--blue-50);
}
table.calendar ul li.cancelled {
  cursor: pointer;
  background: var(--wp--preset--color--negative-20);
}
table.calendar ul li.completed {
  pointer-events: none;
  background: var(--wp--preset--color--primary-20);
}
table.calendar ul li.not-available {
  cursor: pointer;
  background: var(--wp--preset--color--negative-40);
}
table.calendar .day {
  font-size: 24px;
  line-height: 1.2;
  font-weight: 600;
  padding: 4px;
}
table.calendar .count,
table.calendar .status {
  font-size: 12px;
  line-height: 1.2;
}
table.calendar .class {
  font-size: 14px;
  line-height: 1.3;
  max-width: 120px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.teacher select,
.teacher input:not([type=submit]) {
  border: 1px solid var(--wp--preset--color--neutral-30);
  background: #FFF;
  height: 40px;
  border-radius: 8px;
  padding: 12px;
}
.teacher .button.remove-class,
.teacher .button.edit-class,
.teacher .button.add-class {
  padding: 4px;
  margin: 4px;
  height: 20px;
}
.teacher input[type=submit] {
  margin-top: 40px;
  border-radius: 16px;
}
.teacher .doo-avatar {
  height: 80px;
}
.teacher .doo-avatar img {
  max-width: 80px;
  height: 80px;
}

.popup-confirm-container.teacher-class .popup-inner {
  text-align: left;
  position: relative;
}
.popup-confirm-container.teacher-class .popup-inner .status {
  position: absolute;
  top: 0;
  right: 0;
}
.popup-confirm-container.teacher-class .popup-inner .zoom-status {
  position: absolute;
  top: -32px;
  left: 0;
}
.popup-confirm-container.teacher-class .popup-inner label {
  display: block;
}
.popup-confirm-container.teacher-class .popup-inner .row {
  justify-content: flex-start;
  margin-top: 12px;
}
.popup-confirm-container.teacher-class .popup-inner .row.buttons {
  margin-top: 32px;
}
.popup-confirm-container.teacher-class .popup-inner input {
  height: 40px;
  border-radius: 8px;
  padding: 12px;
  border: 1px solid var(--wp--preset--color--neutral-30);
  background: #FFF;
}
.popup-confirm-container.teacher-class .popup-inner input[type=number] {
  width: 100px;
}
.popup-confirm-container.teacher-class .popup-inner input[readonly] {
  background: #CCC;
  appearance: none;
}
.popup-confirm-container.teacher-class .popup-inner .input-group.zoom-link-group {
  display: flex;
  align-items: center;
  gap: 8px;
}
.popup-confirm-container.teacher-class .popup-inner .input-group.zoom-link-group input[type=text] {
  flex: 1;
  margin: 0;
}
.popup-confirm-container.teacher-class .popup-inner .zoom-generate-btn {
  background: var(--wp--preset--color--primary-50);
  color: #fff;
  border: none;
  border-radius: 8px;
  padding: 0;
  font-size: 16px;
  cursor: pointer;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  transition: all 0.3s ease;
  flex-shrink: 0;
}
.popup-confirm-container.teacher-class .popup-inner .zoom-generate-btn:hover {
  background: var(--wp--preset--color--primary-60);
}
.popup-confirm-container.teacher-class .popup-inner .zoom-generate-btn:disabled {
  background: #ccc;
  cursor: not-allowed;
}
.popup-confirm-container.teacher-class .popup-inner .zoom-generate-btn .icon,
.popup-confirm-container.teacher-class .popup-inner .zoom-generate-btn .spinner {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  font-size: 16px;
  line-height: 1;
  margin: 0;
}
.popup-confirm-container.teacher-class .popup-inner .zoom-generate-btn .spinner {
  font-size: 14px;
  display: none;
}
.popup-confirm-container.teacher-class .popup-inner .zoom-generate-btn.loading .icon {
  display: none;
}
.popup-confirm-container.teacher-class .popup-inner .zoom-generate-btn.loading .spinner {
  display: flex !important;
  animation: doo-spinner 1.2s linear infinite;
}
.popup-confirm-container.teacher-class .popup-inner .zoom-status-indicator {
  display: inline-flex;
  align-items: center;
  font-size: 18px;
  color: var(--wp--preset--color--success-50);
  margin-left: 8px;
  padding: 4px;
}
.popup-confirm-container.teacher-class .popup-inner.zoom-locked {
  position: relative;
}
.popup-confirm-container.teacher-class .popup-inner.zoom-locked::before {
  content: "🔒";
  position: absolute;
  top: -36px;
  right: 8px;
  background: var(--wp--preset--color--success-50);
  color: white;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  z-index: 1;
}
.popup-confirm-container.teacher-class .popup-inner.zoom-locked input[readonly],
.popup-confirm-container.teacher-class .popup-inner.zoom-locked select[disabled] {
  background-color: #f8f9fa !important;
  color: #6c757d !important;
  border-color: #e9ecef !important;
  cursor: not-allowed;
  opacity: 0.8;
}
.popup-confirm-container.teacher-class .popup-inner.zoom-locked .zoom-status {
  color: var(--wp--preset--color--success-50);
  font-weight: 500;
  font-style: italic;
}
.popup-confirm-container.teacher-class .popup-inner .cancel-class-container {
  display: flex;
  flex-direction: column;
  margin-top: 16px;
}

.edit-student,
.add-class,
.edit-class,
.remove-class {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 4px;
  cursor: pointer;
}

.row.percentage {
  gap: 80px;
  justify-content: flex-start;
}

.popup-confirm-container.teacher-student .popup-confirm-content.popup-content {
  max-width: 1400px;
}

table.fixed.students-list th {
  text-align: center;
}
table.fixed.students-list td:not(:nth-child(-n+4)) {
  text-align: center;
}

.zoom-message-popup {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
  padding: 24px;
  max-width: 400px;
  width: 90%;
  z-index: 10001;
  text-align: center;
}
.zoom-message-popup.error {
  border-left: 4px solid var(--wp--preset--color--negative-50);
}
.zoom-message-popup.success {
  border-left: 4px solid var(--wp--preset--color--success-50);
}
.zoom-message-popup .title {
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 12px;
  color: #333;
}
.zoom-message-popup .message {
  font-size: 14px;
  color: #666;
  line-height: 1.4;
  margin-bottom: 20px;
}
.zoom-message-popup .button {
  background: var(--wp--preset--color--primary-50);
  color: #fff;
  border: none;
  border-radius: 4px;
  padding: 8px 20px;
  cursor: pointer;
  font-size: 14px;
}
.zoom-message-popup .button:hover {
  background: var(--wp--preset--color--primary-60);
}

.dashboard-content.teacher input:not([type=submit]):not([type=checkbox]):not([type=radio]) {
  width: 100%;
  border: 1px solid var(--wp--preset--color--neutral-50);
}
.dashboard-content.teacher select {
  width: max-content;
  border: 1px solid var(--wp--preset--color--neutral-50);
}
.dashboard-content.teacher .doo-image-reset-id,
.dashboard-content.teacher .image-upload-id {
  color: var(--wp--preset--color--neutral-70);
}

.class-list .class .icon {
  margin: 0;
  width: 24px;
  height: 24px;
}

.popup-confirm-container.bulk-generate-modal .popup-confirm-content {
  max-width: 800px;
  width: 95%;
}
.popup-confirm-container.bulk-generate-modal .popup-inner {
  text-align: left;
}
.popup-confirm-container.bulk-generate-modal .popup-inner h3 {
  margin: 0 0 24px 0;
  font-size: var(--wp--preset--font-size--ml);
  color: var(--wp--preset--color--neutral-90);
  text-align: center;
  font-family: var(--wp--preset--font-family--inter);
  font-weight: 500;
}
.popup-confirm-container.bulk-generate-modal .popup-inner .row {
  display: flex;
  gap: 16px;
  margin-bottom: 16px;
  align-items: flex-end;
}
.popup-confirm-container.bulk-generate-modal .popup-inner .row:last-of-type {
  margin-bottom: 0;
}
.popup-confirm-container.bulk-generate-modal .popup-inner .row .col {
  flex: 1;
}
.popup-confirm-container.bulk-generate-modal .popup-inner .row label {
  display: block;
  margin-bottom: 4px;
  font-weight: 500;
  color: var(--wp--preset--color--contrast);
  font-size: var(--wp--preset--font-size--s);
}
.popup-confirm-container.bulk-generate-modal .popup-inner .row input, .popup-confirm-container.bulk-generate-modal .popup-inner .row select {
  width: 100%;
  padding: 8px 12px;
  border: 1px solid var(--wp--preset--color--neutral-40);
  border-radius: 4px;
  font-size: var(--wp--preset--font-size--s);
  background: var(--wp--preset--color--base);
  color: var(--wp--preset--color--contrast);
}
.popup-confirm-container.bulk-generate-modal .popup-inner .row input:focus, .popup-confirm-container.bulk-generate-modal .popup-inner .row select:focus {
  outline: none;
  border-color: var(--wp--preset--color--primary-50);
  box-shadow: 0 0 0 2px rgba(255, 200, 0, 0.1);
}
.popup-confirm-container.bulk-generate-modal .popup-inner .row input:invalid, .popup-confirm-container.bulk-generate-modal .popup-inner .row select:invalid {
  border-color: var(--wp--preset--color--negative-40);
}
.popup-confirm-container.bulk-generate-modal .popup-inner .row input[type=number] {
  width: 120px;
}
.popup-confirm-container.bulk-generate-modal .popup-inner .row input[readonly] {
  background: var(--wp--preset--color--neutral-30);
  color: var(--wp--preset--color--neutral-60);
}
.popup-confirm-container.bulk-generate-modal .popup-inner .weekdays-selector {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 8px;
}
.popup-confirm-container.bulk-generate-modal .popup-inner .weekdays-selector .weekday-checkbox {
  display: flex;
  align-items: center;
  margin: 0;
  cursor: pointer;
  user-select: none;
  padding: 4px 8px;
  border-radius: 4px;
  transition: all 0.2s ease;
}
.popup-confirm-container.bulk-generate-modal .popup-inner .weekdays-selector .weekday-checkbox input[type=checkbox] {
  width: auto;
  margin: 0 8px 0 0;
  transform: scale(1.1);
  accent-color: var(--wp--preset--color--primary-50);
}
.popup-confirm-container.bulk-generate-modal .popup-inner .weekdays-selector .weekday-checkbox span {
  font-size: var(--wp--preset--font-size--s);
  color: var(--wp--preset--color--contrast);
  min-width: 35px;
}
.popup-confirm-container.bulk-generate-modal .popup-inner .weekdays-selector .weekday-checkbox:hover span {
  color: var(--wp--preset--color--primary-50);
}
.popup-confirm-container.bulk-generate-modal .popup-inner .weekdays-selector .weekday-checkbox.available {
  background: var(--wp--preset--color--success-10);
  border: 1px solid var(--wp--preset--color--success-20);
}
.popup-confirm-container.bulk-generate-modal .popup-inner .weekdays-selector .weekday-checkbox.available span {
  color: var(--wp--preset--color--success-40);
  font-weight: 500;
}
.popup-confirm-container.bulk-generate-modal .popup-inner .weekdays-selector .weekday-checkbox.unavailable {
  background: var(--wp--preset--color--neutral-30);
  border: 1px solid var(--wp--preset--color--neutral-40);
  opacity: 0.6;
}
.popup-confirm-container.bulk-generate-modal .popup-inner .weekdays-selector .weekday-checkbox.unavailable span {
  color: var(--wp--preset--color--neutral-60);
  text-decoration: line-through;
}
.popup-confirm-container.bulk-generate-modal .popup-inner .weekdays-selector .weekday-checkbox.unavailable input[type=checkbox] {
  opacity: 0.5;
}
.popup-confirm-container.bulk-generate-modal .popup-inner .weekdays-selector .weekday-checkbox.weekend-day span {
  font-style: italic;
}
.popup-confirm-container.bulk-generate-modal .popup-inner .weekdays-selector .weekday-checkbox.weekend-available {
  background: var(--wp--preset--color--blue-10);
  border: 1px solid var(--wp--preset--color--blue-20);
  cursor: pointer;
}
.popup-confirm-container.bulk-generate-modal .popup-inner .weekdays-selector .weekday-checkbox.weekend-available span {
  color: var(--wp--preset--color--blue-50);
  font-style: italic;
}
.popup-confirm-container.bulk-generate-modal .popup-inner .weekdays-selector .weekday-checkbox.weekend-available input[type=checkbox] {
  accent-color: var(--wp--preset--color--blue-50);
}
.popup-confirm-container.bulk-generate-modal .popup-inner .weekdays-selector .weekday-checkbox.weekend-available:hover {
  background: var(--wp--preset--color--blue-20);
}
.popup-confirm-container.bulk-generate-modal .popup-inner .weekdays-selector .weekday-checkbox.weekend-available:hover span {
  color: var(--wp--preset--color--blue-50);
  font-weight: 500;
}
.popup-confirm-container.bulk-generate-modal .popup-inner .weekdays-auto-info {
  margin-top: 8px;
  padding: 8px 12px;
  background: var(--wp--preset--color--primary-10);
  border: 1px solid var(--wp--preset--color--primary-20);
  border-radius: 4px;
}
.popup-confirm-container.bulk-generate-modal .popup-inner .weekdays-auto-info small {
  font-size: var(--wp--preset--font-size--xs);
  color: var(--wp--preset--color--primary-60);
  font-style: italic;
  display: flex;
  align-items: center;
}
.popup-confirm-container.bulk-generate-modal .popup-inner .weekdays-auto-info small:before {
  content: "ℹ️";
  margin-right: 6px;
}
.popup-confirm-container.bulk-generate-modal .popup-inner .row.zoom-option {
  flex-direction: column;
  align-items: flex-start;
  background: var(--wp--preset--color--blue-10);
  border: 1px solid var(--wp--preset--color--blue-20);
  border-radius: 8px;
  padding: 16px;
  margin: 20px 0;
}
.popup-confirm-container.bulk-generate-modal .popup-inner .row.zoom-option .zoom-checkbox {
  display: flex;
  align-items: center;
  margin: 0;
  cursor: pointer;
  user-select: none;
}
.popup-confirm-container.bulk-generate-modal .popup-inner .row.zoom-option .zoom-checkbox input[type=checkbox] {
  width: auto;
  margin: 0 12px 0 0;
  transform: scale(1.2);
  accent-color: var(--wp--preset--color--blue-50);
}
.popup-confirm-container.bulk-generate-modal .popup-inner .row.zoom-option .zoom-checkbox span {
  font-size: var(--wp--preset--font-size--s);
  color: var(--wp--preset--color--contrast);
  font-weight: 500;
}
.popup-confirm-container.bulk-generate-modal .popup-inner .row.zoom-option .zoom-checkbox:hover span {
  color: var(--wp--preset--color--blue-50);
}
.popup-confirm-container.bulk-generate-modal .popup-inner .row.zoom-option .zoom-info {
  margin-top: 8px;
  padding-left: 28px;
}
.popup-confirm-container.bulk-generate-modal .popup-inner .row.zoom-option .zoom-info small {
  font-size: var(--wp--preset--font-size--xs);
  color: var(--wp--preset--color--neutral-60);
  font-style: italic;
}
.popup-confirm-container.bulk-generate-modal .popup-inner .preview-section {
  background: var(--wp--preset--color--neutral-20);
  border: 1px solid var(--wp--preset--color--neutral-40);
  border-radius: 8px;
  padding: 16px;
  margin: 24px 0;
}
.popup-confirm-container.bulk-generate-modal .popup-inner .preview-section h4 {
  margin: 0 0 12px 0;
  font-size: var(--wp--preset--font-size--m);
  color: var(--wp--preset--color--neutral-90);
  font-weight: 500;
}
.popup-confirm-container.bulk-generate-modal .popup-inner .preview-section .preview-info p {
  margin: 8px 0;
  font-size: var(--wp--preset--font-size--s);
  color: var(--wp--preset--color--contrast);
}
.popup-confirm-container.bulk-generate-modal .popup-inner .preview-section .preview-info p:first-child {
  font-size: var(--wp--preset--font-size--m);
}
.popup-confirm-container.bulk-generate-modal .popup-inner .preview-section .preview-info p:first-child #total-classes {
  color: var(--wp--preset--color--primary-50);
  font-weight: 600;
  font-size: var(--wp--preset--font-size--ml);
}
.popup-confirm-container.bulk-generate-modal .popup-inner .preview-section .preview-info #preview-details {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--wp--preset--color--neutral-40);
}
.popup-confirm-container.bulk-generate-modal .popup-inner .preview-section .preview-info #preview-details p {
  margin: 4px 0;
  color: var(--wp--preset--color--neutral-60);
  font-size: var(--wp--preset--font-size--xs);
}
.popup-confirm-container.bulk-generate-modal .popup-inner .buttons.row {
  justify-content: center;
  margin-top: 24px;
}
.popup-confirm-container.bulk-generate-modal .popup-inner .buttons.row .button {
  padding: 12px 32px;
  border: none;
  border-radius: 8px;
  font-size: var(--wp--preset--font-size--m);
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  min-width: 200px;
}
.popup-confirm-container.bulk-generate-modal .popup-inner .buttons.row .button.generate-classes-btn {
  background: var(--wp--preset--color--primary-50);
  color: var(--wp--preset--color--contrast);
}
.popup-confirm-container.bulk-generate-modal .popup-inner .buttons.row .button.generate-classes-btn:hover:not(:disabled) {
  background: var(--wp--preset--color--primary-60);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(255, 200, 0, 0.3);
}
.popup-confirm-container.bulk-generate-modal .popup-inner .buttons.row .button.generate-classes-btn:disabled {
  background: var(--wp--preset--color--neutral-50);
  color: var(--wp--preset--color--neutral-30);
  cursor: not-allowed;
  opacity: 0.6;
}

.bulk-generate-btn {
  background: var(--wp--preset--color--success-40) !important;
  color: var(--wp--preset--color--base) !important;
}
.bulk-generate-btn:hover {
  background: var(--wp--preset--color--green-50) !important;
}

.teacher .doo-classes-filters input[type=submit] {
  margin: 0;
}
.teacher .classes .tabs {
  margin-bottom: 0;
}
.teacher .calendar-filters-form {
  margin-top: -40px;
}
.teacher .calendar-filters-form .select-container label {
  display: block;
  margin: 0 0 4px 8px;
}
.teacher .calendar {
  margin-top: 24px;
}

/*--------------------------------------------------------------
# Responsive
--------------------------------------------------------------*/
@media (max-width: 1344px) {
  .columns {
    gap: clamp(32px, 7.1111111111vw + 0px, 64px);
  }
}
@media (max-width: 1200px) {
  .dashboard .dashboard-content {
    padding-top: 64px;
  }
  .dashboard .page-content {
    display: block;
  }
  .dashboard .menu-container {
    display: none;
  }
  .dashboard .sidebar {
    padding: 8px 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: calc(100vw - 32px);
    margin: 0 auto;
    top: 8px;
    border-radius: 16px;
    background: var(--wp--preset--color--neutral-30);
  }
  .dashboard .sidebar .logo {
    margin: 0;
  }
  .dashboard .sidebar .logo img {
    height: clamp(20px, 3.3333333333vw + 5px, 35px);
    width: auto;
  }
  .dashboard .sidebar-container-inner {
    max-width: 100vw;
    position: fixed;
    padding: 0 16px;
    background-color: #FFF;
  }
  .dashboard .sidebar-container {
    position: relative;
    z-index: 9;
    font-size: clamp(14px, 0.4444444444vw + 12px, 16px);
    line-height: 1.3;
  }
  .dashboard .sidebar-container.focus .logo {
    position: relative;
    z-index: 100;
  }
  .dashboard .sidebar-container.focus .responsive-menu {
    position: relative;
    z-index: 100;
  }
  .dashboard .sidebar-container.focus .responsive-menu .close {
    display: block;
  }
  .dashboard .sidebar-container.focus .responsive-menu .icon-menu {
    display: none;
  }
  .dashboard .sidebar-container.focus .menu-container {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100vw;
    height: 100vh;
    background: var(--wp--preset--color--neutral-30);
    padding: 80px 32px 32px;
    overflow-y: auto;
  }
  .dashboard .sidebar-container.focus .menu {
    z-index: 99;
    position: fixed;
  }
  .dashboard .sidebar-container.focus .menu .menu-item {
    max-width: 360px;
  }
  .responsive-menu {
    display: block;
    padding: 8px;
    cursor: pointer;
  }
  .responsive-menu .close {
    display: none;
  }
  .responsive-menu img {
    width: 20px;
    height: 20px;
    display: block;
  }
  .block-evaluation .columns {
    grid-template-columns: 1fr;
  }
  .block-evaluation .correct .text,
  .block-evaluation .essay .text {
    min-height: unset;
  }
  .popup-container.relation .popup-content .popup-inner, .popup-container.reading .popup-content .popup-inner {
    width: calc(100% - 32px);
    padding: 0;
  }
  .group-header {
    top: 40px;
  }
}
@media (max-width: 935px) {
  .items-list,
  .group-content {
    justify-content: center;
  }
  .item-cont {
    width: max(260px, 50% - 10.67px);
    padding: 16px;
  }
  .item-cont.class.first {
    padding: 0;
    width: max(260px, 50% - 10.67px);
  }
  .item-cont.class.first .image {
    display: none;
  }
  .group-title {
    width: 100%;
  }
  .group-title .description {
    max-width: 100%;
    position: relative;
    z-index: 1;
  }
  .group-title .back {
    right: 16px;
    width: 126px;
  }
  .group-title.classes-private, .group-title.classes-grouped {
    padding-bottom: 72px;
  }
  .group-title.classes-private .button, .group-title.classes-grouped .button {
    position: absolute;
    bottom: 16px;
    left: 16px;
  }
  .group-title.vocabulary, .group-title.verbs {
    padding-bottom: 72px;
  }
  .group-title.vocabulary .buttons, .group-title.verbs .buttons {
    position: absolute;
    bottom: 16px;
    left: 16px;
    z-index: 1;
  }
  table.vocabulary-terms-list tr {
    flex-direction: column;
  }
  .columns {
    flex-direction: column;
  }
  .columns .col-1 .content {
    width: 100%;
  }
  .reading-content .columns .column {
    width: 100%;
  }
}
@media (max-width: 768px) {
  .popup-container .popup-buttons.info-container {
    display: none !important;
  }
  .popup-container .popup-content .popup-inner {
    width: 100%;
    max-width: calc(100vw - 32px);
    margin-bottom: 180px;
  }
  .popup-container .popup-content .task-content {
    padding: 0;
  }
  .relation-content {
    margin: 56px auto;
    display: grid;
    grid-template-columns: 48.5% 48.5%;
    grid-gap: 3%;
  }
  .relation-content .row-1 {
    margin-bottom: 0;
  }
  .relation-content .item-sel {
    max-width: 100%;
    width: 100%;
    height: 100%;
    aspect-ratio: 168/104;
  }
  .relation-content .item-sel .num {
    display: none;
  }
  .relation-content .item-sel.image .num {
    display: none;
  }
  .relation-content .row-2 .item-sel .image-cont {
    aspect-ratio: 168/104;
  }
  .relation-content .row-2 .item-sel.active:before {
    width: 6.3%;
    height: 2px;
    left: -6.3%;
    top: 50%;
  }
  .relation-content .row {
    flex-direction: column;
  }
}
@media (max-width: 600px) {
  .dashboard {
    font-size: clamp(14px, 0.4444444444vw + 12px, 16px);
    line-height: 1.4;
  }
  .dashboard-content {
    z-index: 90;
  }
  .items-list,
  .group-content {
    gap: 12px;
  }
  .item-cont {
    width: 100%;
  }
  .item-cont.class.first {
    width: 100%;
  }
  .popup-container {
    z-index: 99;
  }
  .popup-container .popup-content .popup-inner {
    width: calc(100% - 32px);
  }
  .popup-container .popup-content .popup-inner .filters {
    flex-direction: column;
  }
  .popup-container .popup-content .popup-inner.video {
    width: 100%;
  }
  .task-content.video .translation-content,
  .task-content.video .transcript-content {
    max-height: 100%;
  }
  .item-transcription > .row {
    flex-direction: column;
    gap: 4px;
  }
  .item-transcription:nth-child(2n) > .row {
    flex-direction: column;
  }
  .item-transcription .person.person2 {
    margin: 0 0 0 auto;
  }
  .reading-content .title-text-cont {
    cursor: pointer;
  }
  .reading-content .title-text-cont .arrow {
    display: block;
  }
  .reading-content .text-excerpt {
    display: none;
  }
  .reading-content.active .title-text-cont .arrow {
    transform: rotate(180deg);
  }
  .reading-content.active .text-excerpt {
    display: block;
  }
}
/*--------------------------------------------------------------
# Popup
--------------------------------------------------------------*/
.popup-with-gif .popup-wrap {
  max-width: min(600px, 100vw);
}
.popup-with-gif .title-2 {
  font-size: clamp(18px, 1.3333333333vw + 12px, 24px);
  line-height: 1.3;
  font-weight: 600;
  color: #171616;
  margin: 0 0 16px;
}
.popup-with-gif .text {
  font-size: clamp(14px, 0.8888888889vw + 10px, 18px);
  line-height: 1.3;
  font-weight: 400;
  color: #454141;
  margin: 0 0 8px;
}
.popup-with-gif .gif img {
  height: 250px;
  width: auto;
  object-fit: contain;
}

.popup-container.popup-stack .popup-wrap {
  display: flex;
  flex-direction: column;
  min-height: 0;
}
.popup-container.popup-stack .popup-content {
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
  height: auto;
}
.popup-container.popup-stack .popup-content .popup-inner {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  margin-bottom: 0;
  height: auto;
  max-height: 100%;
}
.popup-container.popup-stack .popup-stack__body {
  flex: 1 1 auto;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
.popup-container.popup-stack .popup-stack__actions {
  flex-shrink: 0;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 24px;
  padding-top: 8px;
  padding-bottom: 24px;
}

.conversation-step-popup.popup-stack .popup-inner {
  margin-bottom: 0 !important;
}

.popup-container.subscription-expired-popup {
  z-index: 99999;
}
.popup-container.subscription-expired-popup .popup-wrap {
  max-width: 520px;
}
.popup-container.subscription-expired-popup .title-2 {
  margin-bottom: 16px;
}
.popup-container.subscription-expired-popup .text {
  margin-bottom: 8px;
  line-height: 1.5;
}
.popup-container.subscription-expired-popup .popup-stack__body .icon {
  text-align: center;
  margin-bottom: 20px;
}
.popup-container.subscription-expired-popup .popup-stack__body .icon img {
  max-width: 120px;
}
.popup-container.subscription-expired-popup .popup-stack__actions {
  flex-wrap: wrap;
  gap: 16px;
}
.popup-container.subscription-expired-popup .popup-stack__actions .button {
  min-width: 180px;
  text-align: center;
  text-decoration: none;
}

.conversation-step-popup:not(.popup-stack) .popup-inner {
  margin-bottom: 32px !important;
}

.conversation-step-popup .popup-content {
  padding-top: 32px !important;
}
.conversation-step-popup .popup-wrap {
  max-width: min(600px, 100vw);
}
.conversation-step-popup .popup-inner {
  text-align: center;
  padding: clamp(16px, 3.5555555556vw + 0px, 32px);
  margin-bottom: 0;
}
.conversation-step-popup .icon {
  background: var(--wp--preset--color--primary-20);
  width: 64px;
  height: 64px;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto 40px;
}
.conversation-step-popup .title-2 {
  font-size: clamp(18px, 1.3333333333vw + 12px, 24px);
  line-height: 1.3;
  font-weight: 600;
  color: #171616;
  margin: 0 0 16px;
}
.conversation-step-popup .text {
  font-size: clamp(14px, 0.8888888889vw + 10px, 18px);
  line-height: 1.4;
  font-weight: 400;
  color: #454141;
  margin: 0 0 12px;
}
.conversation-step-popup .row.buttons {
  margin-top: 32px;
  display: flex;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap;
}
.conversation-step-popup .button {
  min-width: 150px;
  padding: 12px 24px;
}

.conversation-step-popup.popup-stack .row.buttons {
  margin-top: 0;
}

.doo-ajax-notice {
  position: fixed;
  left: 50%;
  bottom: 24px;
  z-index: 100000;
  max-width: min(90vw, 480px);
  padding: 14px 20px;
  border-radius: 8px;
  background: #171616;
  color: #fff;
  font-size: 15px;
  line-height: 1.4;
  text-align: center;
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.2);
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, 12px);
  transition: opacity 0.2s ease, transform 0.2s ease;
}
.doo-ajax-notice.is-visible {
  opacity: 1;
  pointer-events: auto;
  transform: translate(-50%, 0);
}
/*# sourceMappingURL=style.css.map */