@charset "UTF-8";
.icon {
  display: inline-block;
  width: 24px;
  height: 24px;
  flex: 0 0 auto;
  fill: none;
}
.icon path, .icon rect, .icon circle, .icon line, .icon polyline, .icon polygon {
  stroke: currentColor;
  fill: none;
}

.entity-actions__btn {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 0;
  border-radius: 9999px;
  border: 1px solid transparent;
  text-decoration: none;
  cursor: pointer;
  transition: transform 0.2s ease-in-out, color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-color 0.2s ease-in-out;
  user-select: none;
  outline: none;
}
.entity-actions__btn:active {
  transform: translateY(1px);
}
.entity-actions__btn--icon {
  width: 44px;
  height: 44px;
  padding: 0;
}
.entity-actions__btn--soft {
  backdrop-filter: blur(37px);
  -webkit-backdrop-filter: blur(37px);
}
.entity-actions__btn:focus-visible {
  outline: 2px solid rgba(255, 255, 255, 0.35);
  outline-offset: 2px;
}
.entity-actions__btn--delete {
  color: #e30000;
}
.entity-actions__btn--delete.entity-actions__btn--soft {
  background: rgba(255, 76, 92, 0.2);
  border-color: rgba(255, 76, 92, 0.35);
}
@media (hover: hover) and (pointer: fine) {
  .entity-actions__btn--delete.entity-actions__btn--soft:hover {
    background: rgba(255, 45.4, 64.1351955307, 0.2);
    border-color: rgba(255, 45.4, 64.1351955307, 0.6);
  }
}
.entity-actions__btn--delete.entity-actions__btn--soft:active {
  background: rgba(255, 14.8, 36.2703910615, 0.2);
  border-color: rgba(255, 35.2, 54.8469273743, 0.75);
}
.entity-actions__btn--delete.entity-actions__btn--soft:focus-visible {
  outline-color: rgba(165.8, 0, 0, 0.85);
}
.entity-actions__btn--delete.entity-actions__btn--filled {
  background: #e30000;
  border-color: #e30000;
  color: #fff;
}
@media (hover: hover) and (pointer: fine) {
  .entity-actions__btn--delete.entity-actions__btn--filled:hover {
    background: rgb(186.2, 0, 0);
    border-color: rgb(186.2, 0, 0);
  }
}
.entity-actions__btn--delete.entity-actions__btn--filled:focus-visible {
  outline-color: rgba(227, 0, 0, 0.65);
}
.entity-actions__btn--edit {
  color: #0075FF;
}
.entity-actions__btn--edit.entity-actions__btn--soft {
  background: rgba(0, 117, 255, 0.2);
  border-color: rgba(0, 117, 255, 0.35);
}
@media (hover: hover) and (pointer: fine) {
  .entity-actions__btn--edit.entity-actions__btn--soft:hover {
    background: rgba(0, 102.96, 224.4, 0.2);
    border-color: rgba(0, 102.96, 224.4, 0.6);
  }
}
.entity-actions__btn--edit.entity-actions__btn--soft:active {
  background: rgba(0, 88.92, 193.8, 0.2);
  border-color: rgba(0, 98.28, 214.2, 0.75);
}
.entity-actions__btn--edit.entity-actions__btn--soft:focus-visible {
  outline-color: rgba(0, 88.92, 193.8, 0.85);
}
.entity-actions__btn--edit.entity-actions__btn--filled {
  background: #0075FF;
  border-color: #0075FF;
  color: #fff;
}
@media (hover: hover) and (pointer: fine) {
  .entity-actions__btn--edit.entity-actions__btn--filled:hover {
    background: rgb(0, 98.28, 214.2);
    border-color: rgb(0, 98.28, 214.2);
  }
}
.entity-actions__btn--edit.entity-actions__btn--filled:focus-visible {
  outline-color: rgba(0, 117, 255, 0.65);
}
.entity-actions__btn--copy {
  color: #82a1ff;
}
.entity-actions__btn--copy.entity-actions__btn--soft {
  background: rgba(130, 161, 255, 0.2);
  border-color: rgba(130, 161, 255, 0.35);
}
@media (hover: hover) and (pointer: fine) {
  .entity-actions__btn--copy.entity-actions__btn--soft:hover {
    background: rgba(99.4, 137.9888, 255, 0.2);
    border-color: rgba(99.4, 137.9888, 255, 0.6);
  }
}
.entity-actions__btn--copy.entity-actions__btn--soft:active {
  background: rgba(68.8, 114.9776, 255, 0.2);
  border-color: rgba(89.2, 130.3184, 255, 0.75);
}
.entity-actions__btn--copy.entity-actions__btn--soft:focus-visible {
  outline-color: rgba(68.8, 114.9776, 255, 0.85);
}
.entity-actions__btn--copy.entity-actions__btn--filled {
  background: #82a1ff;
  border-color: #82a1ff;
  color: #fff;
}
@media (hover: hover) and (pointer: fine) {
  .entity-actions__btn--copy.entity-actions__btn--filled:hover {
    background: rgb(89.2, 130.3184, 255);
    border-color: rgb(89.2, 130.3184, 255);
  }
}
.entity-actions__btn--copy.entity-actions__btn--filled:focus-visible {
  outline-color: rgba(130, 161, 255, 0.65);
}
.entity-actions__btn--mail {
  color: #2EB67D;
}
.entity-actions__btn--mail.entity-actions__btn--soft {
  background: rgba(46, 182, 125, 0.2);
  border-color: rgba(46, 182, 125, 0.35);
}
@media (hover: hover) and (pointer: fine) {
  .entity-actions__btn--mail.entity-actions__btn--soft:hover {
    background: rgba(39.8263157895, 157.5736842105, 108.2236842105, 0.2);
    border-color: rgba(39.8263157895, 157.5736842105, 108.2236842105, 0.6);
  }
}
.entity-actions__btn--mail.entity-actions__btn--soft:active {
  background: rgba(33.6526315789, 133.1473684211, 91.4473684211, 0.2);
  border-color: rgba(37.7684210526, 149.4315789474, 102.6315789474, 0.75);
}
.entity-actions__btn--mail.entity-actions__btn--soft:focus-visible {
  outline-color: rgba(33.6526315789, 133.1473684211, 91.4473684211, 0.85);
}
.entity-actions__btn--mail.entity-actions__btn--filled {
  background: #2EB67D;
  border-color: #2EB67D;
  color: #fff;
}
@media (hover: hover) and (pointer: fine) {
  .entity-actions__btn--mail.entity-actions__btn--filled:hover {
    background: rgb(37.7684210526, 149.4315789474, 102.6315789474);
    border-color: rgb(37.7684210526, 149.4315789474, 102.6315789474);
  }
}
.entity-actions__btn--mail.entity-actions__btn--filled:focus-visible {
  outline-color: rgba(46, 182, 125, 0.65);
}

.access-form {
  display: flex;
  flex-direction: column;
  min-height: 0;
}
.access-form .access__hint {
  opacity: 0.85;
}
.access-form .access-table {
  display: grid;
  gap: 10px;
  margin-top: 12px;
  flex: 1 1 auto;
  min-height: 0;
  max-height: 60vh;
  overflow-y: auto;
  padding-right: 4px;
}
.access-form .access-table .access__row {
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: 12px;
  padding: 12px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.02);
}
.access-form .access-table .access__row--head {
  font-weight: 600;
  background: transparent;
  border-color: transparent;
  padding: 0;
}
.access-form .access-table .access__col {
  display: flex;
  align-items: center;
  min-width: 0;
}
.access-form .access-table .access__select {
  width: 100%;
  appearance: none;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 8px;
  padding: 10px 12px;
  font: inherit;
  line-height: 1.2;
}
@media (max-width: 960px) {
  .access-form .access-table .access__row {
    grid-template-columns: 1fr;
  }
}

pre code.hljs {
  display: block;
  overflow-x: auto;
  padding: 1em;
}

code.hljs {
  padding: 3px 5px;
} /*!
  Theme: GitHub
  Description: Light theme as seen on github.com
  Author: github.com
  Maintainer: @Hirse
  Updated: 2021-05-15

  Outdated base version: https://github.com/primer/github-syntax-light
  Current colors taken from GitHub's CSS
*/
.hljs {
  color: #24292e;
  background: #fff;
}

.hljs-doctag, .hljs-keyword, .hljs-meta .hljs-keyword, .hljs-template-tag, .hljs-template-variable, .hljs-type, .hljs-variable.language_ {
  color: #d73a49;
}

.hljs-title, .hljs-title.class_, .hljs-title.class_.inherited__, .hljs-title.function_ {
  color: #6f42c1;
}

.hljs-attr, .hljs-attribute, .hljs-literal, .hljs-meta, .hljs-number, .hljs-operator, .hljs-selector-attr, .hljs-selector-class, .hljs-selector-id, .hljs-variable {
  color: #005cc5;
}

.hljs-meta .hljs-string, .hljs-regexp, .hljs-string {
  color: #032f62;
}

.hljs-built_in, .hljs-symbol {
  color: #e36209;
}

.hljs-code, .hljs-comment, .hljs-formula {
  color: #6a737d;
}

.hljs-name, .hljs-quote, .hljs-selector-pseudo, .hljs-selector-tag {
  color: #22863a;
}

.hljs-subst {
  color: #24292e;
}

.hljs-section {
  color: #005cc5;
  font-weight: 700;
}

.hljs-bullet {
  color: #735c0f;
}

.hljs-emphasis {
  color: #24292e;
  font-style: italic;
}

.hljs-strong {
  color: #24292e;
  font-weight: 700;
}

.hljs-addition {
  color: #22863a;
  background-color: #f0fff4;
}

.hljs-deletion {
  color: #b31d28;
  background-color: #ffeef0;
}

.docs-layout {
  display: grid;
  grid-template-columns: 5fr 10fr;
  gap: 1rem;
  border-radius: 1.75rem;
  height: 86vh;
  overflow: hidden;
}
.docs-layout .sidebar {
  height: 100%;
  background: linear-gradient(180deg, rgba(15, 23, 42, 0.98), rgba(17, 24, 39, 0.98));
  color: #e5e7eb;
  padding: 1rem 0.75rem;
  position: sticky;
  top: 0;
  overflow-y: auto;
  border-radius: 1.75rem;
  border: 1px solid rgba(148, 163, 184, 0.35);
  backdrop-filter: blur(18px);
}
.docs-layout .sidebar .brand {
  font-weight: 700;
  color: #f9fafb;
  margin: 4px 8px 16px;
  display: block;
  text-decoration: none;
}
.docs-layout .sidebar .search input {
  width: 100%;
  padding: 0.5rem 1rem;
  border-radius: 999px;
  border: 1px solid #30363d;
  background: #020617;
  color: #e5e7eb;
}
.docs-layout .nav-group {
  margin-top: 0.25rem;
}
.docs-layout .nav-group .group-title {
  font-size: 0.75rem;
  color: #9ca3af;
  margin: 16px 8px 6px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.docs-layout .nav-group ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.docs-layout .nav-group ul li {
  flex: 0 1 100%;
}
.docs-layout .nav-group a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.4rem;
  padding: 0.5rem 0.75rem;
  border-radius: 8px;
  color: #e5e7eb;
  text-decoration: none;
  font-size: 0.9rem;
  opacity: 0.8;
  transition: background 0.16s ease, color 0.16s ease, transform 0.08s ease, opacity 0.16s ease, box-shadow 0.16s ease;
}
.docs-layout .nav-group a:hover, .docs-layout .nav-group a.active, .docs-layout .nav-group a.is-active {
  background: radial-gradient(circle at 0 0, rgba(56, 189, 248, 0.35), rgba(15, 23, 42, 0.95));
  color: #f9fafb;
  transform: translateY(-1px);
  opacity: 1;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.9);
}
.docs-layout .toc .toc-l3 a {
  padding-left: 20px;
}
.docs-layout .content {
  padding: 1.5rem;
  background: radial-gradient(circle at 0 0, rgba(56, 189, 248, 0.2), transparent 55%), radial-gradient(circle at 100% 100%, rgba(244, 114, 182, 0.26), rgba(15, 23, 42, 0.98) 70%);
  overflow-y: auto;
  color: #e5e7eb;
  position: relative;
  border: 1px solid rgba(148, 163, 184, 0.45);
  backdrop-filter: blur(22px);
  box-shadow: 0 20px 45px rgba(15, 23, 42, 0.9);
}
.docs-layout .content .doc-shell {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0.5rem 0.5rem 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.docs-layout .content .doc {
  display: grid;
  grid-template-columns: 3fr 1fr;
  column-gap: 1.5rem;
  align-items: flex-start;
}
.docs-layout .content .doc .doc-body {
  grid-row: 1;
  grid-column: 1;
}
.docs-layout .content .doc .doc-meta {
  grid-column: 2;
  position: sticky;
  top: 0;
}
.docs-layout .content .doc-body.highlight {
  background: rgba(15, 23, 42, 0.96);
  border-radius: 20px;
  padding: 1.25rem 1.5rem;
  border: 1px solid rgba(148, 163, 184, 0.5);
  box-shadow: 0 18px 45px rgba(15, 23, 42, 0.95);
  line-height: 1.6;
}
.docs-layout .content .doc-body.highlight h1, .docs-layout .content .doc-body.highlight h2, .docs-layout .content .doc-body.highlight h3, .docs-layout .content .doc-body.highlight h4 {
  color: #f9fafb;
  margin: 0.4rem 0;
}
.docs-layout .content .doc-body.highlight p, .docs-layout .content .doc-body.highlight ul, .docs-layout .content .doc-body.highlight ol, .docs-layout .content .doc-body.highlight table, .docs-layout .content .doc-body.highlight pre {
  color: #e5e7eb;
  margin: 0.5rem 0;
}
.docs-layout .content .doc-body.highlight ul, .docs-layout .content .doc-body.highlight ol {
  padding-left: 1.25rem;
}
.docs-layout .content .doc-body.highlight a {
  color: #38bdf8;
  text-decoration: underline;
  text-underline-offset: 2px;
  text-decoration-thickness: 1px;
}
.docs-layout .content .doc-body.highlight a:hover {
  color: #7dd3fc;
}
.docs-layout .content .doc-body.highlight .muted {
  color: #9ca3af;
}
.docs-layout .content .doc-body.highlight img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
}
.docs-layout .content .doc-meta {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin-bottom: 0;
}
.docs-layout .content .doc-meta__item {
  padding: 0.8rem 1rem;
  border-radius: 18px;
  background: radial-gradient(circle at 0 0, rgba(15, 23, 42, 0.98), rgba(15, 23, 42, 0.94));
  border: 1px solid rgba(148, 163, 184, 0.65);
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.9);
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  min-height: 90px;
  transform: translateX(24px);
  opacity: 0;
  animation: doc-meta-slide-in 0.45s ease-out forwards;
  transition: transform 0.2s ease-out, box-shadow 0.2s ease-out, border-color 0.2s ease-out, background 0.2s ease-out;
}
.docs-layout .content .doc-meta__item:hover {
  transform: translateX(0) translateY(-3px);
  box-shadow: 0 24px 60px rgba(15, 23, 42, 0.95);
  border-color: rgba(129, 140, 248, 0.8);
  background: radial-gradient(circle at 0 0, rgba(79, 70, 229, 0.3), rgba(15, 23, 42, 0.98));
}
.docs-layout .content .doc-meta__item:nth-child(1) {
  animation-delay: 0.05s;
}
.docs-layout .content .doc-meta__item:nth-child(2) {
  animation-delay: 0.12s;
}
.docs-layout .content .doc-meta__item:nth-child(3) {
  animation-delay: 0.19s;
}
.docs-layout .content .doc-meta__label {
  font-size: 0.7rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #9ca3af;
}
.docs-layout .content .doc-meta__title {
  font-weight: 600;
  font-size: 0.95rem;
  color: #f9fafb;
}
.docs-layout .content .doc-meta__description {
  font-size: 0.8rem;
  color: rgba(209, 213, 219, 0.92);
  line-height: 1.4;
  margin-top: 0.1rem;
}
.docs-layout .content .cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 16px;
}
.docs-layout .content .card {
  position: relative;
  overflow: hidden;
  border-radius: 18px;
  padding: 14px 16px;
  border: 1px solid rgba(148, 163, 184, 0.5);
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.9);
  color: #0f172a;
  background: #f9fafb;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}
.docs-layout .content .card .meta {
  font-size: 0.8rem;
  color: rgba(15, 23, 42, 0.8);
  margin-top: 6px;
}
.docs-layout .content .card:nth-child(1) {
  background: radial-gradient(circle at 0 0, #facc15, #f97316 65%);
}
.docs-layout .content .card:nth-child(2) {
  background: radial-gradient(circle at 0 0, #a855f7, #6366f1 65%);
  color: #f9fafb;
}
.docs-layout .content .card:nth-child(2) .meta {
  color: rgba(241, 245, 249, 0.9);
}
.docs-layout .content .card:nth-child(3) {
  background: radial-gradient(circle at 0 0, #38bdf8, #0ea5e9 65%);
  color: #f9fafb;
}
.docs-layout .content .card:nth-child(3) .meta {
  color: rgba(241, 245, 249, 0.9);
}
.docs-layout .content .lesson--presentation,
.docs-layout .content .lesson--materials {
  margin-top: 1.25rem;
}
.docs-layout .content .lesson--presentation__viewer {
  border-radius: 16px;
  overflow: hidden;
  background: #020617;
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.95);
}
.docs-layout .content .lesson--materials h3.title-small {
  color: #e5e7eb;
}
.docs-layout .doc .doc-body img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
}
.docs-layout .muted {
  color: #9ca3af;
}
.docs-layout turbo-frame#methodic_material_content {
  display: block;
  height: 100%;
  overflow: hidden;
  border-radius: 1.75rem;
}
.docs-layout turbo-frame#methodic_material_content .content {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow-y: auto;
}
.docs-layout turbo-frame#methodic_material_content .content.content--loading {
  align-items: center;
  justify-content: center;
}
.docs-layout turbo-frame#methodic_material_content .content-loader {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  text-align: center;
}
.docs-layout turbo-frame#methodic_material_content .content-loader__spinner {
  width: 44px;
  height: 44px;
  border-radius: 999px;
  border: 3px solid rgba(248, 250, 252, 0.85);
  border-top-color: #38bdf8;
  animation: koderlab-spin 0.8s linear infinite;
  box-shadow: 0 10px 25px rgba(15, 23, 42, 0.85);
}
.docs-layout turbo-frame#methodic_material_content .content-loader__text {
  font-size: 0.9rem;
  color: #e5e7eb;
  opacity: 0.9;
}

.profile__block.profile__block--column.md-editor {
  display: flex;
  flex-direction: column;
  min-height: 0;
}
.profile__block.profile__block--column.md-editor > turbo-frame[id^=lesson_editor_] {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
}

.md-editor {
  flex-direction: column;
}
.md-editor .md-preview__too-large {
  padding: 1rem;
  border-radius: 12px;
  background: rgba(13, 17, 23, 0.95);
  border: 1px solid rgba(148, 163, 184, 0.35);
  color: rgba(229, 231, 235, 0.9);
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.md-editor .docx-uploader {
  width: fit-content;
  border: 1.5px dashed #30363d;
  border-radius: 10px;
  background: #0d1117;
  padding: 0.75rem;
  color: #c9d1d9;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}
.md-editor .docx-uploader:hover {
  background: #111723;
  border-color: #4f46e5;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.65);
}
.md-editor .docx-uploader__row {
  display: flex;
  gap: 0.75rem;
  align-items: center;
}
.md-editor .docx-uploader__filename {
  color: #fff;
}
.md-editor .docx-uploader__spinner {
  font-style: italic;
}
.md-editor .form__row {
  max-height: 100%;
}
.md-editor .form__row .form__label {
  color: #fff;
}
.md-editor form {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  width: 100%;
}
.md-editor form .form__actions {
  display: flex;
  gap: 1rem;
}

/* ====== Секция с презентацией и документами ====== */
.md-editor .form__row--attachments-label {
  margin-top: 0.25rem;
}
.md-editor .form__row--attachments-label .form__label {
  font-weight: 600;
  letter-spacing: 0.01em;
}
.md-editor input[type=file].form__input {
  appearance: none;
  border-radius: 999px;
  border: 1px solid #30363d;
  background: rgba(13, 17, 23, 0.95);
  color: #e6edf3;
  padding: 0.5rem 1rem;
  font-size: 0.9rem;
  cursor: pointer;
  max-width: 320px;
  transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
}
.md-editor input[type=file].form__input:hover {
  border-color: #4f46e5;
  box-shadow: 0 0 0 1px rgba(79, 70, 229, 0.35);
  background: rgb(13, 17, 23);
}
.md-editor input[type=file].form__input:focus-visible {
  outline: none;
  box-shadow: 0 0 0 1px rgba(96, 165, 250, 0.6);
}
.md-editor .form__hint.text-small {
  margin-top: 0.35rem;
  color: rgba(229, 231, 235, 0.8);
}

/* ====== Зона загрузки документов ====== */
.lesson-editor__materials-upload {
  margin-top: 0.75rem;
  padding: 0.9rem 1.1rem;
  border-radius: 14px;
  border: 1.5px dashed rgba(148, 163, 184, 0.45);
  background: radial-gradient(circle at 0 0, rgba(79, 70, 229, 0.22), transparent 55%), rgba(15, 23, 42, 0.96);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease, transform 0.08s ease;
  position: relative;
  overflow: hidden;
}
.lesson-editor__materials-upload::before {
  content: "";
  position: absolute;
  left: 1.2rem;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  font-size: 0.78rem;
  color: rgba(226, 232, 240, 0.7);
  white-space: nowrap;
  max-width: 60%;
  overflow: hidden;
  text-overflow: ellipsis;
}
.lesson-editor__materials-upload[data-drag-over=true], .lesson-editor__materials-upload.is-dragover {
  border-color: #38bdf8;
  box-shadow: 0 0 0 1px rgba(56, 189, 248, 0.45), 0 14px 45px rgba(15, 23, 42, 0.9);
  background: radial-gradient(circle at 0 0, rgba(56, 189, 248, 0.24), transparent 60%), rgb(15, 23, 42);
  transform: translateY(-1px);
}
.lesson-editor__materials-upload .lesson-editor__materials-input {
  display: none;
}
.lesson-editor__materials-upload [data-file-upload-target=addButton] {
  margin-left: auto;
  position: relative;
  z-index: 1;
}

/* ====== Список документов ====== */
.lesson-editor__materials-list {
  margin-top: 0.75rem;
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  padding: 0;
  list-style: none;
}

.lesson-editor__materials-item.file-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.55rem 0.9rem;
  border-radius: 10px;
  background: rgba(15, 23, 42, 0.92);
  border: 1px solid rgba(30, 64, 175, 0.65);
  box-shadow: 0 10px 25px rgba(15, 23, 42, 0.55);
  transition: background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease, transform 0.08s ease;
}
.lesson-editor__materials-item.file-item:hover {
  background: rgba(17, 24, 39, 0.98);
  border-color: rgba(96, 165, 250, 0.75);
  box-shadow: 0 14px 30px rgba(15, 23, 42, 0.85);
  transform: translateY(-1px);
}
.lesson-editor__materials-item.file-item .lesson-editor__materials-link.file-item__name {
  color: #e5e7eb;
  font-size: 0.9rem;
  text-decoration: none;
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.lesson-editor__materials-item.file-item .lesson-editor__materials-link.file-item__name:hover {
  color: #bfdbfe;
  text-decoration: underline;
}
.lesson-editor__materials-item.file-item .file-item__actions {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}
.lesson-editor__materials-item.file-item .file-item__actions .media-input__remove.file-item__action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 999px;
  background: rgba(220, 38, 38, 0.15);
  border: 1px solid rgba(248, 113, 113, 0.6);
  cursor: pointer;
  transition: background 0.15s ease, transform 0.1s ease, box-shadow 0.15s ease;
}
.lesson-editor__materials-item.file-item .file-item__actions .media-input__remove.file-item__action img {
  display: block;
  width: 16px;
  height: 16px;
}
.lesson-editor__materials-item.file-item .file-item__actions .media-input__remove.file-item__action:hover {
  background: rgba(220, 38, 38, 0.22);
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(127, 29, 29, 0.6);
}
.lesson-editor__materials-item.file-item .file-item__actions .media-input__remove.file-item__action:active {
  transform: translateY(0);
  box-shadow: none;
}

/* ======================= Разметка редактора ======================= */
.editor-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
  flex: 1 1 auto;
  min-height: 0;
  max-height: 170svh;
  overflow: hidden;
}
.editor-grid__col {
  display: flex;
  flex-direction: column;
  min-height: 0;
  max-height: 100%;
}
.editor-grid__col .form__row {
  height: 100%;
}
.editor-grid .form__textarea {
  min-height: 320px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  line-height: 1.45;
  resize: vertical;
}
.editor-grid .form__actions {
  display: flex;
  gap: 8px;
  align-items: center;
  margin-top: 8px;
}
.editor-grid .doc-preview {
  flex: 1;
  min-height: 0;
  overflow: hidden;
}
.editor-grid .doc-preview__inner {
  min-height: 100%;
  max-height: 100%;
  padding: 1rem;
  background: #fff;
  border-radius: 1rem;
  overflow-y: auto;
}
.editor-grid .doc-preview__inner * {
  color: #030305 !important;
}
.editor-grid .doc-preview__inner h1, .editor-grid .doc-preview__inner h2, .editor-grid .doc-preview__inner h3, .editor-grid .doc-preview__inner h4 {
  margin: 1.2em 0 0.6em;
  line-height: 1.25;
}
.editor-grid .doc-preview__inner p, .editor-grid .doc-preview__inner ul, .editor-grid .doc-preview__inner ol, .editor-grid .doc-preview__inner table, .editor-grid .doc-preview__inner pre {
  margin: 0.6em 0;
}
.editor-grid .doc-preview__inner ul, .editor-grid .doc-preview__inner ol {
  padding-left: 1.25rem;
}
.editor-grid .doc-preview__inner blockquote {
  margin: 0.8em 0;
  padding-left: 0.9rem;
  border-left: 4px solid #e5e7eb;
  color: #4b5563;
}
.editor-grid .doc-preview__inner table {
  width: 100%;
  border-collapse: collapse;
}
.editor-grid .doc-preview__inner table th, .editor-grid .doc-preview__inner table td {
  border: 1px solid #e5e7eb;
  padding: 6px 8px;
}
.editor-grid .doc-preview__inner table th {
  background: #f9fafb;
  font-weight: 600;
}
.editor-grid .doc-preview__inner code {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 0.95em;
  background: #f6f8fa;
  padding: 0.1rem 0.3rem;
  border-radius: 6px;
}
.editor-grid .doc-preview__inner pre {
  background: #0d1117;
  color: #e6edf3;
  border-radius: 10px;
  padding: 12px 14px;
  overflow: auto;
}
.editor-grid .doc-preview__inner pre code {
  background: transparent;
  padding: 0;
}
.editor-grid .doc-preview__inner img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
}

/* ====== CKEditor: растянуть на всю высоту ====== */
textarea.textarea {
  flex: 1 1 auto;
  min-height: 0;
}

.cke,
.cke_chrome {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
}

.cke_chrome {
  height: fit-content !important;
  border: 0 !important;
}

.cke_inner,
.cke_reset {
  display: flex;
  flex-direction: column;
  min-height: 0;
  height: 93.2% !important;
}

.cke_top,
.cke_bottom {
  flex: 0 0 auto;
}

.cke_contents {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  height: 100%;
}
.cke_contents[style] {
  height: 100% !important;
}

.cke_wysiwyg_frame,
.cke_contents iframe {
  width: 100% !important;
  height: 100% !important;
}

/* CKEditor 5 */
.ck-editor {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  min-height: 0;
}

.ck-editor__top {
  flex: 0 0 auto;
}

.ck-editor__main {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

.ck-content {
  flex: 1 1 auto;
  min-height: 0;
  height: auto;
  overflow: auto;
}

@media (min-width: 992px) {
  .editor-grid {
    grid-template-columns: 1fr 1fr;
    column-gap: 1rem;
  }
}
@media (max-width: 1024px) {
  .docs-layout .content .doc {
    display: flex;
    flex-direction: column;
  }
  .docs-layout .content .doc-meta {
    position: static;
    margin-bottom: 1rem;
  }
}
@media (max-width: 767px) {
  .lesson-editor__materials-upload {
    flex-direction: column;
    align-items: flex-start;
  }
  .lesson-editor__materials-upload::before {
    position: static;
    transform: none;
    margin-bottom: 0.5rem;
    max-width: 100%;
  }
}
@keyframes koderlab-spin {
  to {
    transform: rotate(360deg);
  }
}
@keyframes doc-meta-slide-in {
  to {
    transform: translateX(0);
    opacity: 1;
  }
}
.list__item.is-locked {
  position: relative;
  overflow: hidden;
  cursor: pointer;
  border: 1px solid rgba(251, 191, 36, 0.55);
  transition: transform 0.2s ease-in-out;
}
.list__item.is-locked::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: radial-gradient(circle at 0 0, rgba(56, 189, 248, 0.18), transparent 55%), radial-gradient(circle at 100% 100%, rgba(244, 114, 182, 0.18), rgba(15, 23, 42, 0.9) 70%);
  backdrop-filter: blur(4px);
  opacity: 0.92;
  pointer-events: none;
  z-index: 1;
}
.list__item.is-locked::after {
  content: "";
  position: absolute;
  inset: 2px;
  border-radius: inherit;
  border: 1px solid rgba(15, 23, 42, 0.9);
  box-shadow: inset 0 0 35px rgba(15, 23, 42, 0.85);
  pointer-events: none;
  z-index: 2;
}
.list__item.is-locked .list__item__media img,
.list__item.is-locked .list__item-title {
  filter: blur(1.5px);
  opacity: 0.8;
}
.list__item.is-locked:hover {
  transform: translateY(-1px);
}

.list__item-lock {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  position: absolute;
  top: 10px;
  right: 16px;
  z-index: 3;
  border-radius: 999px;
  background: radial-gradient(circle at 30% 0, rgba(250, 204, 21, 0.35), transparent 60%), rgba(15, 23, 42, 0.92);
  box-shadow: 0 0 18px rgba(250, 204, 21, 0.55);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  border: 1px solid rgba(250, 204, 21, 0.65);
  pointer-events: none;
}
.list__item-lock .list__item-lock-icon {
  width: 20px;
  height: 20px;
  display: block;
  opacity: 0.96;
  animation: locked-pulse 2.4s ease-in-out infinite;
}

@keyframes locked-pulse {
  0% {
    transform: scale(1);
    opacity: 0.9;
  }
  50% {
    transform: scale(1.08);
    opacity: 1;
  }
  100% {
    transform: scale(1);
    opacity: 0.9;
  }
}
.modal-locked .locked-access {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 0.75rem;
}
.modal-locked .locked-access__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 54px;
  height: 54px;
  margin-top: 1rem;
  border-radius: 999px;
  background: radial-gradient(circle at 30% 0, rgba(250, 204, 21, 0.45), transparent 60%), rgba(15, 23, 42, 0.96);
  box-shadow: 0 0 22px rgba(250, 204, 21, 0.5);
  margin-bottom: 0.35rem;
}
.modal-locked .locked-access__icon-image {
  width: 28px;
  height: 28px;
  display: block;
}
.modal-locked .locked-access__text-block {
  max-width: 420px;
}
.modal-locked .locked-access__lead {
  font-size: 0.98rem;
  line-height: 1.6;
  color: #e5e7eb;
  margin-bottom: 0.4rem;
}
.modal-locked .locked-access__material-title {
  font-weight: 700;
  color: #f9fafb;
  padding: 0 0.25rem;
  border-radius: 999px;
  background: radial-gradient(circle at 0 0, rgba(56, 189, 248, 0.25), transparent 65%);
}
.modal-locked .locked-access__hint {
  font-size: 0.9rem;
  line-height: 1.6;
  color: rgba(209, 213, 219, 0.9);
}
.modal-locked .locked-access__footer {
  display: flex;
  justify-content: center;
  gap: 0.75rem;
  padding-top: 0.25rem;
}
.modal-locked .locked-access__btn {
  min-width: 150px;
  font-size: 0.9rem;
  border-radius: 999px;
  color: #fff;
}
.modal-locked .locked-access__btn--primary {
  background: linear-gradient(90deg, #4f46e5, #38bdf8);
  border: none;
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.8);
}
.modal-locked .locked-access__btn--primary:hover {
  filter: brightness(1.05);
  transform: translateY(-1px);
}
.modal-locked .locked-access__btn--ghost {
  background: transparent;
  border: 1px solid rgba(148, 163, 184, 0.6);
  color: rgba(229, 231, 235, 0.9);
}
.modal-locked .locked-access__btn--ghost:hover {
  border-color: rgba(248, 250, 252, 0.85);
  background: rgba(15, 23, 42, 0.7);
  transform: translateY(-1px);
}

.empty-state {
  display: grid;
  justify-items: center;
  gap: 1rem;
  text-align: center;
  width: clamp(280px, calc(175.43px + 9.5536vw), 420px);
  position: relative;
  padding: 28px;
  border-radius: 1.75rem;
  min-height: 160px;
  color: #FFF;
  background: rgba(37, 37, 37, 0.3);
}
.empty-state__icon {
  display: grid;
  place-items: center;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.18);
  backdrop-filter: blur(2px);
}
.empty-state__icon .empty-state__icon-svg {
  display: block;
}
.empty-state__content {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  max-width: 560px;
}
.empty-state__title {
  font-family: "DrukWideCyr Bold";
  font-size: clamp(17px, 2.5vw, 20px);
  font-style: normal;
  font-weight: 700;
  line-height: 120%;
  color: #FFF;
}
.empty-state__text {
  margin: 0;
  opacity: 0.95;
  font-size: 16px;
  line-height: 1.45;
}
.empty-state__actions {
  margin-top: 16px;
  display: inline-flex;
  gap: 8px;
  flex-wrap: wrap;
}
.empty-state.empty-state--neutral {
  background: #fff;
  color: #111827;
}
.empty-state.empty-state--neutral__icon {
  background: rgba(17, 24, 39, 0.06);
}
.empty-state.empty-state--warning {
  background: linear-gradient(135deg, #FF8A00 0%, #FF4D4F 100%);
}
.empty-state.empty-state--sm {
  padding: 18px;
  min-height: 120px;
}
.empty-state.empty-state--sm__icon {
  width: 52px;
  height: 52px;
  margin-bottom: 12px;
}
.empty-state.empty-state--sm__title {
  font-size: 20px;
}
.empty-state.empty-state--sm__text {
  font-size: 14px;
}

@media (max-width: 480px) {
  .empty-state {
    width: 75%;
  }
  .empty-state__icon {
    width: 56px;
    height: 56px;
    margin-bottom: 12px;
  }
  .empty-state__title {
    font-size: 22px;
  }
  .empty-state__text {
    font-size: 14px;
  }
}
.token-select {
  position: relative;
  width: 100%;
}
.token-select--disabled {
  opacity: 0.6;
  pointer-events: none;
}
.token-select__label {
  display: block;
  margin-bottom: 0.5rem;
  font-size: 0.9rem;
  color: var(--form-label-color, inherit);
}
.token-select__control {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  min-height: var(--form-control-min-height, 44px);
  padding: 6px 36px 6px var(--form-control-padding-x, 12px);
  background: var(--form-field-bg, #ffffff);
  border: 1px solid var(--form-field-border, rgba(0, 0, 0, 0.12));
  border-radius: var(--form-control-radius, 12px);
  cursor: pointer;
  color: var(--form-field-text, #111111);
  transition: background-color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}
.token-select__control:focus {
  outline: none;
  border-color: var(--form-focus-border, rgba(59, 130, 246, 0.65));
  box-shadow: var(--form-focus-shadow, 0 0 0 3px rgba(59, 130, 246, 0.18));
}
@media (hover: hover) and (pointer: fine) {
  .token-select__control:hover {
    background-color: var(--form-field-bg-hover, var(--form-field-bg, #ffffff));
    border-color: var(--form-field-border-hover, var(--form-field-border, rgba(0, 0, 0, 0.12)));
  }
}
.token-select__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  flex: 1;
  align-items: center;
  min-height: 28px;
}
.token-select__placeholder {
  color: var(--form-placeholder-color, rgba(17, 17, 17, 0.45));
  font-weight: 500;
}
.token-select--single .token-select__chips {
  gap: 0;
}
.token-select--single .token-select__chip,
.token-select--single .token-select__chip-x {
  display: none !important;
}
.token-select--single .token-select__single {
  font-weight: 600;
  color: var(--form-field-text, #111111);
  line-height: 1.2;
}
.token-select--single .token-select__search {
  display: none;
}
.token-select__chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 8px;
  background: rgba(176, 183, 201, 0.45);
  border-radius: 9999px;
  font-size: 0.9rem;
  line-height: 1;
}
.token-select__chip-x {
  appearance: none;
  border: 0;
  border-radius: 50%;
  width: 20px;
  height: 20px;
  background: #7D88A6;
  color: #ffffff;
  font-weight: 700;
  cursor: pointer;
  line-height: 1;
  display: inline-grid;
  place-items: center;
}
.token-select__search {
  display: inline-flex;
  flex: 1 1 80px;
  appearance: none;
  border: 0;
  background: transparent;
  color: var(--form-field-text, #111111);
  min-width: 6ch;
  padding: 4px 0;
}
.token-select__search:focus {
  outline: none;
}
.token-select__search::placeholder {
  color: var(--form-placeholder-color, rgba(17, 17, 17, 0.45));
}
.token-select__caret {
  position: absolute;
  right: 12px;
  top: 50%;
  translate: 0 -50%;
  width: 16px;
  height: 16px;
  pointer-events: none;
  border: 0;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M2.12483 6.18824C2.06119 6.1281 1.98631 6.08108 1.9045 6.04987C1.82268 6.01866 1.73551 6.00387 1.64798 6.00634C1.56044 6.00882 1.47425 6.02851 1.39433 6.0643C1.3144 6.10008 1.24231 6.15126 1.18217 6.21491C1.12202 6.27855 1.075 6.35343 1.04379 6.43525C1.01258 6.51706 0.997791 6.60423 1.00027 6.69176C1.00274 6.7793 1.02244 6.86549 1.05822 6.94541C1.09401 7.02534 1.14519 7.09743 1.20883 7.15757L7.20883 12.8242C7.33261 12.9413 7.49649 13.0065 7.66683 13.0065C7.83717 13.0065 8.00105 12.9413 8.12483 12.8242L14.1255 7.15757C14.1905 7.09783 14.2431 7.02575 14.28 6.94553C14.317 6.86531 14.3376 6.77855 14.3407 6.69029C14.3439 6.60203 14.3294 6.51402 14.2983 6.43138C14.2671 6.34875 14.2198 6.27312 14.1592 6.20891C14.0986 6.1447 14.0258 6.09317 13.9451 6.05733C13.8643 6.02148 13.7773 6.00203 13.689 6.00011C13.6007 5.99819 13.5129 6.01383 13.4307 6.04612C13.3485 6.07842 13.2735 6.12673 13.2102 6.18824L7.66683 11.4229L2.12483 6.18824Z' fill='%238D8D8D'/%3E%3C/svg%3E");
}
.token-select__hidden {
  display: none;
}
.token-select__dropdown {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 8px);
  background: #262a57;
  border: 1px solid rgba(0, 0, 0, 0.12);
  border-radius: 14px;
  padding: 6px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
  z-index: 9999;
  color: #ffffff;
  max-height: 300px;
  overflow: auto;
}
.token-select__list {
  list-style: none;
  margin: 0;
  padding: 4px 0 8px;
}
.token-select__item {
  border-radius: 10px;
}
.token-select__item:focus-within, .token-select__item.is-active {
  background: #2c3166;
}
.token-select__btn {
  width: 100%;
  text-align: left;
  padding: 10px 12px;
  background: transparent;
  border: 0;
  color: inherit;
  cursor: pointer;
  border-radius: 10px;
  line-height: 1.2;
}
.token-select__btn:hover {
  background: #2c3166;
}

.token-select--light .token-select__dropdown {
  background: #ffffff;
  color: #111111;
  border: 1px solid rgba(0, 0, 0, 0.12);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.12);
}
.token-select--light .token-select__item:focus-within, .token-select--light .token-select__item.is-active {
  background: rgba(0, 0, 0, 0.06);
}
.token-select--light .token-select__btn {
  color: #111111;
}
.token-select--light .token-select__btn:hover {
  background: rgba(0, 0, 0, 0.04);
}

.ui-nested-dropdown {
  position: relative;
  display: inline-block;
  z-index: 20;
}
.ui-nested-dropdown:hover .ui-nested-dropdown__panel, .ui-nested-dropdown:focus-within .ui-nested-dropdown__panel {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}
.ui-nested-dropdown__trigger {
  appearance: none;
  border: 1px solid rgba(38, 48, 245, 0.28);
  background: rgba(0, 0, 0, 0.18);
  color: #ffffff;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 16px;
  border-radius: 100px;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
  font-weight: 700;
  line-height: 1;
  user-select: none;
}
.ui-nested-dropdown__trigger:focus {
  outline: 2px solid rgba(130, 161, 255, 0.6);
  outline-offset: 0;
}
.ui-nested-dropdown__trigger-label {
  font-size: 14px;
}
.ui-nested-dropdown__trigger-hint {
  font-size: 12px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.78);
}
.ui-nested-dropdown__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  height: 22px;
  padding: 0 7px;
  border-radius: 100px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  background: rgba(0, 0, 0, 0.18);
  font-size: 12px;
  font-weight: 800;
}
.ui-nested-dropdown__caret {
  width: 14px;
  height: 14px;
  display: inline-block;
  opacity: 0.9;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M2.12483 6.18824C2.06119 6.1281 1.98631 6.08108 1.9045 6.04987C1.82268 6.01866 1.73551 6.00387 1.64798 6.00634C1.56044 6.00882 1.47425 6.02851 1.39433 6.0643C1.3144 6.10008 1.24231 6.15126 1.18217 6.21491C1.12202 6.27855 1.075 6.35343 1.04379 6.43525C1.01258 6.51706 0.997791 6.60423 1.00027 6.69176C1.00274 6.7793 1.02244 6.86549 1.05822 6.94541C1.09401 7.02534 1.14519 7.09743 1.20883 7.15757L7.20883 12.8242C7.33261 12.9413 7.49649 13.0065 7.66683 13.0065C7.83717 13.0065 8.00105 12.9413 8.12483 12.8242L14.1255 7.15757C14.1905 7.09783 14.2431 7.02575 14.28 6.94553C14.317 6.86531 14.3376 6.77855 14.3407 6.69029C14.3439 6.60203 14.3294 6.51402 14.2983 6.43138C14.2671 6.34875 14.2198 6.27312 14.1592 6.20891C14.0986 6.1447 14.0258 6.09317 13.9451 6.05733C13.8643 6.02148 13.7773 6.00203 13.689 6.00011C13.6007 5.99819 13.5129 6.01383 13.4307 6.04612C13.3485 6.07842 13.2735 6.12673 13.2102 6.18824L7.66683 11.4229L2.12483 6.18824Z' fill='%23ffffff' fill-opacity='.82'/%3E%3C/svg%3E");
}
.ui-nested-dropdown__panel {
  position: absolute;
  top: calc(100% + 10px);
  left: 0;
  min-width: 320px;
  padding: 8px;
  background: rgba(18, 18, 65, 0.96);
  border: 1px solid rgba(38, 48, 245, 0.28);
  border-radius: 16px;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.42);
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-4px);
  transition: opacity 0.14s ease, transform 0.14s ease, visibility 0.14s ease;
}
.ui-nested-dropdown__panel::before {
  content: "";
  position: absolute;
  top: -10px;
  left: 0;
  width: 100%;
  height: 10px;
  background: transparent;
}
.ui-nested-dropdown--align-right .ui-nested-dropdown__panel {
  left: auto;
  right: 0;
}
.ui-nested-dropdown--align-right .ui-nested-dropdown__submenu {
  left: auto;
  right: calc(100% + 12px);
  transform: translateX(4px);
}
.ui-nested-dropdown--align-right .ui-nested-dropdown__item--has-submenu:hover > .ui-nested-dropdown__submenu,
.ui-nested-dropdown--align-right .ui-nested-dropdown__item--has-submenu:focus-within > .ui-nested-dropdown__submenu {
  transform: translateX(0);
}
.ui-nested-dropdown__menu, .ui-nested-dropdown__submenu-menu {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.ui-nested-dropdown__divider {
  height: 1px;
  margin: 6px 6px;
  background: rgba(255, 255, 255, 0.1);
}
.ui-nested-dropdown__item {
  position: relative;
  border-radius: 12px;
}
.ui-nested-dropdown__item.is-active > .ui-nested-dropdown__control {
  background: rgba(38, 48, 245, 0.32);
}
.ui-nested-dropdown__item.is-selected > .ui-nested-dropdown__control {
  background: rgba(255, 255, 255, 0.06);
}
.ui-nested-dropdown__control {
  width: 100%;
  display: block;
  border-radius: 12px;
  color: #ffffff;
  text-decoration: none;
  cursor: pointer;
  user-select: none;
  outline: none;
}
.ui-nested-dropdown__control:hover .ui-nested-dropdown__content {
  background: rgba(38, 48, 245, 0.22);
  border-color: rgba(38, 48, 245, 0.28);
}
.ui-nested-dropdown__control:focus-within .ui-nested-dropdown__content {
  background: rgba(38, 48, 245, 0.22);
  border-color: rgba(38, 48, 245, 0.28);
}
.ui-nested-dropdown__input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.ui-nested-dropdown__content {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 12px;
  position: relative;
  background: rgba(0, 0, 0, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.06);
  transition: background 0.12s ease;
  text-decoration: none;
}
.ui-nested-dropdown__text {
  flex: 1;
  font-size: 14px;
  line-height: 1.2;
  text-align: left;
  padding-right: 44px;
}
.ui-nested-dropdown__check {
  position: absolute;
  right: 12px;
  top: 50%;
  opacity: 0;
  transform: translateY(-50%) scale(0.9);
  transition: opacity 0.12s ease, transform 0.12s ease;
  font-weight: 900;
  font-size: 14px;
  min-width: 18px;
  text-align: center;
}
.ui-nested-dropdown__item.is-selected .ui-nested-dropdown__check {
  opacity: 1;
  transform: translateY(-50%) scale(1);
}
.ui-nested-dropdown__item.is-selected .ui-nested-dropdown__content {
  background: rgba(38, 48, 245, 0.32);
  border-color: rgba(255, 255, 255, 0.1);
}
.ui-nested-dropdown .ui-nested-dropdown__input:checked + .ui-nested-dropdown__content {
  background: rgba(38, 48, 245, 0.32);
  border-color: rgba(255, 255, 255, 0.1);
}
.ui-nested-dropdown .ui-nested-dropdown__input:checked + .ui-nested-dropdown__content .ui-nested-dropdown__check {
  opacity: 1;
  transform: translateY(-50%) scale(1);
}
.ui-nested-dropdown__chevron {
  position: absolute;
  right: 12px;
  top: 50%;
  width: 14px;
  height: 14px;
  opacity: 0.8;
  transform: translateY(-50%);
  background-repeat: no-repeat;
  background-position: center;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M6.188 13.875c-.06.064-.107.139-.138.221-.031.082-.046.169-.044.256.002.088.022.174.058.254.036.08.087.152.151.212.064.061.139.108.221.139.082.031.169.046.257.044.088-.002.174-.022.254-.058.08-.036.152-.087.212-.151l5.667-6.001c.117-.124.183-.288.183-.458 0-.17-.066-.334-.183-.458L7.157 1.875c-.06-.065-.132-.118-.212-.155-.08-.037-.167-.058-.255-.061-.088-.003-.175.012-.257.043-.082.031-.157.078-.221.139-.064.06-.115.132-.151.212-.036.08-.056.166-.058.254-.002.088.013.175.044.257.031.082.078.157.138.221L11.423 7.667 6.188 13.875Z' fill='%23ffffff' fill-opacity='.78'/%3E%3C/svg%3E");
}
.ui-nested-dropdown__item--has-submenu .ui-nested-dropdown__text {
  padding-right: 64px;
}
.ui-nested-dropdown__item--has-submenu .ui-nested-dropdown__check {
  right: 36px;
}
.ui-nested-dropdown__submenu {
  position: absolute;
  left: calc(100% + 12px);
  top: -8px;
  min-width: 320px;
  padding: 8px;
  background: rgba(18, 18, 65, 0.96);
  border: 1px solid rgba(38, 48, 245, 0.28);
  border-radius: 16px;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.42);
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateX(-4px);
  transition: opacity 0.14s ease, transform 0.14s ease, visibility 0.14s ease;
}
.ui-nested-dropdown__submenu::before {
  content: "";
  position: absolute;
  top: 0;
  left: -12px;
  width: 12px;
  height: 100%;
  background: transparent;
}
.ui-nested-dropdown__item--has-submenu:hover > .ui-nested-dropdown__submenu, .ui-nested-dropdown__item--has-submenu:focus-within > .ui-nested-dropdown__submenu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(0);
}
.ui-nested-dropdown--align-right .ui-nested-dropdown__panel {
  left: auto;
  right: 0;
}
.ui-nested-dropdown--align-right .ui-nested-dropdown__submenu {
  left: auto;
  right: calc(100% + 12px);
  transform: translateX(4px);
}
.ui-nested-dropdown--align-right .ui-nested-dropdown__submenu::before {
  left: auto;
  right: -12px;
}
.ui-nested-dropdown--align-right .ui-nested-dropdown__item--has-submenu:hover > .ui-nested-dropdown__submenu,
.ui-nested-dropdown--align-right .ui-nested-dropdown__item--has-submenu:focus-within > .ui-nested-dropdown__submenu {
  transform: translateX(0);
}
.ui-nested-dropdown--light .ui-nested-dropdown__trigger {
  background: rgba(255, 255, 255, 0.85);
  color: #1E1D30;
  border: 1px solid rgba(0, 0, 0, 0.12);
}
.ui-nested-dropdown--light .ui-nested-dropdown__caret {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M2.12483 6.18824L7.66683 11.4229L13.2102 6.18824' stroke='%231E1D30' stroke-opacity='.75' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.ui-nested-dropdown--light .ui-nested-dropdown__panel,
.ui-nested-dropdown--light .ui-nested-dropdown__submenu {
  background: rgba(255, 255, 255, 0.98);
  border: 1px solid rgba(0, 0, 0, 0.12);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.12);
}
.ui-nested-dropdown--light .ui-nested-dropdown__control {
  color: #1E1D30;
}
.ui-nested-dropdown--light .ui-nested-dropdown__divider {
  background: rgba(0, 0, 0, 0.1);
}
.ui-nested-dropdown--light .ui-nested-dropdown__item.is-active > .ui-nested-dropdown__control {
  background: rgba(38, 48, 245, 0.12);
}
.ui-nested-dropdown--light .ui-nested-dropdown__control:hover,
.ui-nested-dropdown--light .ui-nested-dropdown__control:focus-within {
  background: rgba(0, 0, 0, 0.05);
}

.loader-secondary {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  position: relative;
  animation: rotate 1s linear infinite;
  background: conic-gradient(from 0deg, #2630F5, #B7C9FF, #F043B8);
  mask-image: radial-gradient(circle, transparent 50%, black 50%);
}
.loader-secondary::before, .loader-secondary::after {
  content: "";
  box-sizing: border-box;
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background: conic-gradient(from 0deg, #2630F5, #B7C9FF, #F043B8);
  mask-image: radial-gradient(circle, transparent 50%, black 50%);
  animation: prixClipFix 2s linear infinite;
}
.loader-secondary::after {
  transform: rotate3d(90, 90, 0, 180deg);
}
@keyframes rotate {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes prixClipFix {
  0% {
    clip-path: polygon(50% 50%, 0 0, 0 0, 0 0, 0 0, 0 0);
  }
  50% {
    clip-path: polygon(50% 50%, 0 0, 100% 0, 100% 0, 100% 0, 100% 0);
  }
  75%, 100% {
    clip-path: polygon(50% 50%, 0 0, 100% 0, 100% 100%, 100% 100%, 100% 100%);
  }
}

.loader-ai {
  position: absolute;
  height: 100%;
  aspect-ratio: 1/1;
  border-radius: 50%;
  perspective: 800px;
}
.loader-ai .inner {
  position: absolute;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  border-radius: 50%;
}
.loader-ai .inner.one {
  left: 0;
  top: 0;
  animation: rotate-one 1s linear infinite;
  border-bottom: 3px solid #EFEFFA;
}
.loader-ai .inner.two {
  right: 0;
  top: 0;
  animation: rotate-two 1s linear infinite;
  border-right: 3px solid #EFEFFA;
}
.loader-ai .inner.three {
  right: 0;
  bottom: 0;
  animation: rotate-three 1s linear infinite;
  border-top: 3px solid #EFEFFA;
}
@keyframes rotate-one {
  0% {
    transform: rotateX(35deg) rotateY(-45deg) rotateZ(0deg);
  }
  100% {
    transform: rotateX(35deg) rotateY(-45deg) rotateZ(360deg);
  }
}
@keyframes rotate-two {
  0% {
    transform: rotateX(50deg) rotateY(10deg) rotateZ(0deg);
  }
  100% {
    transform: rotateX(50deg) rotateY(10deg) rotateZ(360deg);
  }
}
@keyframes rotate-three {
  0% {
    transform: rotateX(35deg) rotateY(55deg) rotateZ(0deg);
  }
  100% {
    transform: rotateX(35deg) rotateY(55deg) rotateZ(360deg);
  }
}

.chat__preload {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 1 1 auto;
  width: 100%;
  min-height: 0;
  padding: 1.5rem;
  --w: 420px;
  --h: 108px;
  --radius: 22px;
  --bg: rgba(255,255,255,.06);
  --border: rgba(255,255,255,.12);
  --text: rgba(255,255,255,.88);
  --bar-bg: rgba(255,255,255,.10);
  --bar-fill: #2630F5;
  --bar-h: 10px;
  --logo-bg: rgba(255,255,255,.08);
  --logo-border: rgba(255,255,255,.12);
  --stroke: rgba(255,255,255,.92);
}
.chat__preload-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}
.chat__preload-card {
  width: var(--w);
  max-width: 92vw;
  min-height: var(--h);
  padding: 18px;
  border-radius: var(--radius);
  background: var(--bg);
  border: 1px solid var(--border);
  box-shadow: 0 20px 56px rgba(0, 0, 0, 0.4);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  display: grid;
  grid-template-columns: 70px 1fr;
  grid-template-rows: auto auto;
  column-gap: 16px;
  row-gap: 12px;
  align-items: center;
}
.chat__preload-logo {
  grid-row: 1/span 2;
  width: 62px;
  height: 62px;
  border-radius: 18px;
  background: var(--logo-bg);
  border: 1px solid var(--logo-border);
  display: grid;
  place-items: center;
  position: relative;
  overflow: hidden;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.18), 0 18px 40px rgba(0, 0, 0, 0.26);
}
.chat__preload-logo::after {
  content: "";
  position: absolute;
  inset: -70%;
  background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.22) 48%, rgba(255, 255, 255, 0.05) 58%, transparent 100%);
  transform: translateX(-85%) rotate(18deg);
  animation: chatPreload-shine 1.45s ease-in-out infinite;
  mix-blend-mode: screen;
  pointer-events: none;
}
.chat__preload-face {
  width: 100%;
  height: 100%;
  position: relative;
  display: grid;
  place-items: center;
  transform-origin: 50% 62%;
  animation: chatPreload-headTilt 1.35s ease-in-out infinite;
}
.chat__preload-face::before {
  content: "";
  position: absolute;
  inset: 18px 14px;
  border-radius: 14px;
  background: rgba(0, 0, 0, 0);
  animation: chatPreload-blink 2.2s ease-in-out infinite;
  pointer-events: none;
}
.chat__preload-svg {
  width: 40px;
  height: 40px;
  display: block;
  position: absolute;
  inset: 50% auto auto 50%;
  transform: translate(-50%, -50%);
  transform-origin: 50% 62%;
}
.chat__preload-svg--base {
  filter: drop-shadow(0 12px 22px rgba(0, 0, 0, 0.24));
  animation: chatPreload-breathe 1.35s ease-in-out infinite;
}
.chat__preload-svg--stroke {
  z-index: 2;
  pointer-events: none;
  opacity: 0;
  animation: chatPreload-strokeAppear 2.2s ease-in-out infinite;
  filter: drop-shadow(0 10px 16px rgba(38, 48, 245, 0.22));
}
.chat__preload-svg--stroke path {
  fill: none !important;
  stroke: var(--stroke);
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-dasharray: 140;
  stroke-dashoffset: 140;
  animation: chatPreload-strokeDraw 2.2s ease-in-out infinite;
}
.chat__preload-spark {
  position: absolute;
  left: 74%;
  top: 22%;
  width: 10px;
  height: 10px;
  transform: translate(-50%, -50%) scale(0.55);
  opacity: 0;
  pointer-events: none;
  z-index: 3;
  animation: chatPreload-spark 2.2s ease-in-out infinite;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.95), rgba(255, 255, 255, 0.12) 55%, transparent 70%);
  filter: drop-shadow(0 12px 18px rgba(38, 48, 245, 0.28));
  clip-path: polygon(50% 0%, 62% 38%, 100% 50%, 62% 62%, 50% 100%, 38% 62%, 0% 50%, 38% 38%);
}
.chat__preload-bar {
  grid-column: 2;
  height: var(--bar-h);
  border-radius: 999px;
  background: var(--bar-bg);
  overflow: hidden;
  position: relative;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
}
.chat__preload-fill {
  position: absolute;
  inset: 0 auto 0 0;
  width: 18%;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(38, 48, 245, 0.2), var(--bar-fill), rgba(38, 48, 245, 0.2));
  animation: chatPreload-progress 1.05s ease-in-out infinite;
}
.chat__preload-shimmer {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.2) 50%, transparent 100%);
  transform: translateX(-120%);
  animation: chatPreload-shimmer 1.1s ease-in-out infinite;
  mix-blend-mode: screen;
  pointer-events: none;
}
.chat__preload-text {
  grid-column: 2;
  font-size: 1.02rem;
  line-height: 1.2;
  color: var(--text);
  opacity: 0.94;
  letter-spacing: 0.01em;
}
@keyframes chatPreload-headTilt {
  0%, 100% {
    transform: translateY(0) rotate(-1.4deg);
  }
  35% {
    transform: translateY(-3px) rotate(1.9deg);
  }
  60% {
    transform: translateY(-2px) rotate(0.6deg);
  }
}
@keyframes chatPreload-breathe {
  0%, 100% {
    transform: translate(-50%, -50%) scale(0.98);
  }
  50% {
    transform: translate(-50%, -50%) scale(1.035);
  }
}
@keyframes chatPreload-strokeAppear {
  0%, 18% {
    opacity: 0;
  }
  28%, 70% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes chatPreload-strokeDraw {
  0%, 22% {
    stroke-dashoffset: 140;
    opacity: 0;
  }
  32% {
    stroke-dashoffset: 140;
    opacity: 1;
  }
  55% {
    stroke-dashoffset: 0;
    opacity: 1;
  }
  78% {
    stroke-dashoffset: 0;
    opacity: 1;
  }
  100% {
    stroke-dashoffset: 140;
    opacity: 0;
  }
}
@keyframes chatPreload-blink {
  0%, 40%, 100% {
    background: rgba(0, 0, 0, 0);
  }
  46% {
    background: rgba(0, 0, 0, 0.18);
  }
  48% {
    background: rgba(0, 0, 0, 0);
  }
}
@keyframes chatPreload-spark {
  0%, 34% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.5) rotate(0deg);
  }
  40% {
    opacity: 0.95;
    transform: translate(-50%, -50%) scale(1.06) rotate(12deg);
  }
  52% {
    opacity: 0.2;
    transform: translate(-50%, -50%) scale(0.86) rotate(28deg);
  }
  100% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.5) rotate(40deg);
  }
}
@keyframes chatPreload-shine {
  0% {
    transform: translateX(-85%) rotate(18deg);
    opacity: 0.1;
  }
  45% {
    opacity: 0.26;
  }
  100% {
    transform: translateX(100%) rotate(18deg);
    opacity: 0.08;
  }
}
@keyframes chatPreload-progress {
  0% {
    transform: translateX(-40%);
    width: 18%;
    opacity: 0.78;
  }
  50% {
    transform: translateX(160%);
    width: 58%;
    opacity: 1;
  }
  100% {
    transform: translateX(240%);
    width: 18%;
    opacity: 0.78;
  }
}
@keyframes chatPreload-shimmer {
  0% {
    transform: translateX(-120%);
  }
  100% {
    transform: translateX(120%);
  }
}
@media (prefers-reduced-motion: reduce) {
  .chat__preload .chat__preload,
  .chat__preload .chat__preload * {
    animation: none !important;
  }
}

.toast {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  padding-block: 1rem;
  background-color: #242C32;
  position: fixed;
  bottom: 2%;
  right: -150%;
  transition: right 0.3s ease-in-out;
  z-index: 100000;
  box-shadow: 0 16px 24px 0 rgba(0, 0, 0, 0.14), 0 6px 30px 0 rgba(0, 0, 0, 0.12), 0 8px 10px 0 rgba(0, 0, 0, 0.2);
  border-radius: 0.5rem;
  overflow: hidden;
}
.toast__close {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  position: absolute;
  top: 0.25rem;
  right: 0.25rem;
  width: 1rem;
  height: 1rem;
  border-radius: 50%;
  background-color: rgba(0, 0, 0, 0.6);
  cursor: pointer;
}
.toast__close::before, .toast__close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 2px;
  height: 0.6rem;
  background-color: #fff;
  transform-origin: center;
}
.toast__close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.toast__close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.toast__icon {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding-inline: 1rem;
}
.toast__icon--background {
  position: absolute;
  width: 212px;
  height: 212px;
  border-radius: 50%;
  pointer-events: none;
  opacity: 0.12;
}
.toast__content {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  padding-right: 1rem;
}
.toast__title {
  font-size: clamp(1rem, calc(2vw + 1rem), 1.125rem);
  font-style: normal;
  font-weight: 700;
  line-height: 1.375rem;
  letter-spacing: -0.408px;
}
.toast__title, .toast__description {
  color: #fff;
}
.toast__progress {
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  height: 4px;
  background-color: rgba(255, 255, 255, 0.7);
  transform-origin: left;
  transform: scaleX(1);
}
.toast--visible {
  right: 2rem;
}
.toast--success .toast__icon--background {
  background: radial-gradient(circle closest-side at center, rgb(52, 199, 89) 0%, rgba(0, 237, 123, 0) 100%);
}
.toast--success .toast__progress {
  background-color: rgb(52, 199, 89);
}
.toast--warning .toast__icon--background {
  background: radial-gradient(circle closest-side at center, rgb(255, 210, 31) 0%, rgba(0, 237, 123, 0) 100%);
}
.toast--warning .toast__progress {
  background-color: rgb(255, 210, 31);
}
.toast--error .toast__icon--background {
  background: radial-gradient(circle closest-side at center, rgb(240, 67, 73) 0%, rgba(0, 237, 123, 0) 100%);
}
.toast--error .toast__progress {
  background-color: rgb(240, 67, 73);
}

.notifications {
  position: relative;
  z-index: 1;
}
.notifications__toggle {
  width: 2rem;
  height: 2rem;
  aspect-ratio: 1;
}
.notifications__toggle .icon {
  width: 100%;
  height: 100%;
}
.notifications--down .notifications__list {
  top: 100%;
  transform-origin: top;
}
.notifications--up .notifications__list {
  bottom: 100%;
  transform-origin: bottom;
}
.notifications--sm .notifications__toggle {
  width: 1.75rem;
  height: 1.75rem;
}
.notifications--sm .notifications__icon {
  width: 1.125rem;
  height: 1.125rem;
}
.notifications--sm .notifications__badge {
  top: -0.5rem;
  right: -0.5rem;
  min-width: 1.1rem;
  height: 1.1rem;
  padding: 0 0.25rem;
  font-size: 0.75rem;
  line-height: 1.1rem;
}
.notifications--lg .notifications__toggle {
  width: 2.5rem;
  height: 2.5rem;
}
.notifications--lg .notifications__icon {
  width: 1.5rem;
  height: 1.5rem;
}
.notifications--lg .notifications__badge {
  top: -0.65rem;
  right: -0.65rem;
}
.notifications--plain .notifications__toggle {
  background-color: transparent;
}
.notifications--dot .notifications__toggle {
  background-color: #FF7A00;
}
.notifications--dot-blue .notifications__toggle {
  background-color: #2630f5;
}
.notifications--badge-orange .notifications__badge {
  background: #FF7A00;
  color: #fff;
}
.notifications--badge-blue .notifications__badge {
  background: #2630f5;
  color: #fff;
}
.notifications__toggle {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  position: relative;
  cursor: pointer;
  border-radius: 100px;
  background-color: transparent;
}
.notifications__icon {
  height: 100%;
  display: block;
  aspect-ratio: 1/1;
}
.notifications__header {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-height: 56px;
  padding: 16px 16px 10px;
  font-weight: 800;
  font-size: 1.125rem;
  color: #fff;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.notifications__title {
  line-height: 1.2;
}
.notifications__close {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 36px;
  height: 36px;
  position: relative;
  border-radius: 10px;
  cursor: pointer;
  outline: none;
}
.notifications__close:focus-visible {
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.35);
}
.notifications__close::before, .notifications__close::after {
  content: "";
  position: absolute;
  width: 16px;
  height: 2px;
  background: rgba(255, 255, 255, 0.85);
  border-radius: 2px;
  transition: background 0.15s ease-out;
}
.notifications__close::before {
  transform: rotate(45deg);
}
.notifications__close::after {
  transform: rotate(-45deg);
}
@media (hover: hover) and (pointer: fine) {
  .notifications__close:hover::before, .notifications__close:hover::after {
    background: #fff;
  }
}
.notifications__list {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  position: absolute;
  width: 540px;
  max-height: 720px;
  list-style: none;
  border-radius: 1.75rem;
  background: #252525;
  box-shadow: 0 8px 24px 4px rgba(0, 0, 0, 0.25);
  backdrop-filter: blur(10px);
  opacity: 0;
  overflow: hidden;
  pointer-events: none;
  transform: translateY(0.5rem) scale(0.98);
  transition: opacity 0.18s ease-out, transform 0.18s ease-out, visibility 0s linear 0.18s;
  z-index: 1000;
}
.notifications__list--items {
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, 0.35) transparent;
}
.notifications__list--items::-webkit-scrollbar {
  width: 4px;
}
.notifications__list--items::-webkit-scrollbar-track {
  background: transparent;
}
.notifications__list--items::-webkit-scrollbar-thumb {
  background-color: rgba(255, 255, 255, 0.35);
  border-radius: 999px;
}
.notifications__list--items::-webkit-scrollbar-thumb:hover {
  background-color: rgba(255, 255, 255, 0.55);
}
.notifications__list--visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0) scale(1);
  transition: opacity 0.18s ease-out, transform 0.18s ease-out;
}
.notifications.notifications--down.notifications--align-left .notifications__list {
  left: 0;
  right: auto;
}
.notifications.notifications--down.notifications--align-right .notifications__list {
  right: 0;
  left: auto;
}
.notifications__empty {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: #fff;
  padding: 12px 16px;
}
.notifications .notification {
  position: relative;
  transition: background 0.3s ease-in-out;
  border-bottom: 2.5px solid rgba(158, 149, 149, 0.2196078431);
}
.notifications .notification * {
  color: #fff;
}
.notifications .notification:last-child {
  border-bottom: 0;
}
@media (hover: hover) and (pointer: fine) {
  .notifications .notification:hover {
    background-color: rgba(38, 48, 245, 0.2);
  }
}
.notifications .notification--unread::after {
  content: "";
  width: 0.55rem;
  aspect-ratio: 1;
  border-radius: 100px;
  background-color: #2630f5;
  position: absolute;
  top: 1rem;
  right: 1rem;
}
.notifications .notification__body, .notifications .notification__link {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  width: 100%;
  padding: 1rem 1.8125rem;
  gap: 1.3125rem;
  text-decoration: none;
  color: inherit;
}
.notifications__backdrop {
  position: fixed;
  inset: 0;
  z-index: 999;
  opacity: 0;
  pointer-events: none;
  display: none;
  transition: opacity 0.2s ease-out;
}
.notifications__list--visible ~ .notifications__backdrop {
  display: block;
  opacity: 1;
  pointer-events: all;
}
@media (max-width: 1023px) {
  .notifications--down .notifications__list {
    top: 0;
  }
  .notifications__list {
    position: fixed;
    inset: 0;
    z-index: 1000;
    width: 100vw;
    max-height: none;
    border: none;
    border-radius: 0;
    overflow-y: auto;
    background: radial-gradient(110% 110% at 20% 10%, #5b4b9a 0%, #2a2a73 40%, #1e1e5e 100%);
    color: #fff;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-100%);
    transition: transform 0.28s ease-out, opacity 0.28s ease-out, visibility 0s linear 0.28s;
  }
  .notifications__list--visible {
    height: 100svh;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
    transition: transform 0.28s ease-out, opacity 0.28s ease-out;
  }
  .notifications__header {
    position: sticky;
    top: 0;
    z-index: 1;
    padding: 16px 14px 8px;
    background: transparent;
    box-shadow: 0 2px 0 0 rgba(255, 255, 255, 0.06);
    font-size: 20px;
  }
}

.ui-badge {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  position: absolute;
  white-space: nowrap;
  pointer-events: none;
  color: #fff;
  font-weight: 700;
  line-height: 1;
  z-index: 5;
}
.ui-badge--sm {
  width: 16px;
  height: 16px;
  font-size: 10px;
}
.ui-badge--md {
  width: 20px;
  height: 20px;
  font-size: 12px;
}
.ui-badge--lg {
  width: 24px;
  height: 24px;
  font-size: 13px;
}
.ui-badge {
  /* круг / пилюля */
}
.ui-badge--circle {
  border-radius: 50%;
  padding: 0;
}
.ui-badge--pill {
  min-width: 22px;
  padding: 0 6px;
  height: 20px;
  border-radius: 9999px;
}
.ui-badge--wide {
  border-radius: 9999px;
  min-width: 22px;
  padding: 0 6px;
}
.ui-badge {
  /* позиции */
}
.ui-badge--top_right {
  top: -6px;
  right: -8px;
}
.ui-badge--top_left {
  top: -6px;
  left: -8px;
}
.ui-badge--bottom_right {
  bottom: -6px;
  right: -8px;
}
.ui-badge--bottom_left {
  bottom: -6px;
  left: -8px;
}
.ui-badge {
  /* цвета (подставь свои переменные, если нужно) */
}
.ui-badge--orange {
  background: #FF7A00;
}
.ui-badge--blue {
  background: #2630f5;
}
.ui-badge--green {
  background: rgb(52, 199, 89);
}
.ui-badge--red {
  background: rgb(255, 49, 49);
}
.ui-badge--gray {
  background: #787783;
}

.ui-donut {
  --donut-duration: 1.2s;
  --donut-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --legend-w: 220px;
  --donut-size: 180px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  position: relative;
}
.ui-donut--framed {
  padding: 1rem;
  background: rgba(37, 37, 37, 0.75);
  border: 1px solid rgba(255, 255, 255, 0.06);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.25);
  border-radius: 1.75rem;
  -webkit-backdrop-filter: blur(18.5px);
  backdrop-filter: blur(18.5px);
}
.ui-donut--embossed .ui-donut__seg {
  filter: url(#donut-shadow);
  transition: filter 0.2s ease;
  animation: none;
}
.ui-donut__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.ui-donut__title {
  font-weight: 700;
  font-size: 18px;
  color: #EDEDED;
  letter-spacing: 0.2px;
}
.ui-donut__toolbar {
  display: flex;
  align-items: center;
  gap: 8px;
}
.ui-donut__content {
  position: relative;
  width: 100%;
  min-height: 0;
}
.ui-donut__chart {
  position: relative;
  width: 100%;
  max-width: var(--donut-size, 200px);
  aspect-ratio: 1/1;
  margin: 0 auto;
}
.ui-donut__svg {
  width: 100%;
  height: 100%;
  display: block;
  overflow: visible;
}
.ui-donut__legend {
  display: flex;
}
.ui-donut--bottom .ui-donut__content {
  display: grid;
  grid-template-rows: auto auto;
  gap: 12px;
}
.ui-donut--bottom .ui-donut__chart {
  justify-self: center;
}
.ui-donut--bottom .ui-donut__legend {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px 16px;
}
.ui-donut--right .ui-donut__content {
  padding-right: calc(var(--legend-w) + 16px);
}
.ui-donut--right .ui-donut__legend {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: var(--legend-w);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  max-height: 100%;
  overflow: auto;
  scrollbar-width: thin;
}
.ui-donut__legend-item {
  display: grid;
  grid-template-columns: 10px 1fr auto;
  align-items: center;
  gap: 8px;
  font-weight: 600;
  color: #EDEDED;
  border-radius: 10px;
  padding: 4px 6px;
  min-width: 0;
}
.ui-donut__legend-item.is-active {
  background: rgba(255, 255, 255, 0.06);
}
.ui-donut__dot {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  display: inline-block;
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.08) inset;
}
.ui-donut__legend-label {
  opacity: 0.95;
  font-size: 14px;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ui-donut__legend-meta {
  display: inline-flex;
  align-items: baseline;
  gap: 6px;
  white-space: nowrap;
}
.ui-donut__legend-value {
  font-weight: 800;
  font-size: 14px;
}
.ui-donut__legend-pct {
  font-weight: 700;
  font-size: 12px;
  opacity: 0.78;
}
.ui-donut__center {
  font-weight: 800;
  font-size: 20px;
}
.ui-donut__seg {
  transition: opacity 0.15s ease;
}
.ui-donut__seg.is-active {
  opacity: 1;
}

.ui-tooltip {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  gap: 10px;
  position: absolute;
  inset: 0 auto auto 0;
  transform: translate(-9999px, -9999px);
  pointer-events: none;
  z-index: 3;
  opacity: 0;
  transition: opacity 0.12s ease;
  will-change: transform, opacity;
  padding: 6px 10px;
  border-radius: 14px;
  color: #fff;
  background: rgba(0, 0, 0, 0.85);
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.35);
}
.ui-tooltip__dot {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: var(--ui-tip-accent, #28d07d);
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.06) inset;
}
.ui-tooltip__label {
  color: #e4e4e4;
  font-weight: 600;
  letter-spacing: 0.1px;
}
.ui-tooltip__value {
  color: #dfffe9;
  font-weight: 700;
  margin-left: 6px;
}
.ui-tooltip__pct {
  color: #a7f5c6;
  font-weight: 600;
  margin-left: 4px;
  opacity: 0.9;
}
.ui-tooltip.is-visible {
  opacity: 1;
}

.ui-dd {
  position: relative;
}
.ui-dd--period .ui-dd__button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  background: #1D1D1D;
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 10px;
  font-weight: 600;
  font-size: 14px;
  color: #EDEDED;
  cursor: pointer;
  user-select: none;
  transition: background 0.15s ease, border-color 0.15s ease;
}
@media (hover: hover) and (pointer: fine) {
  .ui-dd--period .ui-dd__button:hover {
    background: #232323;
    border-color: rgba(255, 255, 255, 0.12);
  }
}
.ui-dd--period .ui-dd__chev {
  font-size: 12px;
  line-height: 1;
  opacity: 0.9;
  transform: translateY(-1px);
}
.ui-dd--kebab .ui-dd__icon {
  display: grid;
  width: 36px;
  height: 36px;
  place-items: center;
  border-radius: 10px;
  background: #1D1D1D;
  border: 1px solid rgba(255, 255, 255, 0.06);
  font-size: 18px;
  color: #EDEDED;
  cursor: pointer;
  user-select: none;
  transition: background 0.15s ease, border-color 0.15s ease, opacity 0.15s ease;
  line-height: 0;
}
@media (hover: hover) and (pointer: fine) {
  .ui-dd--kebab:hover {
    background: #232323;
    border-color: rgba(255, 255, 255, 0.12);
  }
}
.ui-dd summary {
  list-style: none;
}
.ui-dd summary::-webkit-details-marker {
  display: none;
}
.ui-dd__menu {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  min-width: 180px;
  padding: 8px;
  background: #141414;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.45);
  z-index: 40;
}
.ui-dd__item {
  display: block;
  padding: 10px 10px;
  border-radius: 8px;
  font-weight: 600;
  font-size: 14px;
  color: #EDEDED;
  text-decoration: none;
  transition: background 0.12s ease, color 0.12s ease;
}
@media (hover: hover) and (pointer: fine) {
  .ui-dd__item:hover {
    background: #1E1E1E;
  }
}
.ui-dd__item:active {
  background: #222;
}
.ui-dd details[open] > summary .ui-dd__chev {
  transform: rotate(180deg) translateY(1px);
  transition: transform 0.15s ease;
}

.ui-donut__seg {
  transition: stroke-dashoffset var(--donut-duration, 1s) var(--donut-ease, ease);
  animation: donut-draw var(--donut-duration, 1s) var(--donut-ease, ease) forwards;
}

.ui-donut__seg--glow {
  filter: url(#donut-glow);
}

@keyframes donut-draw {
  from {
    stroke-dashoffset: var(--donut-start, 0);
  }
  to {
    stroke-dashoffset: var(--donut-final-offset, 0);
  }
}
@media (max-width: 640px) {
  .ui-donut {
    --legend-w: 0px;
  }
  .ui-donut--right .ui-donut__content {
    padding-right: 0;
    display: grid;
    grid-template-rows: auto auto;
    gap: 12px;
  }
  .ui-donut--right .ui-donut__legend {
    position: static;
    transform: none;
    width: auto;
    display: flex;
    flex-wrap: wrap;
    gap: 10px 16px;
    justify-content: center;
  }
  .ui-donut__legend-item {
    grid-template-columns: 10px 1fr;
  }
  .ui-donut__legend-item .ui-donut__legend-meta {
    display: none;
  }
}
.graph-card {
  background: #ffffff;
  border: 1px solid rgba(17, 24, 39, 0.1);
  border-radius: 16px;
  box-shadow: 0 6px 20px rgba(17, 24, 39, 0.08);
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.graph-wrap {
  position: relative;
}

.graph-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.graph-title {
  margin: 0;
  font-size: 16px;
  line-height: 1.2;
  font-weight: 700;
  color: #E5E7EB;
}

.graph-tabs {
  display: inline-flex;
  gap: 8px;
  background: rgba(15, 23, 42, 0.55);
  border-radius: 999px;
  padding: 4px;
}
.graph-tabs .graph-tab {
  appearance: none;
  border: 0;
  background: transparent;
  padding: 6px 12px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
  color: rgba(229, 231, 235, 0.55);
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease;
  text-decoration: none;
}
.graph-tabs .graph-tab:hover {
  background: rgba(15, 23, 42, 0.75);
  color: #F9FAFB;
}
.graph-tabs .graph-tab.is-active {
  background: #020617;
  color: #fff;
}

.graph {
  width: 100%;
  height: auto;
  display: block;
  overflow: visible;
}

.grid {
  stroke: rgba(17, 24, 39, 0.08);
  stroke-width: 1;
  shape-rendering: crispEdges;
}

.axis-label {
  font-size: 11px;
  fill: rgba(229, 231, 235, 0.7);
  user-select: none;
}

.series-line {
  fill: none;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
  animation: graph-draw 1100ms cubic-bezier(0.22, 0.61, 0.36, 1) both;
  opacity: 0.95;
  transition: opacity 0.2s ease;
}
.series-line:hover {
  opacity: 1;
}

.series-area {
  opacity: 0.14;
  animation: graph-fade-in 600ms ease both;
}

.value-dot {
  display: none;
  r: 3.5;
  stroke: #fff;
  stroke-width: 1.5;
  pointer-events: none;
  transition: transform 0.15s ease, opacity 0.15s ease;
  transform-origin: center;
}
.value-dot:hover {
  transform: scale(1.15);
}

.graph-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 10px;
  margin-top: 2px;
}

.legend-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  border-radius: 12px;
  background: rgba(15, 23, 42, 0.36);
  border: 1.5px solid rgba(148, 163, 184, 0.45);
  cursor: pointer;
  transition: transform 0.12s ease, background 0.2s ease, border-color 0.2s ease;
  color: #E5E7EB;
}
.legend-pill .legend-dot {
  width: 10px;
  height: 10px;
  border-radius: 9999px;
}
.legend-pill .legend-name {
  opacity: 0.9;
  font-weight: 600;
}
.legend-pill .legend-value {
  opacity: 0.9;
  font-weight: 700;
}
.legend-pill.is-active {
  background: rgba(77, 121, 255, 0.2);
  border-color: rgba(77, 121, 255, 0.75);
  transform: translateY(-1px);
}

.series-line.is-hidden,
.value-dot.is-hidden,
.series-area.is-hidden {
  opacity: 0;
  pointer-events: none;
}

.graph-tooltip {
  position: absolute;
  z-index: 10;
  top: 0;
  left: 0;
  transform: translate(var(--tip-x, 0px), var(--tip-y, 0px));
  will-change: transform, opacity;
  transition: transform 0.08s linear, opacity 0.12s ease;
  background: #111827;
  color: #fff;
  font-size: 12px;
  line-height: 1.3;
  padding: 8px 10px;
  border-radius: 10px;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.18);
  pointer-events: none;
  display: none;
}
.graph-tooltip .tooltip-row {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 120px;
}
.graph-tooltip .tooltip-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  white-space: nowrap;
  width: 100%;
}
.graph-tooltip .tooltip-item .dot {
  width: 8px;
  height: 8px;
  border-radius: 9999px;
}
.graph-tooltip .tooltip-item .name {
  font-weight: 500;
}
.graph-tooltip .tooltip-item .val {
  font-weight: 600;
  text-align: right;
}

@keyframes graph-draw {
  from {
    stroke-dashoffset: 1;
    opacity: 0;
  }
  to {
    stroke-dashoffset: 0;
    opacity: 0.95;
  }
}
@keyframes graph-fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 0.14;
  }
}
.dark .graph-card {
  background: #0B0F1A;
  border-color: rgba(255, 255, 255, 0.08);
  box-shadow: none;
}
.dark .graph-title {
  color: #E5E7EB;
}
.dark .graph-tabs {
  background: rgba(255, 255, 255, 0.06);
}
.dark .graph-tabs .graph-tab {
  color: rgba(255, 255, 255, 0.65);
}
.dark .graph-tabs .graph-tab:hover {
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
}
.dark .graph-tabs .graph-tab.is-active {
  background: #fff;
  color: #0B0F1A;
}
.dark .grid {
  stroke: rgba(255, 255, 255, 0.08);
}
.dark .axis-label {
  fill: rgba(229, 231, 235, 0.6);
}
.dark .legend-pill {
  background: rgba(15, 23, 42, 0.5);
  border-color: rgba(148, 163, 184, 0.55);
  color: #E5E7EB;
}
.dark .graph-tooltip {
  background: #111827;
  color: #fff;
}

.toggle-switch-container {
  display: flex;
  align-items: center;
  gap: 10px;
}

.toggle-switch {
  display: flex;
  align-items: center;
  cursor: pointer;
}
.toggle-switch__text {
  font-size: 16px;
  color: white;
  margin-right: 10px;
}
.toggle-switch__checkbox {
  display: none;
}
.toggle-switch__checkbox:checked + .toggle-switch__slider {
  background-color: #2630f5;
}
.toggle-switch__checkbox:checked + .toggle-switch__slider::after {
  transform: translateX(20px);
}
.toggle-switch__slider {
  position: relative;
  width: 50px;
  height: 32px;
  background-color: #ccc;
  border-radius: 100px;
  transition: background-color 0.3s;
}
.toggle-switch__slider::after {
  content: "";
  position: absolute;
  top: 2px;
  left: 2px;
  width: 28px;
  height: 28px;
  background-color: white;
  border-radius: 50%;
  transition: transform 0.3s;
}

.toggle-switch--primary, .toggle-switch--secondary {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  border-radius: 100px;
  overflow: hidden;
  height: 100%;
}
.toggle-switch--primary .toggle-switch__item, .toggle-switch--secondary .toggle-switch__item {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: 100%;
  padding: 0.5rem 1.5rem;
  color: #fff;
  text-align: center;
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  white-space: nowrap;
  line-height: 140%;
  transition: background 0.3s ease-in-out;
  cursor: pointer;
}
.toggle-switch--primary .toggle-switch__item:nth-last-child(1), .toggle-switch--secondary .toggle-switch__item:nth-last-child(1) {
  border-right: 0;
}
.toggle-switch--primary .toggle-switch__item--active, .toggle-switch--secondary .toggle-switch__item--active {
  pointer-events: none;
}

.toggle-switch--primary {
  border: 1px solid #2630f5;
}
.toggle-switch--primary .toggle-switch__item {
  border-right: 1px solid #2630f5;
}
@media (hover: hover) and (pointer: fine) {
  .toggle-switch--primary .toggle-switch__item:hover {
    background-color: #0075FF;
  }
}
.toggle-switch--primary .toggle-switch__item--active {
  background-color: #2630f5;
}

.toggle-switch--secondary {
  border: 1px solid #FF7A00;
}
.toggle-switch--secondary .toggle-switch__item {
  border-right: 1px solid #FF7A00;
}
@media (hover: hover) and (pointer: fine) {
  .toggle-switch--secondary .toggle-switch__item:hover {
    background-color: #F8972E;
  }
}
.toggle-switch--secondary .toggle-switch__item--active {
  background-color: #FF7A00;
}

@media (max-width: 640px) {
  .toggle-switch--primary, .toggle-switch--secondary {
    width: 100%;
  }
}
.event-banner {
  position: fixed;
  left: 50%;
  transform: translateX(-50%);
  bottom: 1rem;
  z-index: 1000;
  max-width: 72rem;
  width: calc(100% - 2rem);
}
.event-banner__wrap {
  position: relative;
  width: 100%;
}
.event-banner__close {
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
  z-index: 25;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 999px;
  border: 0.0625rem solid rgba(255, 255, 255, 0.35);
  background: rgba(0, 0, 0, 0.18);
  color: #ffffff;
  cursor: pointer;
  padding: 0;
  font-size: 1.25rem;
  line-height: 1;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}
.event-banner__content {
  display: block;
  width: 100%;
  min-height: 8.25rem;
  background-color: #080E72;
  border-radius: 1.5rem;
  overflow: hidden;
  padding: 2rem;
  padding-right: 19rem;
  position: relative;
  min-width: 0;
}
.event-banner__bg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  pointer-events: none;
  object-fit: cover;
}
.event-banner__body {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  align-items: flex-start;
  flex: 1 1 auto;
  gap: 0.6rem;
  min-width: 0;
  position: relative;
  z-index: 10;
}
.event-banner__text {
  min-width: 0;
}
.event-banner__actions {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-top: 0.25rem;
}
.event-banner__title, .event-banner__description {
  color: #ffffff;
  line-height: 1.2;
  min-width: 0;
}
.event-banner__title {
  font-family: "DrukWideCyr Bold";
  font-size: 1.125em;
  font-size: clamp(1.125rem, calc(1rem + 1.5vw), 2.375rem);
  font-weight: 700;
  letter-spacing: -0.067rem;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  overflow-wrap: break-word;
  hyphens: auto;
}
.event-banner__description {
  font-family: "Inter Bold";
  font-size: 0.875em;
  font-size: clamp(.875rem, calc(.75rem + .9vw), 1.5rem);
  font-weight: 600;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  overflow-wrap: break-word;
  hyphens: auto;
}
.event-banner__description, .event-banner__description * {
  color: #ffffff;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}
.event-banner__description p {
  display: inline;
  margin: 0;
}
.event-banner__description a {
  color: inherit;
  text-decoration: underline;
}
.event-banner__cta {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  position: relative;
  z-index: 10;
  padding: 0.55rem 1.25rem !important;
  border: 0.0625rem solid #ffffff;
  white-space: nowrap;
  background: rgba(255, 255, 255, 0.14);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}
.event-banner__cta span {
  line-height: 1;
}
.event-banner__cta:after {
  content: "→";
  line-height: 1;
}
.event-banner__media {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  width: 15.5rem;
  height: 9.25rem;
  position: absolute;
  right: 1.25rem;
  bottom: 0;
  z-index: 5;
  pointer-events: none;
}
.event-banner__image {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center bottom;
}
.event-banner__age {
  position: absolute;
  top: 1rem;
  right: 3.75rem;
  z-index: 10;
  color: #ffffff;
  font-family: "Inter Bold";
  font-size: 1.25rem;
  font-style: normal;
  font-weight: 600;
  line-height: 1.2;
  pointer-events: none;
}

@media (max-width: 991px) {
  .event-banner {
    width: calc(100% - 1.5rem);
  }
  .event-banner__content {
    min-height: 6.25rem;
    padding: 1.25rem;
    padding-right: 14rem;
  }
  .event-banner__media {
    right: 0.75rem;
    width: 11.5rem;
    height: 7rem;
  }
  .event-banner__cta {
    padding: 0.45rem 0.9rem !important;
    font-size: 0.75rem !important;
  }
  .event-banner__age {
    font-size: 0.875rem;
    right: 3.25rem;
  }
  .event-banner__close {
    width: 2rem;
    height: 2rem;
    font-size: 1.125rem;
  }
}
@media (max-width: 580px) {
  .event-banner {
    width: calc(100% - 1rem);
    bottom: 0.75rem;
  }
  .event-banner__content {
    min-height: 5rem;
    padding: 0.875rem;
    padding-right: 0.875rem;
  }
  .event-banner__description {
    display: none;
  }
  .event-banner__body {
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
  }
  .event-banner__actions {
    flex: 0 0 auto;
  }
  .event-banner__media {
    display: none;
  }
  .event-banner__cta {
    padding: 0.35rem 0.55rem !important;
  }
  .event-banner__cta span {
    display: none;
  }
  .event-banner__age {
    font-size: 0.75rem;
    top: 0.6rem;
    right: 2.75rem;
  }
  .event-banner__close {
    width: 1.75rem;
    height: 1.75rem;
    top: 0.5rem;
    right: 0.5rem;
    font-size: 1rem;
  }
}
.event-banner--dismissed {
  display: none;
}

.mobile-menu {
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  flex: 1 1 auto;
  width: 100svw;
  height: calc(100svh - 5.4rem);
  max-height: 0;
  position: absolute;
  top: 4rem;
  left: 0;
  padding-right: 0.45rem;
  background-color: #1E1D30;
  transition: transform 0.3s ease-in-out;
  transform: translate3d(0, -100%, 0);
  z-index: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: rgba(160, 160, 160, 0.42) transparent;
  -webkit-overflow-scrolling: touch;
}
.mobile-menu__action--icon-wrapper {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  position: relative;
}
.mobile-menu__list-items {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
}
.mobile-menu__list-item {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  gap: 0.5rem;
  padding: 5% 8%;
}
.mobile-menu__list-item svg path {
  stroke: #fff;
}
.mobile-menu__location {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  gap: 0.4rem;
  padding: 3% 8%;
  border-top: 1px solid #fff;
}
.mobile-menu__location .text-small {
  border-bottom: 1px solid #fff;
}
.mobile-menu__profile-actions {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: space-between;
  border-top: 1px solid #fff;
  border-bottom: 1px solid #fff;
}
.mobile-menu__profile-actions .mobile-menu__profile-action {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 1rem;
  flex: 0 1 100%;
}
.mobile-menu__profile-actions .mobile-menu__profile-action svg {
  height: 100%;
}
.mobile-menu__profile-actions .mobile-menu__profile-action span {
  margin-block: 7%;
}
.mobile-menu__profile-actions .mobile-menu__profile-action:nth-child(1) {
  border-right: 1px solid #fff;
}
.mobile-menu__messangers {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  gap: 1rem;
  padding: 3% 8%;
  border-bottom: 1px solid #fff;
}
.mobile-menu__messangers .messanger {
  width: auto;
  height: 100%;
  aspect-ratio: 1/1;
}
.mobile-menu__messangers .messanger svg {
  width: 100%;
  height: 100%;
}
.mobile-menu__messangers .btn-app, .mobile-menu__messangers .btn-dark--glass-outline, .mobile-menu__messangers .btn-dark--glass, .mobile-menu__messangers .btn-blue--soft {
  width: 100%;
  margin-left: auto;
}
.mobile-menu__contacts {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.5rem;
  padding: 3% 8%;
}
.mobile-menu__contacts .phones .phone {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  gap: 1rem;
}
.mobile-menu__contacts .phones .phone:nth-child(2) {
  padding-left: 2rem;
}
.mobile-menu__contacts .mail, .mobile-menu__contacts .address {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  gap: 1rem;
}
.mobile-menu .mobile-menu__bottom {
  width: 100%;
  margin-top: auto;
  padding: 3% 8%;
}
.mobile-menu .mobile-menu__bottom .mobile-menu__logout {
  width: 100%;
}

header.header-mobile-menu__active .main-nav .container .header__phone--mob {
  display: none;
}
header.header-mobile-menu__active .header__burger-menu--line:nth-child(1) {
  transform-origin: 0 50%;
  transform: rotate(30deg);
}
header.header-mobile-menu__active .header__burger-menu--line:nth-child(3) {
  transform-origin: 0 50%;
  transform: rotate(-30deg);
}
header.header-mobile-menu__active .header__burger-menu--line:nth-child(2) {
  opacity: 0;
}
header.header-mobile-menu__active .mobile-menu {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  max-height: 100000px;
  transform: translate3d(0, 1.5rem, 0);
}

@media (min-width: 1024px) {
  .header-mobile-menu__active .mobile-menu {
    display: none;
  }
}
.list-items__dropdown {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  align-items: flex-start;
  cursor: pointer;
  position: relative;
  z-index: 1000;
}
.list-items__dropdown .dropdown__title {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 0.5rem;
  height: 100%;
  cursor: pointer;
  position: relative;
  z-index: 10;
  transition: color 0.3s ease-in-out;
}
.list-items__dropdown .dropdown__title img {
  transition: 0.3s transform ease-in-out;
}
.list-items__dropdown .dropdown__list-options {
  display: none;
  position: absolute;
  opacity: 0;
  transform: translate3d(0, -100%, 0);
  transition: opacity 0.1s ease-in-out, transform 0.3s ease-in-out;
  transition-behavior: allow-discrete;
  padding-top: 1rem;
  background: transparent;
}
.list-items__dropdown .dropdown__list-options .list-options {
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22);
  border-radius: 0.25rem;
}
.list-items__dropdown .dropdown__list-options .list-options__item-wrapper {
  transition: color 0.3s ease-in-out, background 0.3s ease-in-out;
}
@media (hover: hover) and (pointer: fine) {
  .list-items__dropdown .dropdown__list-options .list-options__item-wrapper:hover {
    color: #fff;
    background: rgba(38, 48, 245, 0.8);
  }
  .list-items__dropdown .dropdown__list-options .list-options__item-wrapper:hover .list-options__subitems {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
  }
}
.list-items__dropdown .dropdown__list-options .list-options__item {
  font-size: 16px;
  line-height: 16px;
  font-weight: 500;
  padding: 1rem;
  cursor: pointer;
  color: #fff;
  white-space: nowrap;
  position: relative;
}
.list-items__dropdown .dropdown__list-options .list-options__subitems {
  display: none;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  position: absolute;
  top: 0;
  left: 100%;
  min-height: 100%;
}
.list-items__dropdown .dropdown__list-options .list-options .active {
  background: rgba(38, 48, 245, 0.8);
}

.list-items__show .dropdown__title {
  color: #2630f5;
}
.list-items__show .dropdown__title .dropdown-arrow {
  transform: rotate(-180deg);
}
.list-items__show .dropdown__list-options {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  opacity: 1;
  transform: translate3d(0, 10%, 0);
  transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
}
@starting-style {
  .list-items__show .dropdown__list-options {
    opacity: 0;
  }
}
.list-items__show .dropdown__list-options .list-options {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
}

.list-items__dropdown--primary .dropdown__title {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 1rem;
  -webkit-transition: all 0.2s;
  -moz-transition: all 0.2s;
  -o-transition: all 0.2s;
  transition: all 0.2s;
  padding: 0.8rem 1rem;
  font-family: "Inter Medium";
  font-size: clamp(1rem, 1.25vw, 1.125rem);
  font-weight: 700;
  line-height: 140%;
  font-style: normal;
  position: relative;
  border: 0;
  width: fit-content;
  height: fit-content;
  cursor: pointer;
  white-space: nowrap;
  outline: none;
  border: none;
  transition: transform 0.3s ease-in-out, color 0.3s ease-in-out, background-color 0.3s ease-in-out, border-color 0.3s ease-in-out;
  background: #2630f5;
  color: #fff;
}
@media (max-width: 820px) {
  .list-items__dropdown--primary .dropdown__title {
    padding: 0.625rem 1.125rem;
  }
}
.list-items__dropdown--primary .dropdown__list-options {
  width: 100%;
  top: calc(100% - 1rem);
}
.list-items__dropdown--primary .dropdown__list-options .list-options {
  width: 100%;
  box-shadow: 0.375rem 0.375rem 1.25rem 0 rgba(85, 87, 92, 0.18);
  background-color: transparent;
}
.list-items__dropdown--primary .dropdown__list-options .list-options__item-wrapper {
  transition: color 0.3s ease-in-out, background 0.3s ease-in-out;
  background-color: #252525;
}
.list-items__dropdown--primary .dropdown__list-options .list-options__item-wrapper .list-options__item {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  width: 100%;
  padding: 1rem 0.75rem;
}
.list-items__dropdown--primary .dropdown__list-options .list-options__item-wrapper:nth-child(1) {
  border-radius: 0.75rem 0.75rem 0 0;
}
.list-items__dropdown--primary .dropdown__list-options .list-options__item-wrapper:nth-last-child(1) {
  border-radius: 0 0 0.75rem 0.75rem;
}

.list-items__dropdown--footer .dropdown__title {
  color: rgba(255, 255, 255, 0.92);
}
.list-items__dropdown--footer .dropdown__list-options {
  left: 0;
  right: auto;
  min-width: 14rem;
  max-width: 18rem;
  padding-top: 0.75rem;
  background: transparent;
}
.list-items__dropdown--footer .dropdown__list-options .list-options {
  background: rgba(10, 10, 14, 0.92);
  border: 1px solid rgba(255, 255, 255, 0.12);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  overflow: hidden;
}
.list-items__dropdown--footer .dropdown__list-options .list-options__item {
  white-space: normal;
  line-height: 1.3;
  padding: 0.85rem 1rem;
}
.list-items__dropdown--footer.list-items__show .dropdown__title {
  color: rgba(255, 255, 255, 0.92);
}

@media (max-width: 1023px) {
  .list-items__dropdown .dropdown__list-options {
    padding-top: 0;
  }
  .list-items__dropdown .dropdown__list-options:before {
    display: none;
  }
}
@media (max-width: 768px) {
  .list-items__dropdown .dropdown__title {
    font-size: 14px;
  }
  .list-items__dropdown .dropdown__list-options .list-options__item {
    white-space: break-spaces;
    font-size: 14px;
  }
}
@media (max-width: 568px) {
  .list-items__dropdown .dropdown__title {
    font-size: 12px;
  }
  .list-items__dropdown .dropdown__list-options .list-options__item {
    padding: 0.5rem;
    font-size: 12px;
  }
}
.reviews {
  position: relative;
  z-index: 1;
}
.reviews .reviews-slider .swiper-wrapper .review {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  border-radius: 24px;
  overflow: hidden;
  padding: 1.5rem;
  transition: background 0.3s ease-in-out, color 0.3s ease-in-out;
  cursor: pointer;
  background: rgba(37, 37, 37, 0.75);
}
.reviews .reviews-slider .swiper-wrapper .review * {
  color: #fff;
}
.reviews .reviews-slider .swiper-wrapper .review__main-info {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  gap: 1.5rem;
}
.reviews .reviews-slider .swiper-wrapper .review__main-info * {
  transition: color 0.3s ease-in-out;
}
.reviews .reviews-slider .swiper-wrapper .review__main-info .user-image {
  width: 54px;
  height: 54px;
  aspect-ratio: 1/1;
  border-radius: 50%;
}
.reviews .reviews-slider .swiper-wrapper .review__rating {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  gap: 1rem;
  padding-bottom: 2%;
}
.reviews .reviews-slider .swiper-wrapper .review__rating--stars {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  gap: 0.4rem;
}
.reviews .reviews-slider .swiper-wrapper .review__name {
  max-width: 50%;
}
.reviews .reviews-slider .swiper-wrapper .review__course-name {
  color: #82a1ff;
}
.reviews .reviews-slider .swiper-wrapper .review__description {
  padding-block: 1rem;
}
.reviews .reviews-slider .swiper-wrapper .review__action-show {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  gap: 0.3rem;
  margin-top: auto;
  color: #FF7A00;
  cursor: pointer;
}
.reviews .reviews-slider .swiper-wrapper .review__action-show svg {
  pointer-events: none;
}
.reviews .reviews-slider .swiper-wrapper .review__action-show svg path {
  stroke: #FF7A00;
}
@media (hover: hover) and (pointer: fine) {
  .reviews .reviews-slider .swiper-wrapper .review:not(.active):hover {
    background-color: #fff;
  }
  .reviews .reviews-slider .swiper-wrapper .review:not(.active):hover .review__rating, .reviews .reviews-slider .swiper-wrapper .review:not(.active):hover .review__main-info, .reviews .reviews-slider .swiper-wrapper .review:not(.active):hover .review__description {
    color: #030305;
  }
  .reviews .reviews-slider .swiper-wrapper .review:not(.active):hover .review__rating *:not(.review__course-name), .reviews .reviews-slider .swiper-wrapper .review:not(.active):hover .review__main-info *:not(.review__course-name), .reviews .reviews-slider .swiper-wrapper .review:not(.active):hover .review__description *:not(.review__course-name) {
    color: #030305;
  }
}

.review {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  transition: background 0.3s ease-in-out, color 0.3s ease-in-out;
}
.review * {
  color: #030305;
}
.review__rating {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  gap: 1rem;
  padding-bottom: 2%;
}
.review__rating--stars {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  gap: 0.4rem;
}
.review__main-info {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  gap: 1.5rem;
}
.review__main-info * {
  transition: color 0.3s ease-in-out;
}
.review__main-info .user-image {
  width: 54px;
  height: 54px;
  aspect-ratio: 1/1;
  border-radius: 50%;
}
.review__rating {
  padding-bottom: 2%;
}
.review__name {
  margin-bottom: 0;
}
.review__course-name {
  color: #82a1ff;
}
.review__description {
  text-align: left;
  padding-block: 1rem;
}

*::-webkit-scrollbar {
  width: 12px;
}
*::-webkit-scrollbar-track {
  background: rgba(160, 160, 160, 0.42);
}
* {
  /* цвет дорожки */
}
*::-webkit-scrollbar-thumb {
  background: rgba(137, 137, 137, 0.72);
  /* цвет плашки */
  border-radius: 20px;
  width: 5px;
  transition: 0.3s;
}
*::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(45deg, #9f43a5, #6611ff);
}

.btn-app, .btn-dark--glass-outline, .btn-dark--glass, .btn-blue--soft {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 1rem;
  -webkit-transition: all 0.2s;
  -moz-transition: all 0.2s;
  -o-transition: all 0.2s;
  transition: all 0.2s;
  padding: 1.25rem 2.125rem;
  font-family: "Inter Medium";
  font-size: 24px;
  font-weight: 700;
  line-height: 140%;
  color: #fff;
  font-style: normal;
  position: relative;
  border: 0;
  width: fit-content;
  height: fit-content;
  cursor: pointer;
  white-space: nowrap;
  outline: none;
  border: none;
  transition: transform 0.3s ease-in-out, color 0.3s ease-in-out, background-color 0.3s ease-in-out, border-color 0.3s ease-in-out;
}
.btn-app:disabled, .btn-dark--glass-outline:disabled, .btn-dark--glass:disabled, .btn-blue--soft:disabled {
  background-color: #a5a5a5;
  cursor: not-allowed;
  opacity: 0.6;
}
.btn-app:disabled:hover, .btn-dark--glass-outline:disabled:hover, .btn-dark--glass:disabled:hover, .btn-blue--soft:disabled:hover {
  background-color: #a5a5a5;
}
.btn-app__content {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  position: relative;
  pointer-events: none;
}
.btn-app__content * {
  pointer-events: none;
}
@media (max-width: 991px) {
  .btn-app, .btn-dark--glass-outline, .btn-dark--glass, .btn-blue--soft {
    font-size: 18px;
  }
}
@media (max-width: 769px) {
  .btn-app, .btn-dark--glass-outline, .btn-dark--glass, .btn-blue--soft {
    padding: 10px 18px;
    font-size: 16px;
  }
}

.btn-app svg.icon, .btn-dark--glass-outline svg.icon, .btn-dark--glass svg.icon, .btn-blue--soft svg.icon {
  width: 24px;
  height: 24px;
  flex: 0 0 auto;
  fill: none;
}
.btn-app svg.icon path, .btn-dark--glass-outline svg.icon path, .btn-dark--glass svg.icon path, .btn-blue--soft svg.icon path, .btn-app svg.icon rect, .btn-dark--glass-outline svg.icon rect, .btn-dark--glass svg.icon rect, .btn-blue--soft svg.icon rect, .btn-app svg.icon circle, .btn-dark--glass-outline svg.icon circle, .btn-dark--glass svg.icon circle, .btn-blue--soft svg.icon circle, .btn-app svg.icon line, .btn-dark--glass-outline svg.icon line, .btn-dark--glass svg.icon line, .btn-blue--soft svg.icon line, .btn-app svg.icon polyline, .btn-dark--glass-outline svg.icon polyline, .btn-dark--glass svg.icon polyline, .btn-blue--soft svg.icon polyline, .btn-app svg.icon polygon, .btn-dark--glass-outline svg.icon polygon, .btn-dark--glass svg.icon polygon, .btn-blue--soft svg.icon polygon {
  stroke: currentColor;
  fill: none;
}

a.btn-app:hover, a.btn-dark--glass-outline:hover, a.btn-dark--glass:hover, a.btn-blue--soft:hover, a.btn-app:active, a.btn-dark--glass-outline:active, a.btn-dark--glass:active, a.btn-blue--soft:active, a.btn-app:focus, a.btn-dark--glass-outline:focus, a.btn-dark--glass:focus, a.btn-blue--soft:focus, a.btn-app:focus-visible, a.btn-dark--glass-outline:focus-visible, a.btn-dark--glass:focus-visible, a.btn-blue--soft:focus-visible {
  text-decoration: none;
}

.btn-app--icon {
  width: 44px;
  height: 44px;
  padding: 0;
  gap: 0;
  border-radius: 100px;
}

.btn-app--soft {
  backdrop-filter: blur(37px);
  -webkit-backdrop-filter: blur(37px);
}

.btn-app--delete, .btn-app--delete:hover, .btn-app--delete:active, .btn-app--delete:focus, .btn-app--delete:focus-visible {
  color: #FF4C5C;
}
.btn-app--delete.btn-app--soft {
  background: rgba(255, 76, 92, 0.2);
  border: 1px solid rgba(255, 76, 92, 0.35);
}
@media (hover: hover) and (pointer: fine) {
  .btn-app--delete.btn-app--soft:hover {
    background: rgba(255, 45.4, 64.1351955307, 0.2);
    border-color: rgba(255, 45.4, 64.1351955307, 0.6);
    color: #FF4C5C;
  }
}
.btn-app--delete.btn-app--soft:active {
  background: rgba(255, 14.8, 36.2703910615, 0.2);
  border-color: rgba(255, 35.2, 54.8469273743, 0.75);
  transform: translateY(1px);
  color: #FF4C5C;
}
.btn-app--delete.btn-app--soft:focus-visible {
  outline: 2px solid rgba(255, 14.8, 36.2703910615, 0.85);
  outline-offset: 2px;
}
.btn-app--delete.btn-app--filled {
  background: #FF4C5C;
  border: 1px solid #FF4C5C;
}
.btn-app--delete.btn-app--filled, .btn-app--delete.btn-app--filled:hover, .btn-app--delete.btn-app--filled:active, .btn-app--delete.btn-app--filled:focus, .btn-app--delete.btn-app--filled:focus-visible {
  color: #fff;
}
@media (hover: hover) and (pointer: fine) {
  .btn-app--delete.btn-app--filled:hover, .btn-app--delete.btn-app--filled:hover:hover, .btn-app--delete.btn-app--filled:active:hover, .btn-app--delete.btn-app--filled:focus:hover, .btn-app--delete.btn-app--filled:focus-visible:hover {
    background: rgb(255, 35.2, 54.8469273743);
    border-color: rgb(255, 35.2, 54.8469273743);
  }
}

.btn-app--edit, .btn-app--edit:hover, .btn-app--edit:active, .btn-app--edit:focus, .btn-app--edit:focus-visible {
  color: #0075FF;
}
.btn-app--edit.btn-app--soft {
  background: rgba(0, 117, 255, 0.2);
  border: 1px solid rgba(0, 117, 255, 0.35);
}
@media (hover: hover) and (pointer: fine) {
  .btn-app--edit.btn-app--soft:hover {
    background: rgba(0, 102.96, 224.4, 0.2);
    border-color: rgba(0, 102.96, 224.4, 0.6);
    color: #0075FF;
  }
}
.btn-app--edit.btn-app--soft:active {
  background: rgba(0, 88.92, 193.8, 0.2);
  border-color: rgba(0, 98.28, 214.2, 0.75);
  transform: translateY(1px);
  color: #0075FF;
}
.btn-app--edit.btn-app--soft:focus-visible {
  outline: 2px solid rgba(0, 88.92, 193.8, 0.85);
  outline-offset: 2px;
}
.btn-app--edit.btn-app--filled {
  background: #0075FF;
  border: 1px solid #0075FF;
}
.btn-app--edit.btn-app--filled, .btn-app--edit.btn-app--filled:hover, .btn-app--edit.btn-app--filled:active, .btn-app--edit.btn-app--filled:focus, .btn-app--edit.btn-app--filled:focus-visible {
  color: #fff;
}
@media (hover: hover) and (pointer: fine) {
  .btn-app--edit.btn-app--filled:hover, .btn-app--edit.btn-app--filled:hover:hover, .btn-app--edit.btn-app--filled:active:hover, .btn-app--edit.btn-app--filled:focus:hover, .btn-app--edit.btn-app--filled:focus-visible:hover {
    background: rgb(0, 98.28, 214.2);
    border-color: rgb(0, 98.28, 214.2);
  }
}

.btn-app--copy, .btn-app--copy:hover, .btn-app--copy:active, .btn-app--copy:focus, .btn-app--copy:focus-visible {
  color: #82a1ff;
}
.btn-app--copy.btn-app--soft {
  background: rgba(130, 161, 255, 0.2);
  border: 1px solid rgba(130, 161, 255, 0.35);
}
@media (hover: hover) and (pointer: fine) {
  .btn-app--copy.btn-app--soft:hover {
    background: rgba(99.4, 137.9888, 255, 0.2);
    border-color: rgba(99.4, 137.9888, 255, 0.6);
    color: #82a1ff;
  }
}
.btn-app--copy.btn-app--soft:active {
  background: rgba(68.8, 114.9776, 255, 0.2);
  border-color: rgba(89.2, 130.3184, 255, 0.75);
  transform: translateY(1px);
  color: #82a1ff;
}
.btn-app--copy.btn-app--soft:focus-visible {
  outline: 2px solid rgba(68.8, 114.9776, 255, 0.85);
  outline-offset: 2px;
}
.btn-app--copy.btn-app--filled {
  background: #82a1ff;
  border: 1px solid #82a1ff;
}
.btn-app--copy.btn-app--filled, .btn-app--copy.btn-app--filled:hover, .btn-app--copy.btn-app--filled:active, .btn-app--copy.btn-app--filled:focus, .btn-app--copy.btn-app--filled:focus-visible {
  color: #fff;
}
@media (hover: hover) and (pointer: fine) {
  .btn-app--copy.btn-app--filled:hover, .btn-app--copy.btn-app--filled:hover:hover, .btn-app--copy.btn-app--filled:active:hover, .btn-app--copy.btn-app--filled:focus:hover, .btn-app--copy.btn-app--filled:focus-visible:hover {
    background: rgb(89.2, 130.3184, 255);
    border-color: rgb(89.2, 130.3184, 255);
  }
}

.btn-app--mail, .btn-app--mail:hover, .btn-app--mail:active, .btn-app--mail:focus, .btn-app--mail:focus-visible {
  color: #2EB67D;
}
.btn-app--mail.btn-app--soft {
  background: rgba(46, 182, 125, 0.2);
  border: 1px solid rgba(46, 182, 125, 0.35);
}
@media (hover: hover) and (pointer: fine) {
  .btn-app--mail.btn-app--soft:hover {
    background: rgba(39.8263157895, 157.5736842105, 108.2236842105, 0.2);
    border-color: rgba(39.8263157895, 157.5736842105, 108.2236842105, 0.6);
    color: #2EB67D;
  }
}
.btn-app--mail.btn-app--soft:active {
  background: rgba(33.6526315789, 133.1473684211, 91.4473684211, 0.2);
  border-color: rgba(37.7684210526, 149.4315789474, 102.6315789474, 0.75);
  transform: translateY(1px);
  color: #2EB67D;
}
.btn-app--mail.btn-app--soft:focus-visible {
  outline: 2px solid rgba(33.6526315789, 133.1473684211, 91.4473684211, 0.85);
  outline-offset: 2px;
}
.btn-app--mail.btn-app--filled {
  background: #2EB67D;
  border: 1px solid #2EB67D;
}
.btn-app--mail.btn-app--filled, .btn-app--mail.btn-app--filled:hover, .btn-app--mail.btn-app--filled:active, .btn-app--mail.btn-app--filled:focus, .btn-app--mail.btn-app--filled:focus-visible {
  color: #fff;
}
@media (hover: hover) and (pointer: fine) {
  .btn-app--mail.btn-app--filled:hover, .btn-app--mail.btn-app--filled:hover:hover, .btn-app--mail.btn-app--filled:active:hover, .btn-app--mail.btn-app--filled:focus:hover, .btn-app--mail.btn-app--filled:focus-visible:hover {
    background: rgb(37.7684210526, 149.4315789474, 102.6315789474);
    border-color: rgb(37.7684210526, 149.4315789474, 102.6315789474);
  }
}

.btn-app.disabled, .disabled.btn-dark--glass-outline, .disabled.btn-dark--glass, .disabled.btn-blue--soft {
  background-color: #a5a5a5;
  cursor: not-allowed;
  opacity: 0.6;
}
.btn-app.disabled:hover, .disabled.btn-dark--glass-outline:hover, .disabled.btn-dark--glass:hover, .disabled.btn-blue--soft:hover {
  background-color: #a5a5a5;
}

.btn-middle {
  padding: 0.8rem 1rem;
  font-weight: 700;
  font-size: clamp(1rem, 1.25vw, 1.125rem);
  line-height: 140%;
}
@media (max-width: 820px) {
  .btn-middle {
    padding: 0.625rem 1.125rem;
  }
}

.btn-small {
  padding: 0.4rem 1rem;
  font-weight: 400;
  font-size: 18px;
  line-height: 140%;
}
@media (max-width: 1199px) {
  .btn-small {
    font-size: 14px;
    line-height: 120%;
  }
}

.btn-app-rounded-4 {
  border-radius: 4px;
}

.btn-app-rounded-6 {
  border-radius: 6px;
}

.btn-app-rounded-12 {
  border-radius: 12px;
}

.btn-app-rounded {
  border-radius: 100px;
}

.btn-success {
  background: rgb(52, 199, 89);
  color: #fff;
}
@media (hover: hover) and (pointer: fine) {
  .btn-success:hover {
    background: rgb(43.5474103586, 166.6525896414, 74.5330677291);
  }
}

.btn--green {
  background: #2EB67D;
  color: #fff;
}
@media (hover: hover) and (pointer: fine) {
  .btn--green:hover {
    background: rgb(39.8263157895, 157.5736842105, 108.2236842105);
  }
}

.btn-primary {
  background: #2630f5;
  color: #fff;
}
@media (hover: hover) and (pointer: fine) {
  .btn-primary:hover {
    background: rgb(10.6696035242, 21.3392070485, 231.5303964758);
  }
}

.btn-primary-disabled {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  background: #A1A1A8;
  color: #dedede;
}

.btn-primary-outline {
  color: #fff;
  border: 1px solid #2630f5;
  -webkit-backdrop-filter: blur(37px);
  backdrop-filter: blur(37px);
  background: rgba(255, 255, 255, 0);
}
@media (hover: hover) and (pointer: fine) {
  .btn-primary-outline:hover {
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(40px);
    background: rgba(6.8502202643, 13.7004405286, 148.6497797357, 0.12);
  }
}

.btn-primary-outline--dark {
  color: #1E1D30;
  border: 1px solid #2630f5;
  -webkit-backdrop-filter: blur(37px);
  backdrop-filter: blur(37px);
  background: rgba(255, 255, 255, 0);
}
@media (hover: hover) and (pointer: fine) {
  .btn-primary-outline--dark:hover {
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(40px);
    background: rgba(6.8502202643, 13.7004405286, 148.6497797357, 0.1);
  }
}

.btn-primary-outline-disabled {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  color: #5d5d5d;
  border: 1px solid #5d5d5d;
}

.btn-light-outline {
  color: #fff;
  border: 1px solid #fff;
  -webkit-backdrop-filter: blur(37px);
  backdrop-filter: blur(37px);
  background-color: rgba(37, 37, 37, 0.7490196078);
}

.btn-download {
  background: linear-gradient(45deg, #2630f5, #6f79ff, #8ba0ff);
  overflow: hidden;
  transition: transform 0.2s ease;
  border-radius: 0.5rem;
}
@media (hover: hover) and (pointer: fine) {
  .btn-download:hover {
    transform: scale(1.05);
    color: rgba(255, 255, 255, 0.69);
  }
}
.btn-download:before {
  content: "";
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: linear-gradient(75deg, rgba(255, 255, 255, 0.1) 25%, rgba(255, 255, 255, 0.3) 50%, rgba(255, 255, 255, 0.1) 75%);
  transform: rotate(25deg);
  animation: shine 3s infinite;
}
@keyframes shine {
  0% {
    transform: translateX(-100%) rotate(25deg);
  }
  50% {
    transform: translateX(100%) rotate(25deg);
  }
  100% {
    transform: translateX(100%) rotate(25deg);
  }
}

.btn-red {
  background: #e30000;
  color: #fff;
}
@media (hover: hover) and (pointer: fine) {
  .btn-red:hover {
    color: #fff;
    background: rgb(186.2, 0, 0);
  }
}

.btn-orange {
  background: #FF7A00;
  color: #fff;
}
@media (hover: hover) and (pointer: fine) {
  .btn-orange:hover {
    color: #fff;
    background: rgb(224.4, 107.36, 0);
  }
}

.btn-orange--outline {
  background: transparent;
  color: #FF7A00;
  border: 1px solid #FF7A00;
  backdrop-filter: blur(37px);
  -webkit-backdrop-filter: blur(37px);
}
@media (hover: hover) and (pointer: fine) {
  .btn-orange--outline:hover {
    color: #fff;
    background: rgb(214.2, 102.48, 0);
  }
}

.btn-gray {
  background: #A1A1A8;
  color: #fff;
  border: 1px solid #A1A1A8;
  backdrop-filter: blur(37px);
  -webkit-backdrop-filter: blur(37px);
}
@media (hover: hover) and (pointer: fine) {
  .btn-gray:hover {
    color: #fff;
    background: rgb(134.5138121547, 134.5138121547, 143.4861878453);
  }
}

.btn-blue--soft {
  background: rgba(0, 111, 233, 0.2);
  color: #3693F9;
  border: 1px solid rgba(54, 147, 249, 0.35);
  backdrop-filter: blur(37px);
  -webkit-backdrop-filter: blur(37px);
}
@media (hover: hover) and (pointer: fine) {
  .btn-blue--soft:hover {
    background: rgba(0, 96.4223175966, 202.4, 0.2);
    border-color: rgba(24.2869565217, 131.0347826087, 248.1130434783, 0.6);
    color: #3693F9;
  }
}
.btn-blue--soft:active {
  background: rgba(0, 81.8446351931, 171.8, 0.2);
  border-color: rgba(14.3826086957, 125.7130434783, 247.8173913043, 0.75);
  transform: translateY(1px);
}
.btn-blue--soft:focus-visible {
  outline: 2px solid rgba(7.0086956522, 115.6434782609, 234.7913043478, 0.85);
  outline-offset: 2px;
}
.btn-blue--soft:disabled {
  background: rgba(0, 111, 233, 0.12);
  color: rgba(54, 147, 249, 0.45);
  border-color: rgba(54, 147, 249, 0.25);
}

.btn-gradient__primary {
  position: relative;
  background: linear-gradient(87deg, #2630F5 -22.07%, #92557B 41%, #FF7A00 104.47%);
  color: #fff;
  transition: background 0.5s ease, transform 0.3s ease;
  overflow: hidden;
}
.btn-gradient__primary:hover {
  transform: scale(1.02);
}

.back-button {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  order: 0;
  height: fit-content;
}
.back-button__text {
  text-align: center;
  font-size: 1em;
  font-style: normal;
  font-weight: 700;
  line-height: 140%;
  color: #fff;
}

.btn__add .icon {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  width: 1.05rem;
  height: 1.05rem;
  position: relative;
}
.btn__add .icon:before, .btn__add .icon:after {
  content: "";
  position: absolute;
  background-color: #fff;
}
.btn__add .icon:before, .btn__add .icon:after {
  top: 50%;
  left: 0;
  width: 100%;
  height: 0.2rem;
}
.btn__add .icon:after {
  transform: rotate(90deg);
}

.btn-dark--glass {
  background: rgba(37, 37, 37, 0.5);
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.12);
  backdrop-filter: blur(18.5px);
  -webkit-backdrop-filter: blur(18.5px);
}
@media (hover: hover) and (pointer: fine) {
  .btn-dark--glass:hover {
    background: rgba(16.6, 16.6, 16.6, 0.6);
    border-color: rgba(255, 255, 255, 0.2);
  }
}
.btn-dark--glass:active {
  background: rgba(6.4, 6.4, 6.4, 0.7);
  border-color: rgba(255, 255, 255, 0.28);
  transform: translateY(1px);
}
.btn-dark--glass:focus-visible {
  outline: 2px solid rgba(255, 255, 255, 0.35);
  outline-offset: 2px;
}
.btn-dark--glass:disabled {
  background: rgba(37, 37, 37, 0.35);
  color: rgba(255, 255, 255, 0.55);
  border-color: rgba(255, 255, 255, 0.12);
}

.btn-dark--glass-outline {
  background: transparent;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.12);
  backdrop-filter: blur(18.5px);
  -webkit-backdrop-filter: blur(18.5px);
}
@media (hover: hover) and (pointer: fine) {
  .btn-dark--glass-outline:hover {
    background: rgba(21.7, 21.7, 21.7, 0.3);
    border-color: rgba(255, 255, 255, 0.2);
  }
}

@media (max-width: 768px) {
  .btn__add {
    border-radius: 50%;
    padding: 0.75rem;
  }
  .btn__add .text {
    display: none;
  }
  .btn__add .icon {
    width: 1.25rem;
    height: 1.25rem;
  }
}
.btn-spinner {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-right: 6px;
}
.btn-spinner.hidden {
  display: none;
}
.btn-spinner__icon {
  width: 1rem;
  height: 1rem;
  border-radius: 50%;
  border: 2px solid rgba(255, 255, 255, 0.3);
  border-top-color: rgba(255, 255, 255, 0.9);
  animation: btn-spinner-rotate 0.6s linear infinite;
}
@keyframes btn-spinner-rotate {
  to {
    transform: rotate(360deg);
  }
}

.checkbox--orange {
  display: inline-flex;
  align-items: center;
  cursor: pointer;
}
.checkbox--orange input[type=checkbox] {
  appearance: none;
  -webkit-appearance: none;
  margin: 0;
  width: 1.5rem;
  height: 1.5rem;
  border: 1px solid #fff;
  border-radius: 0.5rem;
  background-color: transparent;
  position: relative;
  transition: border-color 0.2s ease, background-color 0.3s ease-in-out;
  cursor: pointer;
}
.checkbox--orange input[type=checkbox]::after {
  content: "";
  position: absolute;
  top: 0.3125rem;
  left: 0.5rem;
  width: 6px;
  height: 12px;
  border: solid transparent;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg) scale(0);
  transition: transform 0.2s ease;
}
.checkbox--orange input[type=checkbox]:checked {
  border-color: #FF7A00;
  background-color: #fff;
}
.checkbox--orange input[type=checkbox]:checked::after {
  border-color: #FF7A00;
  transform: rotate(45deg) scale(1);
}
.checkbox--orange input[type=checkbox]:hover, .checkbox--orange input[type=checkbox]:focus {
  border-color: rgb(255, 175.2, 102);
}
.checkbox--orange__text {
  margin-left: 8px;
  user-select: none;
}

.dropdowns__wrapper {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.625rem;
}

.dropdown {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  transition: gap 0.3s ease-in-out;
}
.dropdown--icon {
  flex: 0 0 4%;
  display: block;
  align-self: stretch;
  aspect-ratio: 1;
  width: auto;
  min-width: auto;
  height: 100%;
  max-width: 28px;
  max-height: 28px;
  cursor: pointer;
  position: relative;
}
.dropdown--icon::before, .dropdown--icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 70%;
  height: 2px;
  background-color: #2630f5;
  transform-origin: center;
  transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
}
.dropdown__header {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  gap: 0.625rem;
  cursor: pointer;
}
.dropdown__header--arrow {
  transition: transform 0.3s ease-in-out;
}
.dropdown__body {
  max-height: 0;
  overflow: hidden;
  border: 0;
  opacity: 0;
  transition: max-height 0.5s ease-in-out, border 0.5s ease-in-out, opacity 0.3s ease-in-out;
}
.dropdown__body td, .dropdown__body th {
  border: 0;
}

.dropdown-active {
  gap: 0.5rem;
}
.dropdown-active .dropdown__header .dropdown__header--arrow {
  transform: rotate(180deg);
}
.dropdown-active .dropdown--icon::after {
  transform: translate(-50%, -50%) rotate(0);
  opacity: 1;
}
.dropdown-active .dropdown__body {
  max-height: 10000px;
  border: initial;
  transition: max-height 0.9s ease-in-out, border 0.9s ease-in-out;
  opacity: 1;
}

.expandable-list.profile__block {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0;
  overflow: hidden;
  cursor: pointer;
}

.expandable-list h2, .expandable-list h3, .expandable-list p, .expandable-list a, .expandable-list span {
  color: #fff;
}
.expandable-list__header, .expandable-list__row {
  position: relative;
}
.expandable-list__header {
  display: grid;
  grid-template-columns: repeat(10, 1fr);
  align-items: center;
  gap: 0.75rem;
}
.expandable-list__header-link {
  position: absolute;
  inset: 0;
  display: block;
  z-index: 1;
  background: transparent;
  border: 0;
  padding: 0;
  cursor: pointer;
}
.expandable-list__header-title {
  grid-column: 1/3;
}
.expandable-list__header-toggle {
  grid-column: 10/11;
  justify-self: end;
  width: auto;
  margin-left: 0;
  transform: rotate(0);
  transition: transform 0.3s ease-in-out;
  position: relative;
  z-index: 2;
}
.expandable-list__columns {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-column: 4/9;
  align-items: center;
  gap: 1.875rem;
}
.expandable-list .toggle-access--module {
  grid-column: 9/10;
  justify-self: end;
  position: relative;
  z-index: 2;
}
.dropdown-active .expandable-list__header-toggle {
  transform: rotate(180deg);
}
.expandable-list__row {
  display: grid;
  grid-template-columns: repeat(10, 1fr);
  align-items: center;
  gap: 0.75rem;
  padding-block: 0.75rem;
  transition: background-color 0.3s ease-in-out;
  border-radius: 0.75rem;
  overflow: hidden;
  position: relative;
}
@media (hover: hover) and (pointer: fine) {
  .expandable-list__row:hover {
    background-color: rgba(38, 48, 245, 0.3);
  }
}
.expandable-list__row-link {
  position: absolute;
  inset: 0;
  display: block;
  z-index: 1;
  text-indent: -9999px;
  overflow: hidden;
}
.expandable-list__row-toggle {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  z-index: 5;
  text-indent: -9999px;
  overflow: hidden;
  cursor: pointer;
}
.expandable-list__row .expandable-list__cell--actions,
.expandable-list__row .toggle-access {
  position: relative;
  z-index: 3;
  pointer-events: auto;
}
.expandable-list__row .expandable-list__cell--name {
  grid-column: 1/3;
  padding-left: 1.875rem;
}
.expandable-list__row .expandable-list__cells {
  display: grid;
  grid-template-columns: repeat(3, 1fr) auto;
  grid-column: 4/10;
  align-items: center;
  gap: 1.875rem;
}
.expandable-list__row .expandable-list__cell .badge, .expandable-list__row .expandable-list__cell .badge--mod {
  font-size: 1rem;
  font-style: normal;
  font-weight: 600;
  line-height: 120%;
}
.expandable-list__row .expandable-list__cell .badge--mod {
  font-size: 0.875rem;
  border-radius: 1.125rem;
  padding: 0.25rem 0.5rem;
  background-color: #FF7A00;
}
.expandable-list__cell--actions,
.expandable-list .toggle-access {
  position: relative;
  z-index: 2;
}
.expandable-list .visually-hidden {
  position: absolute !important;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  clip: rect(0 0 0 0);
  overflow: hidden;
  white-space: nowrap;
}
@media (max-width: 768px) {
  .expandable-list .expandable-list__header {
    grid-template-columns: 1fr auto auto;
    row-gap: 0.5rem;
  }
  .expandable-list .expandable-list__header-title {
    grid-column: 1/2;
  }
  .expandable-list .expandable-list__columns {
    grid-column: 1/-1;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
  }
  .expandable-list .toggle-access--module {
    grid-column: 2/3;
  }
  .expandable-list .expandable-list__header-toggle {
    grid-column: 3/4;
  }
}

/* ===========================
 * HEADER
 * =========================== */
.header {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  position: sticky;
  top: 0;
  z-index: 1002;
}
.header .top-bar {
  background: #030305;
  padding-block: 0.375rem;
}
.header .top-bar .container {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: space-between;
}
.header .top-bar .container .location {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 0.5rem;
  cursor: pointer;
}
.header .top-bar .container .phones {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 1rem;
}
.header .top-bar .container .phones a {
  font-weight: 700;
}
.header .main-nav {
  background: rgba(0, 0, 0, 0.6);
  backdrop-filter: blur(25px);
  padding-block: 1.5rem;
  position: relative;
  z-index: 1;
}
.header .main-nav .container {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
}
.header .main-nav .container .header__phone--mob {
  display: none;
}
.header .main-nav .container nav {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  gap: 1rem;
  padding-left: 2rem;
}
.header .main-nav .container nav a, .header .main-nav .container nav span {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  white-space: nowrap;
}
.header .main-nav .container nav .school-type-link {
  padding: 0.25rem 0.8rem;
  background: rgba(255, 255, 255, 0.2);
  border-radius: 100px;
}
.header .main-nav .container nav .target-school {
  color: #2630f5;
  background: #fff;
}
.header .main-nav .container nav .anchor-link {
  cursor: pointer;
}
@media (hover: hover) and (pointer: fine) {
  .header .main-nav .container nav .anchor-link:hover {
    color: #82a1ff;
  }
}
.header .main-nav .container nav .list-items__dropdown * {
  color: #fff;
  font-family: "Inter Regular";
}
.header .main-nav .container .actions {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-left: auto;
  height: 40px;
}
.header .main-nav .container .actions > * {
  display: flex;
  align-items: center;
  height: 40px;
}
.header .main-nav .container .actions .action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  height: 40px;
  min-width: 40px;
  padding: 0;
  cursor: pointer;
}
.header .main-nav .container .actions .action .icon {
  width: 1.75rem;
  height: 1.75rem;
  display: block;
  object-fit: contain;
}
.header .main-nav .container .actions .action .text-extra-small {
  font-family: "Inter Medium";
  font-weight: 700;
  line-height: 200%;
  text-align: center;
}
@media (hover: hover) and (pointer: fine) {
  .header .main-nav .container .actions .action:hover .icon path {
    stroke: #82a1ff;
  }
  .header .main-nav .container .actions .action:hover .text-extra-small {
    color: #82a1ff;
  }
}
.header .main-nav .container .actions .cart .cart-badge {
  position: absolute;
  top: -6px;
  right: -8px;
  min-width: 18px;
  height: 18px;
  padding: 0 4px;
  border-radius: 9px;
  background: #E38A22;
  color: #fff;
  font-size: 12px;
  line-height: 18px;
  text-align: center;
  font-weight: 700;
}
.header .main-nav .container .actions [data-controller=notifications], .header .main-nav .container .actions .notifications {
  display: inline-flex;
  align-items: center;
  height: 40px;
}
.header .main-nav .container .actions .btn-app, .header .main-nav .container .actions .btn-blue--soft, .header .main-nav .container .actions .btn-dark--glass, .header .main-nav .container .actions .btn-dark--glass-outline {
  line-height: 1;
  padding: 10px 14px;
  height: 36px;
  border-radius: 9999px;
}
.header .main-nav .container .actions .messengers {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  height: 40px;
}
.header .main-nav .container .actions .messengers .action {
  min-width: 28px;
}
.header .main-nav .container .actions .messengers .action .icon {
  width: 1.75rem;
  height: 1.75rem;
}
@media (hover: hover) and (pointer: fine) {
  .header .main-nav .container .actions .messengers .action:hover .icon path {
    stroke: none;
    fill: #82a1ff;
  }
}
.header__burger-menu {
  display: none;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  justify-content: space-between;
  width: 36px;
  height: 20px;
}
.header__burger-menu--line {
  display: block;
  width: 100%;
  height: 2px;
  background-color: #fff;
  border-radius: 2px;
  pointer-events: none;
  transform-origin: 0 50%;
  transition: 0.3s opacity ease-in-out, 0.3s transform ease-in-out;
}
.header .mobile-menu {
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  flex: 1 1 auto;
  width: 100svw;
  height: calc(100svh - 5.4rem);
  max-height: 0;
  position: absolute;
  top: 4rem;
  left: 0;
  padding-right: 0.45rem;
  background-color: #1E1D30;
  transition: transform 0.3s ease-in-out;
  transform: translate3d(0, -100%, 0);
  z-index: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: rgba(160, 160, 160, 0.42) transparent;
  -webkit-overflow-scrolling: touch;
}
.header .mobile-menu__action--icon-wrapper {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  position: relative;
}
.header .mobile-menu__list-items {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
}
.header .mobile-menu__list-item {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  gap: 0.5rem;
  padding: 5% 8%;
}
.header .mobile-menu__list-item svg path {
  stroke: #fff;
}
.header .mobile-menu__location {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  gap: 0.4rem;
  padding: 3% 8%;
  border-top: 1px solid #fff;
}
.header .mobile-menu__location .text-small {
  border-bottom: 1px solid #fff;
}
.header .mobile-menu__profile-actions {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: space-between;
  border-top: 1px solid #fff;
  border-bottom: 1px solid #fff;
}
.header .mobile-menu__profile-actions .mobile-menu__profile-action {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 1rem;
  flex: 0 1 100%;
}
.header .mobile-menu__profile-actions .mobile-menu__profile-action svg {
  height: 100%;
}
.header .mobile-menu__profile-actions .mobile-menu__profile-action span {
  margin-block: 7%;
}
.header .mobile-menu__profile-actions .mobile-menu__profile-action:nth-child(1) {
  border-right: 1px solid #fff;
}
.header .mobile-menu__messangers {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  gap: 1rem;
  padding: 3% 8%;
  border-bottom: 1px solid #fff;
}
.header .mobile-menu__messangers .messanger {
  width: auto;
  height: 100%;
  aspect-ratio: 1/1;
}
.header .mobile-menu__messangers .messanger svg {
  width: 100%;
  height: 100%;
}
.header .mobile-menu__messangers .btn-app, .header .mobile-menu__messangers .btn-blue--soft, .header .mobile-menu__messangers .btn-dark--glass, .header .mobile-menu__messangers .btn-dark--glass-outline {
  width: 100%;
  margin-left: auto;
}
.header .mobile-menu__contacts {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.5rem;
  padding: 3% 8%;
}
.header .mobile-menu__contacts .phones .phone {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  gap: 1rem;
}
.header .mobile-menu__contacts .phones .phone:nth-child(2) {
  padding-left: 2rem;
}
.header .mobile-menu__contacts .mail, .header .mobile-menu__contacts .address {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  gap: 1rem;
}
.header .mobile-menu .mobile-menu__bottom {
  width: 100%;
  margin-top: auto;
  padding: 3% 8%;
}
.header .mobile-menu .mobile-menu__bottom .mobile-menu__logout {
  width: 100%;
}
.header header.header-mobile-menu__active .main-nav .container .header__phone--mob {
  display: none;
}
.header header.header-mobile-menu__active .header__burger-menu--line:nth-child(1) {
  transform-origin: 0 50%;
  transform: rotate(30deg);
}
.header header.header-mobile-menu__active .header__burger-menu--line:nth-child(3) {
  transform-origin: 0 50%;
  transform: rotate(-30deg);
}
.header header.header-mobile-menu__active .header__burger-menu--line:nth-child(2) {
  opacity: 0;
}
.header header.header-mobile-menu__active .mobile-menu {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  max-height: 100000px;
  transform: translate3d(0, 1.5rem, 0);
}
@media (min-width: 1024px) {
  .header .header-mobile-menu__active .mobile-menu {
    display: none;
  }
}

/* ===========================
 * PROFILE LINK (HEADER)
 * =========================== */
.header__profile {
  display: none;
}

/* Унифицированный вид ссылки профиля (аватар/инициал + имя) */
.header__profile-info--login,
.header .main-nav .container .actions .profile {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  line-height: 1;
  white-space: nowrap;
  min-width: 0;
}
.header__profile-info--login .user-avatar,
.header__profile-info--login .user-initial-avatar,
.header .main-nav .container .actions .profile .user-avatar,
.header .main-nav .container .actions .profile .user-initial-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  flex: 0 0 32px;
  border-radius: 50%;
  overflow: hidden;
  vertical-align: middle;
}
.header__profile-info--login .user-avatar img,
.header .main-nav .container .actions .profile .user-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.header__profile-info--login .user-initial-avatar,
.header .main-nav .container .actions .profile .user-initial-avatar {
  background: #6E7FF3;
  color: #FFF;
  font-weight: 700;
  font-size: 14px;
  line-height: 1;
  text-align: center;
  letter-spacing: 0.02em;
}
.header__profile-info--login .user-name,
.header .main-nav .container .actions .profile .user-name {
  display: inline-block;
  max-width: 120px;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
  font-size: 12px;
  font-weight: 600;
}

/* Кнопки авторизации в хедере (десктоп) */
.header__auth-buttons {
  display: flex;
  align-items: center;
  gap: 10px;
}

/* ===========================
 * BREAKPOINTS
 * =========================== */
@media (max-width: 1199px) {
  .header .main-nav .container .logo_wrapper {
    max-width: 100px;
  }
  .header .main-nav .container nav {
    gap: 0.6rem;
    padding-left: 1rem;
  }
  .header .main-nav .container nav a, .header .main-nav .container nav span {
    font-size: 14px;
  }
  .header .main-nav .container .actions {
    gap: 0.6rem;
  }
  .header .main-nav .container .messengers .action {
    max-width: 18px;
    aspect-ratio: 1/1;
  }
}
@media (max-width: 1023px) {
  .header .top-bar {
    display: none;
  }
  .header .main-nav .container {
    gap: 2rem;
  }
  .header .main-nav .container nav {
    display: none;
  }
  .header .main-nav .container .actions {
    gap: 2rem;
    margin-left: initial;
  }
  .header .main-nav .container .actions .action:not(.cart):not(.profile) {
    display: none;
  }
  .header .main-nav .container .actions .action {
    min-width: 36px;
    height: 36px;
  }
  .header .main-nav .container .actions .action .icon {
    width: 22px;
    height: 22px;
  }
  .header .main-nav .container .actions {
    /* Показываем только иконку профиля, имя скрываем */
  }
  .header .main-nav .container .actions .profile .user-name,
  .header .main-nav .container .actions .profile .text-extra-small {
    display: none !important;
  }
  .header .main-nav .container .actions .btn-app, .header .main-nav .container .actions .btn-blue--soft, .header .main-nav .container .actions .btn-dark--glass, .header .main-nav .container .actions .btn-dark--glass-outline {
    height: 34px;
    padding: 8px 12px;
  }
  .header .main-nav .container .actions .messengers {
    display: none;
  }
  .header .main-nav .container .header__burger-menu {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
  }
  .header .main-nav .container .header__phone--mob {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
  }
  .header .main-nav .container .logo_wrapper {
    margin-inline: auto;
  }
  .header__profile {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
  }
  .header__profile-info--login {
    display: inline-flex !important;
  }
  .header__profile-info--login .user-name {
    display: none !important;
  }
  /* Габариты аватара на мобилке */
  .header__profile-info--login .user-avatar,
  .header__profile-info--login .user-initial-avatar,
  .header .main-nav .container .actions .profile .user-avatar,
  .header .main-nav .container .actions .profile .user-initial-avatar {
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
  }
}
@media (max-width: 620px) {
  .header .main-nav .container {
    gap: 1rem;
  }
  .header .main-nav .container .actions {
    gap: 1rem;
  }
}
/* ===========================
 * PAGE HEADER
 * =========================== */
.page-header {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  align-items: center;
  gap: 1.5rem !important;
  position: relative;
  z-index: 200;
}
.page-header__left {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
}
.page-header__single-row {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  row-gap: 2rem;
  column-gap: clamp(1rem, 4vw, 2rem);
  justify-content: space-between;
  width: 100%;
}
.page-header__bar {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  gap: clamp(0.5rem, 4vw, 1.5rem);
}
.page-header__top, .page-header__bottom {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: space-between;
  width: 100%;
}
.page-header__titles {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.5rem;
  align-items: flex-start;
}
.page-header__title {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  justify-content: space-between;
  gap: 0.5rem;
}
.page-header__subtitles {
  color: #B0B7C9;
  font-family: "Inter Medium";
  font-size: 17px;
  font-style: normal;
  font-weight: 500;
  line-height: 120%;
}
.page-header__actions, .page-header__aside {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-left: auto;
}
.page-header__actions .logo, .page-header__aside .logo {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  aspect-ratio: 5/1;
}
.page-header__avatar-block {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  gap: 0.625rem;
}
.page-header__main--media {
  flex: 0 0 32%;
  aspect-ratio: 2/1;
  position: relative;
  overflow: hidden;
  margin-block: -1rem -2rem;
  margin-left: 0;
}
.page-header__main--media .avatar-overlay {
  position: absolute;
  z-index: 0;
  width: 100%;
  height: auto;
  left: 2.5%;
}
.page-header__main--media img {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: bottom;
  position: relative;
  z-index: 1;
  user-select: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -webkit-user-drag: none;
  user-drag: none;
}
.page-header__info {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.5rem;
}
.page-header__info a {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  gap: 0.25rem;
  border-bottom: 1px solid #fff;
  padding-bottom: 0.125rem;
}
.page-header__info a .students_count {
  white-space: nowrap;
}
@media (max-width: 580px) {
  .page-header .logo_wrapper {
    order: 1;
  }
  .page-header .entity--name {
    order: 2;
  }
}

footer {
  display: grid;
  grid-template: repeat(2, auto)/1fr 1fr 1.4fr 1fr;
  width: 100vw;
  overflow: hidden;
}

.footer-column {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  align-items: flex-start;
  gap: 1rem;
}
.footer-column-brand .btn-user-request {
  max-width: 50%;
}
.footer-column__title {
  font-family: "Inter Medium";
  letter-spacing: initial;
}
.footer-column-list-items {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 1rem;
}
.footer-column-list-items .messengers {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  gap: 1rem;
}
.footer-column:nth-child(1) {
  grid-area: 1/1/2/2;
}
.footer-column:nth-child(2) {
  grid-area: 1/2/2/3;
}
.footer-column:nth-child(3) {
  grid-area: 1/3/2/4;
}
.footer-column:nth-child(4) {
  grid-area: 1/4/2/5;
}
.footer-column:nth-child(5) {
  grid-area: 2/1/3/3;
}
.footer-column:nth-child(6) {
  grid-area: 2/3/3/4;
}
.footer-column:nth-child(7) {
  grid-area: 2/4/3/5;
}
.footer-column:nth-child(5), .footer-column:nth-child(6), .footer-column:nth-child(7) {
  margin-top: 5rem;
}
.footer-column-contacts .footer-column-list-items {
  gap: 1.5rem;
}
.footer-column-contacts .footer-column-list-items .phones {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.5rem;
}
.footer-column-contacts .footer-column-list-items .phones .phone img {
  width: 18px;
}
.footer-column-contacts .footer-column-list-items .phones .phone:nth-child(2) {
  padding-left: 1.6rem;
}
.footer-column-contacts .footer-column-list-item {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
}
.footer-column-contacts .footer-column-list-item img {
  width: 20px;
  height: 20px;
}
.footer-column-contacts .text-medium {
  line-height: 100%;
}
.footer-column-politics a {
  text-decoration: underline;
}
.footer-column-license {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: flex-end;
  padding-top: 24%;
  text-decoration: underline;
}
.footer-column-license .footer-column-list-item {
  align-items: flex-end;
  gap: 1rem;
}
.footer-column-license__img {
  width: 30%;
  aspect-ratio: 1/1.3;
}

@media (max-width: 1023px) {
  footer {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    justify-content: space-between;
  }
  .footer-column {
    flex: 1 1 100%;
    padding-block: 2rem;
  }
  .footer-column:nth-child(1) {
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    justify-content: space-between;
    border-bottom: 1px solid #fff;
  }
  .footer-column:nth-child(1) .btn-user-request {
    height: 100%;
    background-color: transparent;
    border: 1px solid #2630f5;
  }
  .footer-column:nth-child(2), .footer-column:nth-child(3) {
    flex: 0 1 49%;
  }
  .footer-column:nth-child(4) {
    border-top: 1px solid #fff;
    border-bottom: 1px solid #fff;
  }
  .footer-column:nth-child(5), .footer-column:nth-child(6), .footer-column:nth-child(7) {
    margin-top: 0;
  }
  .footer-column:nth-child(5) .footer-column-list-items, .footer-column:nth-child(6) .footer-column-list-items, .footer-column:nth-child(7) .footer-column-list-items {
    gap: 0.5rem;
  }
  .footer-column:nth-child(5) {
    order: 1;
    padding-bottom: 0;
  }
  .footer-column:nth-child(6) {
    order: 2;
    padding-top: 1rem;
  }
  .footer-column:nth-child(7) {
    order: 3;
    padding-top: 1rem;
  }
  .footer-column-contacts .footer-column__title {
    display: none;
  }
  .footer-column-contacts .footer-column-list-items {
    width: 100%;
  }
  .footer-column-contacts .messengers {
    padding-top: 2rem;
    border-top: 1px solid #fff;
  }
}
@media (max-width: 767px) {
  .footer-column-brand .btn-user-request {
    max-width: 100%;
  }
}
.modal {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  position: fixed;
  inset: 0;
  width: 100vw;
  height: 100vh;
  max-height: 100vh;
  background: rgba(37, 37, 37, 0.75);
  backdrop-filter: blur(18.5px);
  -webkit-backdrop-filter: blur(18.5px);
  z-index: 9999999;
  cursor: pointer;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s ease;
  overscroll-behavior: contain;
  touch-action: manipulation;
  padding-bottom: env(safe-area-inset-bottom);
}
.modal.is-open {
  opacity: 1;
  pointer-events: auto;
  animation: fadeInOverlay 0.3s ease-out forwards;
}
.modal.modal--leaving {
  opacity: 0;
  pointer-events: none;
  animation: fadeOutOverlay 0.2s ease-in forwards;
}
.modal.modal--leaving .modal__content {
  animation: popOutModal 0.2s ease-in forwards;
}
.modal__content {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  width: 40%;
  min-height: 0;
  max-height: calc(100vh - 2rem - env(safe-area-inset-top) - env(safe-area-inset-bottom));
  margin: 0 auto;
  position: absolute;
  left: 50%;
  top: 50%;
  border-radius: 1.75rem;
  padding: 2rem;
  cursor: auto;
  transform: translate(-50%, -45%) scale(0.95);
  opacity: 0;
  animation: popInModal 0.3s cubic-bezier(0.4, 0, 0.2, 1) 0.1s forwards;
  background: rgba(37, 37, 37, 0.75);
  backdrop-filter: blur(18.5px);
  -webkit-backdrop-filter: blur(18.5px);
  overflow: hidden;
}
.modal__content::-webkit-scrollbar {
  width: 8px;
}
.modal__content::-webkit-scrollbar-track {
  background: transparent;
}
.modal__content::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.2);
  border-radius: 999px;
}
.modal__content::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 255, 255, 0.35);
}
.modal__header {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 1rem;
  flex: 0 0 auto;
}
.modal__header .modal__title-wrap {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.5rem;
  align-items: flex-start;
  color: #B0B7C9;
}
.modal__header-row {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(0.5rem, 4vw, 1rem);
}
.modal__header__top, .modal__header__bottom {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: space-between;
}
.modal__header__top .actions, .modal__header__bottom .actions {
  margin-left: auto;
}
.modal__header__politika {
  text-align: start;
  line-height: 120%;
}
.modal__header__submit {
  position: relative;
}
.modal__title {
  width: fit-content;
  max-width: 100%;
  text-align: start;
  font-size: clamp(1.25rem, 4vw, 1.5rem);
  font-family: "DrukWideCyr Bold";
  font-weight: 700;
  line-height: 120%;
  margin: 0;
}
.modal__close {
  width: 1.75rem;
  height: 1.75rem;
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
  cursor: pointer;
}
.modal__close:before, .modal__close:after {
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  position: absolute;
  top: 50%;
  left: 0;
  transform-origin: center;
  background-color: #fff;
}
.modal__close:before {
  transform: rotate(45deg);
}
.modal__close:after {
  transform: rotate(-45deg);
}
.modal__body {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  max-height: none;
  overflow: hidden;
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, 0.28) transparent;
  scrollbar-gutter: stable both-edges;
}
.modal__body::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
.modal__body::-webkit-scrollbar-track {
  background: transparent;
  margin-block: 4px;
}
.modal__body::-webkit-scrollbar-thumb {
  background-color: rgba(255, 255, 255, 0.24);
  border-radius: 8px;
  border: 2px solid transparent;
  background-clip: padding-box;
}
.modal__body:hover::-webkit-scrollbar-thumb {
  background-color: rgba(255, 255, 255, 0.34);
}
.modal__body::-webkit-scrollbar-thumb:active {
  background-color: rgba(255, 255, 255, 0.48);
}
.modal__body .empty__wrapper {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: 100%;
  height: 100%;
}
.modal__body #modal_content {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  height: auto;
  width: 100%;
  overflow: hidden;
}
.modal__footer {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 1rem;
}

.modal--xs .modal__content {
  width: 540px;
  max-height: 70%;
}
@media (max-width: 640px) {
  .modal--xs .modal__content {
    width: 90%;
  }
}
.modal--sm .modal__content {
  width: 30%;
  max-height: 70%;
}
.modal--md .modal__content {
  width: 50%;
  max-height: 80%;
}
.modal--lg .modal__content {
  width: 75%;
  max-height: 85%;
}
.modal--xl .modal__content {
  width: 80%;
  min-height: 80%;
}

.modal--content {
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(14px);
}
.modal--content .modal__content {
  width: 100vw;
  height: 100vh;
  max-height: 100vh;
  overflow-y: auto;
  border-radius: 0;
  border: 0;
}

.modal.modal--content .modal__content, .modal.modal--content .modal__body {
  gap: 0;
  height: clamp(0px, calc(100vh - 2rem - env(safe-area-inset-top) - env(safe-area-inset-bottom)), 80vh);
  padding: 0;
  overflow: hidden;
}

#modal_content {
  padding: 0;
}

.modal__body__block {
  width: 98%;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  max-height: 30svh;
  overflow-y: auto;
}

.modal__body__lesson {
  display: flex;
  flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  width: 100%;
  column-gap: 2%;
  row-gap: 1rem;
}
.modal__body__lesson__item {
  flex: 0 1 49%;
}

@media (max-width: 820px) {
  .modal__content {
    width: calc(100vw - 2rem);
    max-width: calc(100vw - 2rem);
    padding: 1.25rem;
  }
  .modal__close {
    top: 1rem;
    right: 1rem;
  }
  .modal__title {
    font-size: 1.2rem;
  }
}
@media (max-width: 520px) {
  .modal__content {
    width: calc(100vw - 1.25rem);
    max-width: calc(100vw - 1.25rem);
    padding: 1rem;
  }
}
@supports (backdrop-filter: blur(14px)) or (-webkit-backdrop-filter: blur(14px)) {
  .modal__content {
    background: rgba(25, 25, 30, 0.45);
  }
}
@media (prefers-reduced-motion: reduce) {
  .modal.is-open {
    animation: none;
  }
  .modal__content {
    animation: none;
  }
  .modal.modal--leaving {
    animation: none;
  }
  .modal.modal--leaving .modal__content {
    animation: none;
  }
}
@media (max-width: 768px) {
  .modal__content {
    width: 100vw;
    height: 100vh;
    max-height: 100vh;
    inset: 0;
    margin: 0;
    padding: 1rem;
    border-radius: 0;
    left: 0;
    top: 0;
    transform: none;
    animation: none;
    border: 0;
    opacity: 1;
    padding-bottom: calc(1rem + env(safe-area-inset-bottom));
  }
  .modal__content .modal__body {
    overflow: auto;
    -webkit-overflow-scrolling: touch;
  }
  .modal__course-preview .modal__body .course-preview__media {
    flex: 0 1 auto;
    aspect-ratio: 16/9;
  }
}
@media (max-width: 960px) {
  .modal .controls__row {
    flex-direction: column;
    align-items: stretch;
  }
}
@media (max-width: 1024px) {
  .modal__close {
    width: 1.5rem;
    height: 1.5rem;
    top: 1rem;
    right: 1rem;
  }
  .modal__course-preview .modal__body {
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}
@keyframes fadeInOverlay {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes popInModal {
  from {
    opacity: 0;
    transform: translate(-50%, -45%) scale(0.95);
  }
  to {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
  }
}
@keyframes fadeOutOverlay {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes popOutModal {
  from {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
  }
  to {
    opacity: 0;
    transform: translate(-50%, -45%) scale(0.95);
  }
}
.modal--light {
  --form-label-color: #111111;
  --form-hint-color: rgba(17,17,17,0.55);
  --form-field-bg: #ffffff;
  --form-field-bg-hover: #ffffff;
  --form-field-text: #111111;
  --form-field-border: rgba(0,0,0,0.12);
  --form-field-border-hover: rgba(0,0,0,0.18);
  --form-placeholder-color: rgba(17,17,17,0.42);
  --form-autofill-bg: #ffffff;
  --form-autofill-text: #111111;
  --form-field-backdrop: none;
}
.modal--light .modal__content {
  background: #fff;
  color: #111;
}
.modal--light .modal__close:before, .modal--light .modal__close:after {
  background: #111;
}
.modal--dark {
  --form-label-color: #ffffff;
  --form-hint-color: rgba(176, 183, 201, 0.55);
  --form-field-bg: rgba(255, 255, 255, 0.06);
  --form-field-bg-hover: rgba(255, 255, 255, 0.08);
  --form-field-text: #ffffff;
  --form-field-border: rgba(255, 255, 255, 0.18);
  --form-field-border-hover: rgba(255, 255, 255, 0.28);
  --form-placeholder-color: rgba(255, 255, 255, 0.48);
  --form-autofill-bg: rgba(255, 255, 255, 0.06);
  --form-autofill-text: #ffffff;
  --form-field-backdrop: blur(var(--form-glass-blur));
}
.modal--dark .modal__content {
  background: linear-gradient(180deg, #201E48 0%, #16143A 100%);
  color: #fff;
}
.modal--dark .modal__title {
  color: rgba(255, 255, 255, 0.96);
}
.modal--dark .modal__title-wrap {
  color: rgba(220, 226, 245, 0.86);
}
.modal--dark .modal__close:before, .modal--dark .modal__close:after {
  background: #fff;
}

.modal .controls {
  display: grid;
  gap: 0.875rem;
  width: 100%;
}
.modal .controls__row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.875rem;
}
.modal .controls__section {
  display: flex;
  flex-wrap: wrap;
  gap: 0.625rem;
  min-width: 0;
  width: 100%;
}
.modal .controls__section .filters-bar {
  width: 100%;
}
.modal .controls__hint {
  opacity: 0.85;
}
.modal .controls--filters {
  padding: 0.75rem;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.02);
}

.select-group {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 1rem;
}
.select-group__course-line {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  align-items: flex-start;
  margin-bottom: 1rem;
}
.select-group__course-info {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.625rem;
}
.select-group__student-name {
  font-size: 1.25rem;
  font-weight: 600;
  color: #fff;
}
.select-group__course-label {
  font-size: 0.875rem;
  color: #9ca3af;
  margin-bottom: 0.25rem;
}
.select-group__course-name {
  font-size: 1.125rem;
  font-weight: 600;
  color: #fff;
}
.select-group__course-select .select-group__select {
  padding: 0.4rem 0.75rem;
  border-radius: 6px;
  border: 1px solid #444;
  background-color: #1f1f1f;
  color: #fff;
}
.select-group__empty {
  text-align: center;
  color: #9ca3af;
  margin-top: 1.5rem;
  font-size: 0.9rem;
}
.select-group__list {
  list-style: none;
  padding: 0;
  margin: 0;
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid #2c2c2c;
}
.select-group__item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.9rem 1rem;
  background-color: transparent;
  border-bottom: 1px solid #2c2c2c;
}
.select-group__item:last-child {
  border-bottom: none;
}
.select-group__item:hover {
  background-color: rgba(255, 255, 255, 0.05);
}
.select-group__item-info {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
}
.select-group__item-name {
  font-weight: 600;
  color: #fff;
}
.select-group__item-meta {
  display: flex;
  gap: 1rem;
  font-size: 0.75rem;
  color: #9ca3af;
}
.select-group__item-meta i {
  margin-right: 0.3rem;
}
.select-group__item-action {
  flex-shrink: 0;
}
.select-group__btn {
  padding: 0.4rem 0.9rem;
  font-size: 0.875rem;
  border-radius: 9999px;
  font-weight: 500;
  border: none;
  cursor: pointer;
  transition: all 0.2s ease;
}
.select-group__btn--primary {
  background-color: #ff7a00;
  color: #fff;
}
.select-group__btn--primary:hover {
  background-color: #e56c00;
}
.select-group__btn--secondary {
  background-color: transparent;
  color: #3b82f6;
  border: 1px solid #3b82f6;
}
.select-group__btn--secondary:hover {
  background-color: rgba(59, 130, 246, 0.1);
}
.select-group__btn--disabled {
  background-color: transparent;
  color: #9ca3af;
  border: 1px solid #555;
  cursor: not-allowed;
}
.select-group__footer {
  display: flex;
  justify-content: flex-end;
  margin-top: 1rem;
}

#login-form-modal, #registration-form-modal, #password-reset-form-modal {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 1rem;
}
#login-form-modal .modal-content__select-modal, #registration-form-modal .modal-content__select-modal, #password-reset-form-modal .modal-content__select-modal {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  gap: 0.2rem;
  color: var(--form-field-text);
  font-size: clamp(14px, 2.5vw, 20px);
  font-style: normal;
  font-weight: 400;
  line-height: 140%;
  white-space: nowrap;
}
#login-form-modal .fake-link, #registration-form-modal .fake-link, #password-reset-form-modal .fake-link {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  width: fit-content;
  color: #2630f5;
  border-bottom: 1.5px solid #2630f5;
  cursor: pointer;
}
#login-form-modal .input-wrapper__password .modal-content__input, #registration-form-modal .input-wrapper__password .modal-content__input, #password-reset-form-modal .input-wrapper__password .modal-content__input {
  padding-right: 44px;
}
#login-form-modal .input__wrapper--with-append .modal-content__input, #registration-form-modal .input__wrapper--with-append .modal-content__input, #password-reset-form-modal .input__wrapper--with-append .modal-content__input {
  padding-right: var(--append-width, 120px);
}
#login-form-modal .registration-role__step, #registration-form-modal .registration-role__step, #password-reset-form-modal .registration-role__step {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 1rem;
  padding: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
#login-form-modal .registration-role__headline, #registration-form-modal .registration-role__headline, #password-reset-form-modal .registration-role__headline {
  font-family: "Inter Medium";
  font-size: clamp(16px, 2.4vw, 20px);
  font-weight: 600;
  line-height: 130%;
  color: rgba(255, 255, 255, 0.92);
  margin: 0;
}
#login-form-modal .registration-role__button, #registration-form-modal .registration-role__button, #password-reset-form-modal .registration-role__button {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.9rem;
  width: 100%;
  padding: 1rem 1.1rem;
  border-radius: 18px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  background: rgba(255, 255, 255, 0.08);
  cursor: pointer;
  transition: transform 0.12s ease, background 0.12s ease, border-color 0.12s ease;
}
#login-form-modal .registration-role__button:hover, #registration-form-modal .registration-role__button:hover, #password-reset-form-modal .registration-role__button:hover {
  transform: translateY(-1px);
  background: rgba(255, 255, 255, 0.1);
}
#login-form-modal .registration-role__label, #registration-form-modal .registration-role__label, #password-reset-form-modal .registration-role__label {
  font-family: "Inter Medium";
  font-size: clamp(16px, 2.4vw, 22px);
  line-height: 140%;
}
#login-form-modal .registration-role__icon, #registration-form-modal .registration-role__icon, #password-reset-form-modal .registration-role__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
}
#login-form-modal .registration-role__icon-img, #registration-form-modal .registration-role__icon-img, #password-reset-form-modal .registration-role__icon-img {
  width: 28px;
  height: 28px;
  display: block;
}
#login-form-modal .registration-role__button--student, #registration-form-modal .registration-role__button--student, #password-reset-form-modal .registration-role__button--student {
  color: #2e9bff;
  border-color: rgba(38, 48, 245, 0.3);
  background: rgba(38, 48, 245, 0.16);
}
#login-form-modal .registration-role__button--parent, #registration-form-modal .registration-role__button--parent, #password-reset-form-modal .registration-role__button--parent {
  color: #EA4DBC;
  border-color: rgba(234, 77, 188, 0.3);
  background: rgba(234, 77, 188, 0.14);
}
#login-form-modal .registration-role__button--teacher, #registration-form-modal .registration-role__button--teacher, #password-reset-form-modal .registration-role__button--teacher {
  color: #FF7A00;
  border-color: rgba(255, 122, 0, 0.3);
  background: rgba(255, 122, 0, 0.14);
}
#login-form-modal .registration-role__button--school, #registration-form-modal .registration-role__button--school, #password-reset-form-modal .registration-role__button--school {
  color: #8645D2;
  border-color: rgba(134, 69, 210, 0.3);
  background: rgba(134, 69, 210, 0.14);
}
#login-form-modal .registration-role__divider, #registration-form-modal .registration-role__divider, #password-reset-form-modal .registration-role__divider {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  gap: 1rem;
  color: rgba(255, 255, 255, 0.75);
  font-size: 14px;
}
#login-form-modal .registration-role__divider:before, #login-form-modal .registration-role__divider:after, #registration-form-modal .registration-role__divider:before, #registration-form-modal .registration-role__divider:after, #password-reset-form-modal .registration-role__divider:before, #password-reset-form-modal .registration-role__divider:after {
  content: "";
  height: 1px;
  background: rgba(255, 255, 255, 0.18);
  flex: 1;
}
#login-form-modal .registration-role__back, #registration-form-modal .registration-role__back, #password-reset-form-modal .registration-role__back {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  gap: 0.45rem;
  width: fit-content;
  padding: 0;
  border: 0;
  background: transparent;
  color: #2630f5;
  cursor: pointer;
  margin-bottom: 0.25rem;
}
#login-form-modal .registration-role__back:hover, #registration-form-modal .registration-role__back:hover, #password-reset-form-modal .registration-role__back:hover {
  opacity: 0.9;
}
#login-form-modal .registration-role__back-arrow, #registration-form-modal .registration-role__back-arrow, #password-reset-form-modal .registration-role__back-arrow {
  font-size: 18px;
  line-height: 1;
}
#login-form-modal .registration-role__back-text, #registration-form-modal .registration-role__back-text, #password-reset-form-modal .registration-role__back-text {
  border-bottom: 1.5px solid #2630f5;
  line-height: 1.1;
}
@media (max-width: 480px) {
  #login-form-modal .input-wrapper__password .modal-content__input, #registration-form-modal .input-wrapper__password .modal-content__input, #password-reset-form-modal .input-wrapper__password .modal-content__input {
    padding-right: 48px;
  }
  #login-form-modal .input__wrapper--with-append .modal-content__input, #registration-form-modal .input__wrapper--with-append .modal-content__input, #password-reset-form-modal .input__wrapper--with-append .modal-content__input {
    padding-right: var(--append-width, 104px);
  }
}

.modal-auth .modal__header .modal__title {
  font-family: "DrukWideCyr Bold";
  font-size: clamp(24px, 2vw, 44px);
  font-style: normal;
  font-weight: 700;
  line-height: 120%;
}

.modal--light.modal-auth .modal__header .modal__title-wrap {
  color: #111111;
}
.modal--light.modal-auth .modal__header .modal__title {
  color: #111111;
}

.modal--dark.modal-auth {
  --form-field-bg: rgba(0, 0, 0, 0.32);
  --form-field-bg-hover: rgba(0, 0, 0, 0.38);
  --form-field-border: rgba(255, 255, 255, 0.16);
  --form-field-border-hover: rgba(255, 255, 255, 0.26);
  --form-field-text: rgba(255, 255, 255, 0.96);
  --form-placeholder-color: rgba(255, 255, 255, 0.52);
  --form-autofill-bg: rgba(0, 0, 0, 0.32);
  --form-autofill-text: rgba(255, 255, 255, 0.96);
  --form-error-color: #ef4444;
  --form-error-shadow: 0 0 0 3px rgba(239, 68, 68, 0.16);
  --form-focus-border: rgba(46, 155, 255, 0.55);
  --form-focus-shadow: 0 0 0 3px rgba(46, 155, 255, 0.18);
}
.modal--dark.modal-auth form.form-modal-primary input[type=text],
.modal--dark.modal-auth form.form-modal-primary input[type=email],
.modal--dark.modal-auth form.form-modal-primary input[type=password],
.modal--dark.modal-auth form.form-modal-primary input[type=tel],
.modal--dark.modal-auth form.form-modal-primary input[type=url],
.modal--dark.modal-auth form.form-modal-primary input[type=number],
.modal--dark.modal-auth form.form-modal-primary textarea,
.modal--dark.modal-auth form.form-modal-primary select {
  background: var(--form-field-bg) !important;
  color: var(--form-field-text) !important;
  border-color: var(--form-field-border) !important;
}
.modal--dark.modal-auth form.form-modal-primary input[type=text]:focus,
.modal--dark.modal-auth form.form-modal-primary input[type=email]:focus,
.modal--dark.modal-auth form.form-modal-primary input[type=password]:focus,
.modal--dark.modal-auth form.form-modal-primary input[type=tel]:focus,
.modal--dark.modal-auth form.form-modal-primary input[type=url]:focus,
.modal--dark.modal-auth form.form-modal-primary input[type=number]:focus,
.modal--dark.modal-auth form.form-modal-primary textarea:focus,
.modal--dark.modal-auth form.form-modal-primary select:focus {
  border-color: var(--form-focus-border) !important;
  box-shadow: var(--form-focus-shadow) !important;
}
.modal--dark.modal-auth form.form-modal-primary input[type=text]:-webkit-autofill, .modal--dark.modal-auth form.form-modal-primary input[type=text]:-webkit-autofill:hover, .modal--dark.modal-auth form.form-modal-primary input[type=text]:-webkit-autofill:focus,
.modal--dark.modal-auth form.form-modal-primary input[type=email]:-webkit-autofill,
.modal--dark.modal-auth form.form-modal-primary input[type=email]:-webkit-autofill:hover,
.modal--dark.modal-auth form.form-modal-primary input[type=email]:-webkit-autofill:focus,
.modal--dark.modal-auth form.form-modal-primary input[type=password]:-webkit-autofill,
.modal--dark.modal-auth form.form-modal-primary input[type=password]:-webkit-autofill:hover,
.modal--dark.modal-auth form.form-modal-primary input[type=password]:-webkit-autofill:focus,
.modal--dark.modal-auth form.form-modal-primary input[type=tel]:-webkit-autofill,
.modal--dark.modal-auth form.form-modal-primary input[type=tel]:-webkit-autofill:hover,
.modal--dark.modal-auth form.form-modal-primary input[type=tel]:-webkit-autofill:focus,
.modal--dark.modal-auth form.form-modal-primary input[type=url]:-webkit-autofill,
.modal--dark.modal-auth form.form-modal-primary input[type=url]:-webkit-autofill:hover,
.modal--dark.modal-auth form.form-modal-primary input[type=url]:-webkit-autofill:focus,
.modal--dark.modal-auth form.form-modal-primary input[type=number]:-webkit-autofill,
.modal--dark.modal-auth form.form-modal-primary input[type=number]:-webkit-autofill:hover,
.modal--dark.modal-auth form.form-modal-primary input[type=number]:-webkit-autofill:focus,
.modal--dark.modal-auth form.form-modal-primary textarea:-webkit-autofill,
.modal--dark.modal-auth form.form-modal-primary textarea:-webkit-autofill:hover,
.modal--dark.modal-auth form.form-modal-primary textarea:-webkit-autofill:focus,
.modal--dark.modal-auth form.form-modal-primary select:-webkit-autofill,
.modal--dark.modal-auth form.form-modal-primary select:-webkit-autofill:hover,
.modal--dark.modal-auth form.form-modal-primary select:-webkit-autofill:focus {
  -webkit-text-fill-color: var(--form-autofill-text) !important;
  caret-color: var(--form-autofill-text);
  -webkit-box-shadow: 0 0 0 1000px var(--form-autofill-bg) inset !important;
  box-shadow: 0 0 0 1000px var(--form-autofill-bg) inset !important;
  border: 1px solid var(--form-field-border) !important;
}
.modal--dark.modal-auth .input-wrapper__password .password__visibility, .modal--dark.modal-auth .input-wrapper__password .password__visibility-off {
  filter: invert(1);
  opacity: 0.92;
}
.modal--dark.modal-auth .error-message__text {
  color: var(--form-error-color);
}

.picker .modal__header-actions {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-left: auto;
}
.picker__hint {
  margin: 0 0 0.75rem;
  padding: 0.75rem 0.9rem;
  border-radius: 0.75rem;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: rgba(255, 255, 255, 0.88);
}
.picker__limitbar {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 0.75rem;
  margin: 0 0 0.75rem;
  padding: 0.65rem 0.8rem;
  border-radius: 0.75rem;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.1);
}
.picker__limitbar__item {
  display: inline-flex;
  align-items: baseline;
  gap: 0.35rem;
  padding: 0.25rem 0.45rem;
  border-radius: 0.75rem;
  background: rgba(0, 0, 0, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.08);
}
.picker__limitbar__label {
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.7);
}
.picker__limitbar__value {
  font-weight: 800;
  color: rgba(255, 255, 255, 0.92);
}
.picker__limitbar__sep {
  color: rgba(255, 255, 255, 0.55);
}
.picker .controls--picker {
  margin-bottom: 0.75rem;
}
.picker .controls--picker .controls__row {
  width: 100%;
  justify-content: flex-end;
}
.picker__form {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  flex: 1 1 auto;
  width: 100%;
  height: 100%;
  min-height: 0;
}
.picker-search {
  flex: 0 0 auto;
  width: 100%;
  margin-bottom: 0.5rem;
}
.picker-search input {
  width: 100%;
  outline: none;
  padding: 0.5rem 0.75rem;
  border-radius: 0.75rem;
  border: 0;
}
.picker--content {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  align-items: stretch;
  overflow: hidden;
}
.picker--content__title {
  margin-bottom: 2rem;
  text-align: start;
}
.picker-results {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 1rem;
  flex: 1 1 auto;
  max-height: 100%;
  margin-left: -2rem;
  overflow-y: auto;
  list-style: none;
}
.picker__item {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 1rem;
  list-style-type: none;
  cursor: pointer;
  position: relative;
  transition: background-color 0.3s ease-in-out, opacity 0.3s ease-in-out;
}
@media (hover: hover) and (pointer: fine) {
  .picker__item:hover {
    background: rgba(38, 48, 245, 0.3);
  }
}
.picker__item.is-disabled {
  cursor: not-allowed;
  pointer-events: auto;
}
.picker__item.is-disabled .picker__item__label {
  opacity: 0.5;
}
.picker__item.is-hidden {
  display: none;
}
.picker__item.is-shaking {
  animation: picker-shake 0.35s ease-in-out;
}
.picker__item.is-hinting {
  z-index: 200;
}
.picker__item__label {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  gap: 1rem;
  grid-column: 1;
  width: 100%;
  padding: 1rem 2rem 1rem 2.5rem;
}
.picker__item__checkbox[disabled] {
  pointer-events: none;
}
.picker__item__content {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.picker__item__avatar {
  flex: 0 0 auto;
}
.picker__item__avatar .avatar {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 999px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.14);
  background: rgba(255, 255, 255, 0.08);
  color: rgba(255, 255, 255, 0.92);
  font-weight: 800;
  font-size: 0.8rem;
  letter-spacing: 0.02em;
}
.picker__item__avatar img.avatar {
  object-fit: cover;
}
.picker__item__avatar .avatar--initials {
  background: var(--avatar-bg);
  color: var(--avatar-fg);
  border-color: rgba(255, 255, 255, 0.1);
}
.picker__item__info {
  flex: 1 1 auto;
  min-width: 0;
}
.picker__item__row {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
.picker__item__title {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 600;
  color: #fff;
}
.picker__item__email {
  flex: 0 1 auto;
  max-width: none;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  padding: 0.25rem 0.55rem;
  border-radius: 0.75rem;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.14);
  color: rgba(255, 255, 255, 0.88);
  font-size: 0.875rem;
}
.picker__item__email--child {
  border-color: rgba(34, 197, 94, 0.45);
  background: rgba(34, 197, 94, 0.1);
}
.picker__item__email--parent {
  border-color: rgba(59, 130, 246, 0.45);
  background: rgba(59, 130, 246, 0.1);
}
.picker__item__details {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  align-items: center;
  gap: 3.75rem;
  grid-column: 2;
}
.picker__item__detail--email {
  grid-column: 1;
}
.picker__item__detail--phone {
  grid-column: 2;
}
.picker__disabled-reason {
  position: absolute;
  left: 3.25rem;
  right: auto;
  top: calc(100% - 0.25rem);
  z-index: 50;
  display: inline-block;
  width: fit-content;
  max-width: calc(100% - 5.25rem);
  padding: 0.75rem 0.9rem;
  border-radius: 0.75rem;
  background: rgba(10, 12, 28, 0.98);
  backdrop-filter: blur(16px) saturate(140%);
  -webkit-backdrop-filter: blur(16px) saturate(140%);
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.25);
  color: #fff;
  pointer-events: none;
  animation: picker-hint-in 0.14s ease-out;
  transform-origin: top left;
}
.picker__disabled-reason:before {
  content: "";
  position: absolute;
  top: -6px;
  left: 24px;
  width: 12px;
  height: 12px;
  transform: rotate(45deg);
  background: rgba(10, 12, 28, 0.98);
  border-left: 1px solid rgba(255, 255, 255, 0.12);
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}
.picker__disabled-reason__title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-weight: 700;
  font-size: 0.875rem;
  line-height: 1.2;
  margin-bottom: 0.25rem;
}
.picker__disabled-reason__title:before {
  content: "!";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border-radius: 999px;
  font-size: 0.8rem;
  line-height: 1;
  background: rgba(255, 255, 255, 0.12);
}
.picker__disabled-reason__text {
  font-size: 0.875rem;
  line-height: 1.35;
  opacity: 0.92;
}
.picker__disabled-reason--warning {
  border-left: 3px solid rgb(255, 210, 31);
}
.picker__disabled-reason--info {
  border-left: 3px solid rgb(0, 122, 255);
}
.picker--actions {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  gap: 1rem;
  justify-content: flex-end;
  padding-top: 1rem;
}

@keyframes picker-shake {
  0% {
    transform: translateX(0);
  }
  20% {
    transform: translateX(-4px);
  }
  40% {
    transform: translateX(4px);
  }
  60% {
    transform: translateX(-3px);
  }
  80% {
    transform: translateX(3px);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes picker-hint-in {
  0% {
    opacity: 0;
    transform: scale(0.98);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
.modal--group-form .modal__content {
  overflow: visible;
}
.modal--group-form .modal__body {
  overflow: visible;
}

.modal__chat--homework .modal__content .modal__header .modal__header__bottom .status__info {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  gap: 1rem;
}
.modal__chat--homework .modal__content .modal__header .modal__header__bottom .status__info * {
  color: #fff;
}
.modal__chat--homework .modal__content .modal__body .chat {
  border-radius: 1.75rem;
  overflow: hidden;
  border: 1px solid #2630f5;
}

.modal__course-preview .modal__content {
  width: 80%;
  min-height: initial;
  height: 60%;
}
.modal__course-preview .modal__body {
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  gap: 1.875rem;
  min-height: 0;
  height: 100%;
}
.modal__course-preview .modal__body .course-preview__media {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  flex: 0 0 60%;
  aspect-ratio: 16/9;
  border: 1px solid #030305;
  border-radius: 1rem;
  background-color: #fff;
  overflow: hidden;
}
.modal__course-preview .modal__body .course-preview__media video {
  width: 100%;
  height: 100%;
}
.modal__course-preview .modal__body .course-preview__media * {
  color: #030305;
}
.modal__course-preview .modal__body .course-preview__aside {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.25rem;
  flex: 1 1 0;
  height: 100%;
  min-height: 0;
}
.modal__course-preview .modal__body .course-preview__aside * {
  color: #fff;
}
.modal__course-preview .modal__body .course-preview__aside .course-preview__scroll {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 1.25rem;
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  padding-right: 0.25rem;
}
.modal__course-preview .modal__body .course-preview__aside .course-preview__scroll .course-preview__section {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.5rem;
}
.modal__course-preview .modal__body .course-preview__aside .course-preview__scroll .course-preview__section .course-preview__content {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: flex-start;
  text-align: left;
}
.modal__course-preview .modal__body .course-preview__aside .course-preview__scroll .course-preview__section .course-preview__content ol,
.modal__course-preview .modal__body .course-preview__aside .course-preview__scroll .course-preview__section .course-preview__content ul {
  padding-left: 1rem;
}
.modal__course-preview .modal__body .course-preview__aside .course-preview__cta {
  flex: 0 0 auto;
  margin-top: auto;
}

.modal__lesson .modal__header,
.modal__lesson .modal__body,
.modal__lesson .modal__footer {
  text-align: left;
}
.modal__lesson .modal__footer {
  display: flex;
  justify-content: flex-end;
}

.locked-info {
  display: grid;
  gap: 16px;
  text-align: left;
}
.locked-info__lead {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  padding: 14px 16px;
}
.locked-info__lead p {
  margin: 0;
  font-size: 14px;
  line-height: 1.5;
  opacity: 0.95;
}
.locked-info__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
@media (max-width: 768px) {
  .locked-info__grid {
    grid-template-columns: 1fr;
  }
}
.locked-info__card {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  padding: 14px 16px;
}
.locked-info__title {
  margin: 0 0 8px;
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.2px;
}
.locked-info ul {
  margin: 8px 0 0;
  padding-left: 18px;
  list-style: disc;
}
.locked-info ul li {
  margin: 6px 0;
  font-size: 13px;
  line-height: 1.45;
  opacity: 0.95;
}
.locked-info__footer {
  width: 100%;
  display: flex;
  justify-content: flex-end;
  margin-top: 4px;
}

.modal__school-success {
  background: rgba(5, 8, 28, 0.72);
}
.modal__school-success .modal__content {
  width: calc(100vw - 24px);
  max-width: 460px;
  padding: 22px;
  border-radius: 28px;
  background: rgba(24, 30, 78, 0.78);
  border: 1px solid rgba(255, 255, 255, 0.14);
  backdrop-filter: blur(18px);
  box-shadow: 0 40px 120px rgba(0, 0, 0, 0.55);
  overflow: hidden;
}
.modal__school-success .modal__content:before {
  content: "";
  position: absolute;
  inset: -2px;
  background: radial-gradient(120% 140% at 12% 10%, rgba(255, 255, 255, 0.18), rgba(255, 255, 255, 0) 55%);
  pointer-events: none;
}
.modal__school-success .modal__close {
  opacity: 0.9;
}

.school-landing-success {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 12px;
  padding: 8px 4px 2px;
}
.school-landing-success__icon {
  width: 74px;
  height: 74px;
  border-radius: 999px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: radial-gradient(circle at 30% 30%, rgba(255, 255, 255, 0.35), rgba(255, 255, 255, 0) 55%), linear-gradient(135deg, rgba(255, 140, 0, 0.95), rgba(255, 60, 120, 0.85));
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.45);
  border: 1px solid rgba(255, 255, 255, 0.18);
}
.school-landing-success__icon-mark {
  font-family: "Inter Bold";
  font-size: 34px;
  line-height: 1;
}

#confirm_modal .modal-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999999;
}
#confirm_modal .modal-backdrop .modal-overlay {
  display: block;
  width: 100%;
  height: 100%;
  background-color: rgba(37, 37, 37, 0.75);
  cursor: pointer;
  opacity: 0;
  animation: fadeInOverlay 0.3s ease-out forwards;
}
#confirm_modal .modal-backdrop .modal-window {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 1.875rem;
  max-width: 768px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0.95);
  border: 1px solid #fff;
  border-radius: 1.75rem;
  padding: 1.25rem 1.875rem 1.875rem;
  background: rgba(37, 37, 37, 0.75);
  backdrop-filter: blur(18.5px);
  opacity: 0;
  animation: popInModal 0.3s cubic-bezier(0.4, 0, 0.2, 1) 0.1s forwards;
}
#confirm_modal .modal-backdrop .modal-window .modal-body,
#confirm_modal .modal-backdrop .modal-window h3,
#confirm_modal .modal-backdrop .modal-window p {
  color: #fff;
}
#confirm_modal .modal-backdrop .modal-window__header {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
#confirm_modal .modal-backdrop .modal-window__header .modal-close {
  width: 32px;
  height: 32px;
  cursor: pointer;
  position: relative;
}
#confirm_modal .modal-backdrop .modal-window__header .modal-close:before, #confirm_modal .modal-backdrop .modal-window__header .modal-close:after {
  content: "";
  width: 60%;
  height: 2px;
  position: absolute;
  top: 50%;
  left: 50%;
  background-color: #fff;
  transform-origin: center;
  border-radius: 0.75rem;
}
#confirm_modal .modal-backdrop .modal-window__header .modal-close:before {
  transform: translateX(-50%) rotate(45deg);
}
#confirm_modal .modal-backdrop .modal-window__header .modal-close:after {
  transform: translateX(-50%) rotate(-45deg);
}
#confirm_modal .modal-backdrop .modal-body {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.5rem;
}
#confirm_modal .modal-backdrop .modal-footer {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 1rem;
}
@keyframes fadeInOverlay {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes popInModal {
  from {
    opacity: 0;
    transform: translate(-50%, -45%) scale(0.95);
  }
  to {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
  }
}

#modal-success_contact_us {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 100000;
  background: rgba(5, 5, 7, 0.4);
  backdrop-filter: blur(15px);
}
#modal-success_contact_us .modal_window {
  position: relative;
  padding: 40px 48px;
  background: #030305;
  border-radius: 24px;
  margin: 0 2rem;
  overflow: hidden;
}
#modal-success_contact_us .modal_window .modal_window-close {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  position: absolute;
  right: 1rem;
  top: 1rem;
  cursor: pointer;
  z-index: 10;
  width: 24px;
  height: 24px;
}
#modal-success_contact_us .modal_window .close:before {
  content: "";
}
#modal-success_contact_us .modal_window .close, #modal-success_contact_us .modal_window .close:before {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  width: 24px;
  height: 1px;
  background-color: #fff;
  pointer-events: none;
}
#modal-success_contact_us .modal_window .close {
  transform: rotate(45deg);
}
#modal-success_contact_us .modal_window .close:before {
  transform: rotate(-90deg);
}
#modal-success_contact_us .modal_window .content {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  position: relative;
  z-index: 10;
}
#modal-success_contact_us .modal_window .content .text-block {
  max-width: 500px;
  margin: 1rem 0 5rem 0;
}
#modal-success_contact_us .modal_window .content .btn-app, #modal-success_contact_us .modal_window .content .btn-blue--soft, #modal-success_contact_us .modal_window .content .btn-dark--glass, #modal-success_contact_us .modal_window .content .btn-dark--glass-outline {
  width: 100%;
}
#modal-success_contact_us .modal_window .modal_window-background {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
#modal-success_contact_us .modal_window .modal_window-background img {
  margin-top: -40%;
  margin-left: -10%;
  height: 300%;
  width: 130%;
}

@media (min-width: 1024px) {
  #modal-success_contact_us .modal_window {
    padding: 80px 120px;
  }
  #modal-success_contact_us .modal_window .modal_window-close {
    top: 2rem;
    right: 2rem;
  }
}
.modal--created-students .entity-list__items {
  display: grid;
  gap: 0.75rem;
}
.modal--created-students .entity-list__item {
  gap: 1rem;
}
.modal--created-students .entity-list__info {
  max-width: 520px;
}
.modal--created-students .field-with-action {
  gap: 0.5rem;
}
.modal--created-students .profile__actions-row {
  gap: 0.75rem;
}

.modal--new-students .new-students__header {
  display: grid;
  grid-template-columns: 48px 1fr;
  align-items: center;
  gap: 12px;
  margin-bottom: 0.75rem;
  opacity: 0.85;
}
.modal--new-students .new-students__col-index {
  width: 48px;
}
.modal--new-students .new-students__list {
  list-style: decimal;
  padding-left: 24px;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}
.modal--new-students .new-students__row {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.modal--new-students .new-students__cell {
  flex: 1 1 auto;
  min-width: 0;
}
.modal--new-students .new-students__remove {
  flex: 0 0 auto;
}
.modal--new-students .new-students__add-row {
  margin-top: 0.75rem;
}

.send-access-form {
  min-width: 260px;
}
.send-access-form__actions {
  gap: 0.5rem;
}

.modal--users-picker .modal__body {
  overflow: hidden;
}

.tag__list {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  gap: clamp(0.25rem, 0.9vw, 0.5rem);
}

.tag__primary {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: clamp(0.25rem, 1vw, 0.5rem);
  min-width: 0;
  width: fit-content;
  height: fit-content;
  border-radius: 100px;
  border: 1px solid #FFF;
  padding: clamp(0.25rem, 0.9vw, 0.375rem) clamp(0.6rem, 2.4vw, 1rem);
  color: #FFF;
  text-align: center;
  font-size: clamp(12px, 1.6vw, 24px);
  font-weight: 600;
  line-height: 1.2;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}
.tag__primary:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(134, 69, 210, 0.24);
}

.tag__primary.tag--collapsible {
  display: inline-block;
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: width 0.2s ease, padding 0.2s ease;
}

.tag__primary.tag--collapsible.is-expanded {
  white-space: normal;
  overflow: visible;
  text-overflow: unset;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.tag__primary svg, .tag__primary img, .tag__primary .tag__icon {
  width: 1em;
  height: 1em;
  flex: 0 0 auto;
}

.tag--xs {
  padding: clamp(0.125rem, 0.6vw, 0.25rem) clamp(0.35rem, 1.6vw, 0.5rem);
  font-size: clamp(10px, 1.4vw, 12px);
  line-height: 1.2;
  gap: clamp(0.15rem, 0.7vw, 0.25rem);
  border-radius: 1rem;
}

.tag--sm {
  padding: clamp(0.15rem, 0.8vw, 0.3rem) clamp(0.45rem, 2vw, 0.6rem);
  font-size: clamp(11px, 1.6vw, 13px);
  line-height: 1.2;
  gap: clamp(0.2rem, 0.9vw, 0.375rem);
  border-radius: 1.75rem;
}

.tag--md {
  padding: clamp(0.3rem, 1vw, 0.5rem) clamp(0.6rem, 2.4vw, 1rem);
  font-size: clamp(12px, 1.8vw, 15px);
  line-height: 1.2;
  gap: clamp(0.35rem, 1.2vw, 0.625rem);
  border-radius: 100px;
}

.tag--lg {
  padding: clamp(0.35rem, 1.2vw, 0.5rem) clamp(0.8rem, 3vw, 1.25rem);
  font-size: clamp(14px, 2.6vw, 28px);
  line-height: 1.2;
  gap: clamp(0.4rem, 1.2vw, 0.625rem);
  border-radius: 100px;
}

.tag--xl {
  padding: clamp(0.45rem, 1.4vw, 0.625rem) clamp(1rem, 3.6vw, 1.5rem);
  font-size: clamp(16px, 3.4vw, 32px);
  line-height: 1.15;
  gap: clamp(0.5rem, 1.4vw, 0.75rem);
  border-radius: 100px;
}

.tag--dense {
  padding-top: clamp(0.125rem, 0.5vw, 0.375rem);
  padding-bottom: clamp(0.125rem, 0.5vw, 0.375rem);
}

.tag--borderless, .tag--primary-noborder {
  border: none !important;
}

.tag--bordered, .tag--border-accent, .tag--border-blue, .tag--border-orange {
  border-width: 0.25rem !important;
  border-style: solid !important;
  border-color: currentColor;
  background: #080e72;
}

.tag--border-orange {
  border-color: #F8972E !important;
}
.tag--border-orange:hover {
  box-shadow: 0 0 0 3px rgba(248, 151, 46, 0.25);
}

.tag--border-blue {
  border-color: #82a1ff !important;
}
.tag--border-blue:hover {
  box-shadow: 0 0 0 3px rgba(130, 161, 255, 0.25);
}

.tag--border-accent {
  border-color: var(--tag-border-color, currentColor) !important;
}
.tag--border-accent:hover {
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--tag-border-color, currentColor) 25%, transparent);
}

.tag--orange {
  background-color: #F8972E;
  border-color: #F8972E;
  color: #fff;
}

.tag--green {
  background-color: #2EB67D;
  border-color: #2EB67D;
  color: #fff;
}

.tag--gray {
  background-color: #B2B2B2;
  border-color: #B2B2B2;
  color: #fff;
}

.tag--blue {
  background-color: #2630f5;
  border-color: #2630f5;
  color: #fff;
}

.tag--dark {
  background-color: #1E1D30;
  border-color: #1E1D30;
  color: #fff;
}

.tag--red {
  background-color: #e30000;
  border-color: #e30000;
  color: #fff;
}

.tag--purple {
  background-color: #7F29FA;
  border-color: #7F29FA;
  color: #fff;
}

.tag--primary, .tag--primary-noborder {
  background-color: #8645D2;
  border-color: #8645D2;
  color: #fff;
}

.tag__actions {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  gap: clamp(0.25rem, 1vw, 0.5rem);
}
.tag__actions * {
  cursor: pointer;
}

.tag--gray:hover {
  background-color: rgba(178, 178, 178, 0.9);
}

.tag--dark:hover {
  background-color: rgba(30, 29, 48, 0.9);
}

.tag--blue:hover {
  background-color: #82a1ff;
}

.tag--primary:hover, .tag--primary-noborder:hover {
  background-color: #68469c;
}

.tag--outline {
  background-color: transparent;
  border-color: currentColor;
  color: #8645D2;
}
.tag--outline:hover {
  background-color: rgba(38, 48, 245, 0.2);
}

.tag--ghost {
  background-color: transparent;
  border-color: transparent;
  color: #8645D2;
}
.tag--ghost:hover {
  background-color: rgba(38, 48, 245, 0.2);
}

.tag--animated {
  animation: badge-float 3.2s ease-in-out infinite alternate, badge-glow 2.6s ease-in-out infinite alternate;
  will-change: transform, box-shadow, filter;
}

@media (max-width: 769px) {
  .tag__primary {
    width: auto;
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
    text-align: left;
  }
  .tag__primary.tag--collapsible {
    white-space: normal;
    transition: width 0.2s ease, padding 0.2s ease;
  }
}
.tag--animated {
  position: relative;
  animation: tag-float 3s ease-in-out infinite alternate, tag-glow 3s ease-in-out infinite alternate;
  animation-fill-mode: both;
  animation-delay: -1.5s, -1.5s;
  will-change: transform, box-shadow, filter;
  transform: translateZ(0);
  backface-visibility: hidden;
  contain: paint;
}

@keyframes tag-float {
  from {
    transform: translate3d(0, -1px, 0);
  }
  to {
    transform: translate3d(0, -2px, 0);
  }
}
@keyframes tag-glow {
  from {
    box-shadow: 0 0 0 rgba(74, 222, 128, 0);
  }
  to {
    box-shadow: 0 0 18px rgba(74, 222, 128, 0.28);
  }
}
.tag--animated::after {
  content: "";
  position: absolute;
  inset: -2px;
  border-radius: inherit;
  pointer-events: none;
  animation: tag-glow-after 3s ease-in-out infinite alternate;
  animation-fill-mode: both;
  animation-delay: -1.5s;
}

@keyframes tag-glow-after {
  from {
    box-shadow: 0 0 0 rgba(74, 222, 128, 0);
  }
  to {
    box-shadow: 0 0 22px rgba(74, 222, 128, 0.35);
  }
}
@media (prefers-color-scheme: dark) {
  .tag--animated {
    animation: tag-float 3s ease-in-out infinite alternate, tag-glow-dark 3s ease-in-out infinite alternate;
    animation-delay: -1.5s, -1.5s;
  }
  @keyframes tag-glow-dark {
    from {
      box-shadow: 0 0 0 rgba(74, 222, 128, 0);
    }
    to {
      box-shadow: 0 0 22px rgba(74, 222, 128, 0.38);
    }
  }
  .tag--animated::after {
    animation-name: tag-glow-after-dark;
    animation-delay: -1.5s;
  }
  @keyframes tag-glow-after-dark {
    from {
      box-shadow: 0 0 0 rgba(74, 222, 128, 0);
    }
    to {
      box-shadow: 0 0 26px rgba(74, 222, 128, 0.42);
    }
  }
}
@media (prefers-reduced-motion: reduce) {
  .tag--animated,
  .tag--animated::after {
    animation: none;
  }
}
.cart #cart_item_count {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  min-width: 1.25rem;
  aspect-ratio: 1/1;
  background-color: #2630f5;
  color: #fff;
  border-radius: 50%;
  font-size: clamp(.7rem, calc(1vw + .2rem), .85rem);
  font-style: normal;
  font-weight: 500;
  line-height: 100%;
  position: absolute;
  top: -10%;
  right: -10%;
}

.floating-sidebar {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  gap: 0.5rem;
  height: 6rem;
  position: fixed;
  top: 30%;
  right: 1%;
  overflow: hidden;
  cursor: pointer;
  z-index: 1000;
  transition: width 0.3s ease, height 0.3s ease, transform 0.3s ease, background 0.3s ease-in-out, box-shadow 0.3s ease-in-out, animation 0.3s ease;
  border-radius: 1rem;
  animation: complex-float 4s ease-in-out infinite;
}
.floating-sidebar .floating-image__wrapper {
  width: fit-content;
  height: 100%;
  padding: 0.5rem;
}
.floating-sidebar .floating-image__wrapper .floating-image {
  width: 100%;
  height: 100%;
}
.floating-sidebar .floating-content {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.4rem;
  max-width: 0;
  height: auto;
  color: #fff;
  transition: max-width 0.3s ease-in-out, padding 0.3s ease-in-out;
  padding: 0;
}
.floating-sidebar .floating-content__text-wrapper {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  min-width: 300px;
}
.floating-sidebar .floating-content .floating-title {
  display: block;
  font-family: "DrukWideCyr Medium";
  font-size: 1.5rem;
  color: #FFF;
  font-style: normal;
  font-weight: 500;
  line-height: 110%;
  min-width: 300px;
}
.floating-sidebar .floating-content .floating-text {
  color: #FFF;
  font-family: "Inter Medium";
  font-size: 0.875rem;
  font-style: normal;
  font-weight: 600;
  line-height: 140%;
  letter-spacing: -0.48px;
  width: 100%;
}
@media (hover: hover) and (pointer: fine) {
  .floating-sidebar:hover {
    background: linear-gradient(90deg, rgba(38, 48, 245, 0.25), rgba(183, 201, 255, 0.25), rgba(240, 67, 184, 0.25));
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    animation: none;
  }
  .floating-sidebar:hover .floating-content {
    max-width: 280px;
    transform: rotate(0deg) scale(1);
    padding: 0.5rem;
  }
}
@media (max-width: 1023px) {
  .floating-sidebar {
    display: none;
  }
}
@keyframes complex-float {
  0% {
    transform: translateY(0) scale(1) rotate(0deg);
  }
  25% {
    transform: translateY(-5px) scale(1.05) rotate(5deg);
  }
  50% {
    transform: translateY(0) scale(1) rotate(0deg);
  }
  75% {
    transform: translateY(5px) scale(0.95) rotate(-5deg);
  }
  100% {
    transform: translateY(0) scale(1) rotate(0deg);
  }
}

.entities {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  position: relative;
}
.entities--show-more {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate3d(-50%, 5rem, 0);
}
@media (max-width: 991px) {
  .entities {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .entities--show-more {
    width: 100%;
  }
}
@media (max-width: 769px) {
  .entities--show-more {
    transform: translate3d(-50%, 2rem, 0);
  }
}
@media (max-width: 575px) {
  .entities {
    gap: 1.5rem;
  }
}

.entities__empty {
  width: 100%;
  grid-column: 1/-1;
  justify-self: center;
}

.entity-card, .entity-card--secondary, .entity-card--blue {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  max-width: 100%;
  height: 100%;
  min-height: fit-content;
  border-radius: 24px;
  border: 1px solid transparent;
  cursor: pointer;
  background: rgba(17, 17, 17, 0.2);
  transition: border-color 0.3s ease-in-out;
  position: relative;
  margin-bottom: clamp(0rem, 4vw, 2rem);
  box-sizing: border-box;
}
@media (pointer: coarse) {
  .entity-card .entity-card__overlay, .entity-card--secondary .entity-card__overlay, .entity-card--blue .entity-card__overlay {
    pointer-events: none;
  }
}
.entity-card__badge, .entity-card--secondary__badge, .entity-card--blue__badge {
  position: absolute;
  top: 23.5%;
  right: 2.5%;
  z-index: 4;
  pointer-events: none;
}
@media (max-width: 610px) {
  .entity-card__badge, .entity-card--secondary__badge, .entity-card--blue__badge {
    top: 11%;
  }
}
.entity-card__link, .entity-card--secondary__link, .entity-card--blue__link {
  display: block;
  position: absolute;
  inset: 0;
  z-index: 3;
}
.entity-card__interactive, .entity-card--secondary__interactive, .entity-card--blue__interactive {
  position: relative;
  z-index: 3;
}
.entity-card .entity-card__blur, .entity-card--secondary .entity-card__blur, .entity-card--blue .entity-card__blur {
  display: flex;
  width: 100%;
  height: 82%;
  position: absolute;
  bottom: 0;
  background: rgba(17, 17, 17, 0.2);
  -webkit-backdrop-filter: blur(50px);
  backdrop-filter: blur(50px);
  border-radius: 24px 24px 0 0;
  z-index: -1;
}
.entity-card .entity-card__overlay, .entity-card--secondary .entity-card__overlay, .entity-card--blue .entity-card__overlay {
  display: none;
  position: fixed;
  inset: 0;
  width: 100svw;
  height: 100svh;
  background: rgba(5, 5, 7, 0.2);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
  transition-behavior: allow-discrete;
}
.entity-card__image-container, .entity-card--secondary__image-container, .entity-card--blue__image-container {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: 100%;
  height: clamp(180px, 28vw, 260px);
  margin-top: -10%;
  position: relative;
  box-sizing: border-box;
}
.entity-card__image-container .entity-card__ellipse, .entity-card--secondary__image-container .entity-card__ellipse, .entity-card--blue__image-container .entity-card__ellipse {
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 76.5%;
  max-width: none;
  z-index: -1;
  pointer-events: none;
  user-select: none;
  will-change: transform;
}
.entity-card .image--not, .entity-card--secondary .image--not, .entity-card--blue .image--not {
  background-color: #fff;
}
.entity-card .image--not img, .entity-card--secondary .image--not img, .entity-card--blue .image--not img {
  width: 80%;
  height: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.entity-card__image, .entity-card--secondary__image, .entity-card--blue__image {
  height: 100%;
  width: 100%;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  object-position: bottom;
}
.entity-card__status, .entity-card--secondary__status, .entity-card--blue__status {
  display: flex;
  gap: 1rem;
  position: absolute;
  left: 4%;
  bottom: 8%;
}
.entity-card__info, .entity-card--secondary__info, .entity-card--blue__info {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  flex-grow: 1;
  background: rgba(37, 37, 37, 0.75);
  backdrop-filter: blur(18.5px);
  -webkit-backdrop-filter: blur(18.5px);
  padding: 1rem;
  border-radius: 0 0 24px 24px;
  transition: background-color 0.3s ease-in-out, border-color 0.3s ease-in-out;
  z-index: 2;
  position: relative;
}
.entity-card__info .entity-card__action, .entity-card--secondary__info .entity-card__action, .entity-card--blue__info .entity-card__action {
  margin-top: auto;
  max-width: 100%;
}
.entity-card__stats, .entity-card--secondary__stats, .entity-card--blue__stats {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.entity-card__stat, .entity-card--secondary__stat, .entity-card--blue__stat {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.entity-card__price, .entity-card--secondary__price, .entity-card--blue__price {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.entity-card__price--main, .entity-card__price--discount, .entity-card--secondary__price--main, .entity-card--secondary__price--discount, .entity-card--blue__price--main, .entity-card--blue__price--discount {
  border-radius: 8px;
  padding: 0.625rem 1rem;
}
.entity-card__price--main, .entity-card--secondary__price--main, .entity-card--blue__price--main {
  background-color: #fff;
  color: #030305;
}
.entity-card__price--discount, .entity-card--secondary__price--discount, .entity-card--blue__price--discount {
  background-color: #FF0061;
  color: #fff;
}
.entity-card__price--first, .entity-card--secondary__price--first, .entity-card--blue__price--first {
  text-decoration: line-through;
  opacity: 0.6;
}
.entity-card__name, .entity-card--secondary__name, .entity-card--blue__name {
  display: flex;
  width: 100%;
  -ms-word-wrap: break-word;
  -webkit-word-break: break-word;
  word-wrap: break-word;
  overflow-wrap: break-word;
  hyphens: auto;
}
.entity-card__age, .entity-card--secondary__age, .entity-card--blue__age {
  display: flex;
  align-items: center;
  gap: 0.4rem;
}
.entity-card__age__title, .entity-card--secondary__age__title, .entity-card--blue__age__title {
  margin-bottom: 0;
}
.entity-card__age__list, .entity-card--secondary__age__list, .entity-card--blue__age__list {
  display: flex;
  flex-direction: column;
  gap: 0.7rem;
  margin: 0;
  padding: 0;
}
.entity-card__age__list-item, .entity-card--secondary__age__list-item, .entity-card--blue__age__list-item {
  display: flex;
  gap: 0.5rem;
  list-style-type: none;
}
.entity-card .entity__controls--frame, .entity-card--secondary .entity__controls--frame, .entity-card--blue .entity__controls--frame {
  margin-top: auto;
}
.entity-card .entity__controls--frame .entity__action--in-cart, .entity-card--secondary .entity__controls--frame .entity__action--in-cart, .entity-card--blue .entity__controls--frame .entity__action--in-cart {
  padding: 3%;
}
.entity-card .course-card__popover, .entity-card--secondary .course-card__popover, .entity-card--blue .course-card__popover {
  position: absolute;
  left: calc(100% + 1rem);
  bottom: 50%;
  transform: translateY(8px) scale(0.98);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  z-index: 1001;
  box-sizing: border-box;
  width: 32vw;
  max-width: 460px;
  max-height: 70vh;
  overflow: hidden;
  margin-right: env(safe-area-inset-right, 16px);
  border-radius: 20px;
  background: #8645D2;
  color: #fff;
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.35);
  word-wrap: break-word;
  overflow-wrap: break-word;
  hyphens: auto;
  transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
  will-change: transform, opacity;
}
.entity-card .course-card__popover > *, .entity-card--secondary .course-card__popover > *, .entity-card--blue .course-card__popover > * {
  display: block;
  width: 100%;
}
.entity-card .course-card__popover .btn-app, .entity-card .course-card__popover .btn-blue--soft, .entity-card .course-card__popover .btn-dark--glass, .entity-card .course-card__popover .btn-dark--glass-outline, .entity-card--secondary .course-card__popover .btn-app, .entity-card--secondary .course-card__popover .btn-blue--soft, .entity-card--secondary .course-card__popover .btn-dark--glass, .entity-card--secondary .course-card__popover .btn-dark--glass-outline, .entity-card--blue .course-card__popover .btn-app, .entity-card--blue .course-card__popover .btn-blue--soft, .entity-card--blue .course-card__popover .btn-dark--glass, .entity-card--blue .course-card__popover .btn-dark--glass-outline {
  padding: 0.5rem 0.75rem;
  max-width: 100%;
  white-space: normal;
}
.entity-card .course-card__popover .tag__primary, .entity-card--secondary .course-card__popover .tag__primary, .entity-card--blue .course-card__popover .tag__primary {
  padding: 0.5rem 0.75rem;
  max-width: 100%;
  white-space: normal;
}
.entity-card .course-card__popover ul, .entity-card--secondary .course-card__popover ul, .entity-card--blue .course-card__popover ul {
  padding-left: 1.5rem;
}
.entity-card .course-card__popover .entity-card__panel, .entity-card--secondary .course-card__popover .entity-card__panel, .entity-card--blue .course-card__popover .entity-card__panel {
  display: grid;
  grid-template-rows: 1fr auto;
  height: 100%;
  max-height: inherit;
}
.entity-card .course-card__popover .entity-card__panel-inner, .entity-card--secondary .course-card__popover .entity-card__panel-inner, .entity-card--blue .course-card__popover .entity-card__panel-inner {
  display: contents;
}
.entity-card .course-card__popover .entity-card__panel-scroll, .entity-card--secondary .course-card__popover .entity-card__panel-scroll, .entity-card--blue .course-card__popover .entity-card__panel-scroll {
  overflow: auto;
  padding: 1rem 1.25rem 0.75rem;
  max-height: inherit;
}
.entity-card .course-card__popover .entity-card__section:not(:first-child), .entity-card--secondary .course-card__popover .entity-card__section:not(:first-child), .entity-card--blue .course-card__popover .entity-card__section:not(:first-child) {
  margin-top: 1rem;
}
.entity-card .course-card__popover .entity-card__section-title, .entity-card--secondary .course-card__popover .entity-card__section-title, .entity-card--blue .course-card__popover .entity-card__section-title {
  font-weight: 800;
  font-size: 16px;
  margin: 0 0 0.5rem;
}
.entity-card .course-card__popover .entity-card__section-content, .entity-card--secondary .course-card__popover .entity-card__section-content, .entity-card--blue .course-card__popover .entity-card__section-content {
  font-size: 14px;
  line-height: 1.5;
}
.entity-card .course-card__popover .entity-card__cta, .entity-card--secondary .course-card__popover .entity-card__cta, .entity-card--blue .course-card__popover .entity-card__cta {
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 0.5rem;
  max-width: 100%;
  margin-top: 1rem;
}
.entity-card .course-card__popover .entity-card__cta .btn-app, .entity-card .course-card__popover .entity-card__cta .btn-blue--soft, .entity-card .course-card__popover .entity-card__cta .btn-dark--glass, .entity-card .course-card__popover .entity-card__cta .btn-dark--glass-outline, .entity-card--secondary .course-card__popover .entity-card__cta .btn-app, .entity-card--secondary .course-card__popover .entity-card__cta .btn-blue--soft, .entity-card--secondary .course-card__popover .entity-card__cta .btn-dark--glass, .entity-card--secondary .course-card__popover .entity-card__cta .btn-dark--glass-outline, .entity-card--blue .course-card__popover .entity-card__cta .btn-app, .entity-card--blue .course-card__popover .entity-card__cta .btn-blue--soft, .entity-card--blue .course-card__popover .entity-card__cta .btn-dark--glass, .entity-card--blue .course-card__popover .entity-card__cta .btn-dark--glass-outline {
  max-width: 100%;
  white-space: normal;
  text-align: center;
}
.entity-card .course-card__popover.position-right, .entity-card--secondary .course-card__popover.position-right, .entity-card--blue .course-card__popover.position-right {
  left: calc(100% + 16px);
  right: auto;
}
.entity-card .course-card__popover.position-left, .entity-card--secondary .course-card__popover.position-left, .entity-card--blue .course-card__popover.position-left {
  right: calc(100% + 16px);
  left: auto;
}
@media (hover: hover) and (pointer: fine) {
  .entity-card:hover, .entity-card--secondary:hover, .entity-card--blue:hover {
    border-color: #2630f5;
    z-index: 10000;
  }
}
.entity-card.is-active, .entity-card--secondary.is-active, .entity-card--blue.is-active {
  border-color: #2630f5;
  z-index: 10000;
}
.entity-card.is-active .entity-card__overlay, .entity-card--secondary.is-active .entity-card__overlay, .entity-card--blue.is-active .entity-card__overlay {
  display: block;
  opacity: 1;
  pointer-events: auto;
}
.entity-card.is-active .entity-card__info, .entity-card.is-active .course-card__info, .entity-card--secondary.is-active .entity-card__info, .entity-card--secondary.is-active .course-card__info, .entity-card--blue.is-active .entity-card__info, .entity-card--blue.is-active .course-card__info {
  border-top-color: #2630f5;
  background-color: rgba(38, 48, 245, 0.2);
}
.entity-card.is-active .course-card__popover, .entity-card--secondary.is-active .course-card__popover, .entity-card--blue.is-active .course-card__popover {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0) scale(1);
}
@media (min-width: 1200px) {
  .entity-card, .entity-card--secondary, .entity-card--blue {
    min-height: 410px;
  }
  .entity-card__image, .entity-card--secondary__image, .entity-card--blue__image {
    height: 100%;
  }
}
@media (max-width: 991px) {
  .entity-card__price--main, .entity-card__price--discount, .entity-card--secondary__price--main, .entity-card--secondary__price--discount, .entity-card--blue__price--main, .entity-card--blue__price--discount {
    padding: 0.5rem;
  }
  .entity-card .entity__controls form .entity__action, .entity-card--secondary .entity__controls form .entity__action, .entity-card--blue .entity__controls form .entity__action {
    padding: 9% 0;
  }
  .entity-card .course-card__popover, .entity-card--secondary .course-card__popover, .entity-card--blue .course-card__popover {
    position: fixed;
    left: 50%;
    top: 50%;
    right: auto;
    bottom: auto;
    transform: translate(-50%, -50%) scale(0.98);
    width: 92vw;
    max-width: 520px;
    max-height: 80vh;
    margin: 0;
    border-radius: 16px;
  }
  .entity-card.is-active .course-card__popover, .entity-card--secondary.is-active .course-card__popover, .entity-card--blue.is-active .course-card__popover {
    transform: translate(-50%, -50%) scale(1);
  }
}
@media (max-width: 769px) {
  .entity-card__info, .entity-card--secondary__info, .entity-card--blue__info {
    padding: 1rem;
  }
}
@media (max-width: 620px) {
  .entity-card__image-container, .entity-card--secondary__image-container, .entity-card--blue__image-container {
    height: clamp(200px, 40vw, 300px);
    margin-top: -6%;
  }
}
@media (max-width: 575px) {
  .entity-card__price--main, .entity-card__price--discount, .entity-card--secondary__price--main, .entity-card--secondary__price--discount, .entity-card--blue__price--main, .entity-card--blue__price--discount {
    padding: 0.25rem 0.375rem;
  }
}

.entity-card--blue--course .entity-card__info {
  background: rgba(37, 37, 37, 0.75);
  -webkit-backdrop-filter: blur(18.5px);
  backdrop-filter: blur(18.5px);
}

.entity-card--blue {
  background: rgba(37, 37, 37, 0.75);
  -webkit-backdrop-filter: blur(18.5px);
  backdrop-filter: blur(18.5px);
  border: 0;
  overflow: hidden;
  min-height: fit-content;
}
.entity-card--blue .entity-card__image-container {
  margin-top: 0;
  height: clamp(200px, 40vw, 320px);
}
.entity-card--blue .entity-card__image-container .entity-card__image {
  object-fit: contain;
}
.entity-card--blue .entity-card__image-container:not(.image--not) .entity-card__image {
  object-fit: cover;
}
.entity-card--blue .entity-card__info {
  background: transparent;
  border: 0;
}

.entity-card--primary {
  display: grid;
  grid-template-rows: repeat(2, 1fr);
  justify-content: initial;
  overflow: hidden;
  margin-bottom: 0;
}
.entity-card--primary .entity-card__image-container {
  background-color: #fff;
  height: 100%;
  margin: 0;
  padding: 0;
}
.entity-card--primary .entity-card__image-container .entity-card__image {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-width: 100%;
  max-height: 100%;
}
.entity-card--primary .entity-card__info {
  gap: 0.625rem;
  padding: 1.875rem;
  margin-top: 0;
}
@media (max-width: 1280px) {
  .entity-card--primary .entity-card__info {
    padding: 1rem;
  }
}
@media (max-width: 769px) {
  .entity-card--primary .entity-card__info {
    padding: 0.75rem;
  }
}

.entity-card.online {
  border-color: #FF7A00;
}
@media (hover: hover) and (pointer: fine) {
  .entity-card.online:hover {
    border-color: #FF7A00;
  }
  .entity-card.online:hover .ellipse {
    opacity: 1;
  }
  .entity-card.online:hover .course-card__info, .entity-card.online:hover .entity-card__info {
    border-top-color: #FF7A00;
    background-color: rgba(255, 122, 0, 0.2);
  }
}

.entity-card--secondary .entity-card__info {
  background-color: #fff;
}
.entity-card--secondary .entity-card__info h3, .entity-card--secondary .entity-card__info span {
  color: #030305;
}

.entity-list__items {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  flex: 1 1 auto;
  max-height: 100%;
  margin-inline: -2rem;
  overflow-y: auto;
}
.entity-list__items .entity-list__item {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  align-items: center;
  gap: 1rem;
  list-style-type: none;
  cursor: pointer;
  transition: background-color 0.3s ease-in-out;
  margin-left: -2rem;
  padding: 1rem 2rem 1rem 4rem;
}
.entity-list__items .entity-list__item * {
  color: #fff;
}
@media (hover: hover) and (pointer: fine) {
  .entity-list__items .entity-list__item:hover {
    background: rgba(38, 48, 245, 0.3);
  }
}
.entity-list__items .entity-list__item .entity-list__label {
  display: flex;
  align-items: center;
  gap: 1rem;
  grid-column: 1;
}
.entity-list__items .entity-list__item .entity-list__info {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.entity-list__items .entity-list__item .entity-list__avatar {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  grid-column: 1/4;
}
.entity-list__items .entity-list__item .entity-list__metrics {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  align-items: center;
  gap: 3.75rem;
  grid-column: 4/5;
}
.entity-list__items .entity-list__item .entity-list__metric {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.entity-list__items .entity-list__item .entity-list__detail--email {
  grid-column: 1;
}
.entity-list__items .entity-list__item .entity-list__detail--phone {
  grid-column: 2;
}
.entity-list__items .entity-list__item .entity-list__actions {
  display: flex;
  justify-content: flex-end;
  gap: clamp(0.75rem, 4vw, 1rem);
  grid-column: 6;
}
.entity-list__items .entity-list__item .entity-list__actions button {
  background-color: transparent;
  outline: none;
  border: 0;
}

@media (hover: none) and (pointer: coarse) {
  .entity-card.is-active .course-card__popover {
    display: none;
    visibility: hidden;
    pointer-events: none;
  }
  .entity-card.is-active .entity-card__overlay {
    display: none;
    opacity: 0;
    pointer-events: none;
  }
}
@media (max-width: 991px) {
  .entity-card.is-active .course-card__popover {
    display: none;
    visibility: hidden;
    pointer-events: none;
  }
  .entity-card.is-active .entity-card__overlay {
    display: none;
    opacity: 0;
    pointer-events: none;
  }
}
.entity__controls--frame, .entity__controls--frame.primary {
  width: 100%;
}
.entity__controls--frame .entity__action--in-cart, .entity__controls--frame.primary .entity__action--in-cart {
  width: 100%;
}
.entity__controls--frame .entity__controls, .entity__controls--frame.primary .entity__controls {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: stretch;
  border: 1px solid #fff;
  border-radius: 6.25rem;
  overflow: hidden;
  width: 100%;
}
.entity__controls--frame .entity__controls form, .entity__controls--frame.primary .entity__controls form {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  flex: 0 1 75%;
  height: 100%;
  min-height: 100%;
  background-color: rgba(255, 255, 255, 0.1);
}
.entity__controls--frame .entity__controls form .entity__action, .entity__controls--frame.primary .entity__controls form .entity__action {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  outline: none;
  background-color: transparent;
  border: 0;
  color: #fff;
  width: 100%;
  height: 100%;
  padding: calc(9% + 1px) 0;
}
.entity__controls--frame .entity__controls form .entity__action .icon, .entity__controls--frame.primary .entity__controls form .entity__action .icon {
  height: 100%;
}
.entity__controls--frame .entity__controls .entity__quantity, .entity__controls--frame.primary .entity__controls .entity__quantity {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: center;
  flex: 0 1 100%;
  background-color: #fff;
  height: 100%;
  padding: 3% 0;
}
@media (max-width: 1200px) {
  .entity__controls--frame .entity__action--in-cart, .entity__controls--frame.primary .entity__action--in-cart {
    padding: 4% 10%;
  }
}
@media (max-width: 768px) {
  .entity__controls--frame .entity__in-cart, .entity__controls--frame.primary .entity__in-cart {
    padding: 5% 10%;
  }
}

.entity__controls--frame.primary {
  width: fit-content;
  min-width: 8rem;
}
@media (max-width: 768px) {
  .entity__controls--frame.primary {
    min-width: 6rem;
  }
}

@media (hover: hover) and (pointer: fine) {
  .entity-card:hover .entity-card__popover.position-right {
    transform: scale(1);
  }
  .entity-card:hover .entity-card__popover.position-left {
    transform: scale(1);
  }
}
.entity-card__popover {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 1.4rem;
  color: #fff;
  background-color: #2630f5;
  backdrop-filter: blur(40px);
  -webkit-backdrop-filter: blur(40px);
  position: absolute;
  z-index: 2;
  overflow: hidden;
  transform-origin: bottom left;
  padding: 1.5rem;
  transition: transform 0.3s ease-in-out;
  width: 60%;
  font-family: "Inter Regular";
  font-size: 17px;
  font-style: normal;
  font-weight: 400;
  line-height: 140%;
}
.entity-card__popover.position-right {
  border-radius: 1.75rem 1.75rem 1.75rem 0;
  transform: scale(0);
}
.entity-card__popover.position-left {
  border-radius: 1.75rem 1.75rem 0 1.75rem;
  transform: scale(0);
}

.toast {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  padding-block: 1rem;
  background-color: #242C32;
  position: fixed;
  bottom: 2%;
  right: -150%;
  transition: right 0.3s ease-in-out;
  z-index: 100000;
  box-shadow: 0 16px 24px 0 rgba(0, 0, 0, 0.14), 0 6px 30px 0 rgba(0, 0, 0, 0.12), 0 8px 10px 0 rgba(0, 0, 0, 0.2);
  border-radius: 0.5rem;
  overflow: hidden;
}
.toast__close {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  position: absolute;
  top: 0.25rem;
  right: 0.25rem;
  width: 1rem;
  height: 1rem;
  border-radius: 50%;
  background-color: rgba(0, 0, 0, 0.6);
  cursor: pointer;
}
.toast__close::before, .toast__close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 2px;
  height: 0.6rem;
  background-color: #fff;
  transform-origin: center;
}
.toast__close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.toast__close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.toast__icon {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding-inline: 1rem;
}
.toast__icon--background {
  position: absolute;
  width: 212px;
  height: 212px;
  border-radius: 50%;
  pointer-events: none;
  opacity: 0.12;
}
.toast__content {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  padding-right: 1rem;
}
.toast__title {
  font-size: clamp(1rem, calc(2vw + 1rem), 1.125rem);
  font-style: normal;
  font-weight: 700;
  line-height: 1.375rem;
  letter-spacing: -0.408px;
}
.toast__title, .toast__description {
  color: #fff;
}
.toast__progress {
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  height: 4px;
  background-color: rgba(255, 255, 255, 0.7);
  transform-origin: left;
  transform: scaleX(1);
}
.toast--visible {
  right: 2rem;
}
.toast--success .toast__icon--background {
  background: radial-gradient(circle closest-side at center, rgb(52, 199, 89) 0%, rgba(0, 237, 123, 0) 100%);
}
.toast--success .toast__progress {
  background-color: rgb(52, 199, 89);
}
.toast--warning .toast__icon--background {
  background: radial-gradient(circle closest-side at center, rgb(255, 210, 31) 0%, rgba(0, 237, 123, 0) 100%);
}
.toast--warning .toast__progress {
  background-color: rgb(255, 210, 31);
}
.toast--error .toast__icon--background {
  background: radial-gradient(circle closest-side at center, rgb(240, 67, 73) 0%, rgba(0, 237, 123, 0) 100%);
}
.toast--error .toast__progress {
  background-color: rgb(240, 67, 73);
}

.notifications {
  position: relative;
  z-index: 1;
}
.notifications__toggle {
  width: 2rem;
  height: 2rem;
  aspect-ratio: 1;
}
.notifications__toggle .icon {
  width: 100%;
  height: 100%;
}
.notifications--down .notifications__list {
  top: 100%;
  transform-origin: top;
}
.notifications--up .notifications__list {
  bottom: 100%;
  transform-origin: bottom;
}
.notifications--sm .notifications__toggle {
  width: 1.75rem;
  height: 1.75rem;
}
.notifications--sm .notifications__icon {
  width: 1.125rem;
  height: 1.125rem;
}
.notifications--sm .notifications__badge {
  top: -0.5rem;
  right: -0.5rem;
  min-width: 1.1rem;
  height: 1.1rem;
  padding: 0 0.25rem;
  font-size: 0.75rem;
  line-height: 1.1rem;
}
.notifications--lg .notifications__toggle {
  width: 2.5rem;
  height: 2.5rem;
}
.notifications--lg .notifications__icon {
  width: 1.5rem;
  height: 1.5rem;
}
.notifications--lg .notifications__badge {
  top: -0.65rem;
  right: -0.65rem;
}
.notifications--plain .notifications__toggle {
  background-color: transparent;
}
.notifications--dot .notifications__toggle {
  background-color: #FF7A00;
}
.notifications--dot-blue .notifications__toggle {
  background-color: #2630f5;
}
.notifications--badge-orange .notifications__badge {
  background: #FF7A00;
  color: #fff;
}
.notifications--badge-blue .notifications__badge {
  background: #2630f5;
  color: #fff;
}
.notifications__toggle {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  position: relative;
  cursor: pointer;
  border-radius: 100px;
  background-color: transparent;
}
.notifications__icon {
  height: 100%;
  display: block;
  aspect-ratio: 1/1;
}
.notifications__header {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-height: 56px;
  padding: 16px 16px 10px;
  font-weight: 800;
  font-size: 1.125rem;
  color: #fff;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.notifications__title {
  line-height: 1.2;
}
.notifications__close {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 36px;
  height: 36px;
  position: relative;
  border-radius: 10px;
  cursor: pointer;
  outline: none;
}
.notifications__close:focus-visible {
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.35);
}
.notifications__close::before, .notifications__close::after {
  content: "";
  position: absolute;
  width: 16px;
  height: 2px;
  background: rgba(255, 255, 255, 0.85);
  border-radius: 2px;
  transition: background 0.15s ease-out;
}
.notifications__close::before {
  transform: rotate(45deg);
}
.notifications__close::after {
  transform: rotate(-45deg);
}
@media (hover: hover) and (pointer: fine) {
  .notifications__close:hover::before, .notifications__close:hover::after {
    background: #fff;
  }
}
.notifications__list {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  position: absolute;
  width: 540px;
  max-height: 720px;
  list-style: none;
  border-radius: 1.75rem;
  background: #252525;
  box-shadow: 0 8px 24px 4px rgba(0, 0, 0, 0.25);
  backdrop-filter: blur(10px);
  opacity: 0;
  overflow: hidden;
  pointer-events: none;
  transform: translateY(0.5rem) scale(0.98);
  transition: opacity 0.18s ease-out, transform 0.18s ease-out, visibility 0s linear 0.18s;
  z-index: 1000;
}
.notifications__list--items {
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, 0.35) transparent;
}
.notifications__list--items::-webkit-scrollbar {
  width: 4px;
}
.notifications__list--items::-webkit-scrollbar-track {
  background: transparent;
}
.notifications__list--items::-webkit-scrollbar-thumb {
  background-color: rgba(255, 255, 255, 0.35);
  border-radius: 999px;
}
.notifications__list--items::-webkit-scrollbar-thumb:hover {
  background-color: rgba(255, 255, 255, 0.55);
}
.notifications__list--visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0) scale(1);
  transition: opacity 0.18s ease-out, transform 0.18s ease-out;
}
.notifications.notifications--down.notifications--align-left .notifications__list {
  left: 0;
  right: auto;
}
.notifications.notifications--down.notifications--align-right .notifications__list {
  right: 0;
  left: auto;
}
.notifications__empty {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: #fff;
  padding: 12px 16px;
}
.notifications .notification {
  position: relative;
  transition: background 0.3s ease-in-out;
  border-bottom: 2.5px solid rgba(158, 149, 149, 0.2196078431);
}
.notifications .notification * {
  color: #fff;
}
.notifications .notification:last-child {
  border-bottom: 0;
}
@media (hover: hover) and (pointer: fine) {
  .notifications .notification:hover {
    background-color: rgba(38, 48, 245, 0.2);
  }
}
.notifications .notification--unread::after {
  content: "";
  width: 0.55rem;
  aspect-ratio: 1;
  border-radius: 100px;
  background-color: #2630f5;
  position: absolute;
  top: 1rem;
  right: 1rem;
}
.notifications .notification__body, .notifications .notification__link {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  width: 100%;
  padding: 1rem 1.8125rem;
  gap: 1.3125rem;
  text-decoration: none;
  color: inherit;
}
.notifications__backdrop {
  position: fixed;
  inset: 0;
  z-index: 999;
  opacity: 0;
  pointer-events: none;
  display: none;
  transition: opacity 0.2s ease-out;
}
.notifications__list--visible ~ .notifications__backdrop {
  display: block;
  opacity: 1;
  pointer-events: all;
}
@media (max-width: 1023px) {
  .notifications--down .notifications__list {
    top: 0;
  }
  .notifications__list {
    position: fixed;
    inset: 0;
    z-index: 1000;
    width: 100vw;
    max-height: none;
    border: none;
    border-radius: 0;
    overflow-y: auto;
    background: radial-gradient(110% 110% at 20% 10%, #5b4b9a 0%, #2a2a73 40%, #1e1e5e 100%);
    color: #fff;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-100%);
    transition: transform 0.28s ease-out, opacity 0.28s ease-out, visibility 0s linear 0.28s;
  }
  .notifications__list--visible {
    height: 100svh;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
    transition: transform 0.28s ease-out, opacity 0.28s ease-out;
  }
  .notifications__header {
    position: sticky;
    top: 0;
    z-index: 1;
    padding: 16px 14px 8px;
    background: transparent;
    box-shadow: 0 2px 0 0 rgba(255, 255, 255, 0.06);
    font-size: 20px;
  }
}

.points-toast {
  position: fixed;
  left: 50%;
  bottom: 140px;
  transform: translateX(-50%);
  z-index: 99999999;
  pointer-events: none;
  opacity: 0;
  background: transparent;
  overflow: visible;
}

.points-toast__blob {
  transform-box: fill-box;
  transform-origin: 50% 50%;
  transform: rotate(-3deg);
}

/* тень/ореол под жетоном */
.points-toast::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 340px;
  height: 180px;
  transform: translateX(-50%);
  background: radial-gradient(ellipse at 50% 100%, rgba(138, 54, 255, 0.95) 0, rgba(22, 0, 52, 0) 70%);
  filter: blur(22px);
  opacity: 0;
}

/* сам SVG */
.points-toast__svg {
  width: 220px;
  height: 220px;
  display: block;
  filter: drop-shadow(0 26px 46px rgba(43, 0, 95, 0.9));
  overflow: visible;
}

/* внешнее кольцо */
.points-toast__ring {
  fill: none;
  stroke: url(#ringGradient);
  stroke-width: 18;
  stroke-linejoin: round;
  filter: drop-shadow(0 0 8px rgba(255, 180, 255, 0.9)) drop-shadow(0 0 22px rgba(255, 80, 220, 0.9)) drop-shadow(0 0 44px rgba(130, 70, 255, 0.9));
}

/* внутренняя тёмная часть */
.points-toast__inner {
  fill: url(#innerGradient);
  filter: drop-shadow(0 0 18px rgba(0, 0, 0, 0.9)) drop-shadow(0 0 32px rgba(82, 0, 140, 0.7));
}

/* цифра */
.points-toast__text {
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "SF Pro Display", sans-serif;
  font-weight: 800;
  font-size: 72px;
  fill: #fff;
  paint-order: stroke;
  stroke: rgba(255, 255, 255, 0.55);
  stroke-width: 1.5px;
  text-shadow: 0 0 6px rgba(255, 255, 255, 0.9), 0 0 24px rgba(255, 120, 255, 0.95), 0 0 40px rgba(130, 68, 255, 0.95);
}

/* === СОСТОЯНИЕ "ПОКАЗАТЬ" === */
.points-toast--visible {
  animation: points-token-pop 1.9s ease-out forwards;
}

.points-toast--visible::before {
  animation: points-token-shadow 1.9s ease-out forwards;
}

.points-toast--visible .points-toast__ring {
  animation: points-token-glow 1.9s ease-out forwards;
}

/* анимация вылета/прыжка/затухания */
@keyframes points-token-pop {
  0% {
    opacity: 0;
    transform: translate(-50%, 40px) scale(0.45);
    filter: blur(4px);
  }
  18% {
    opacity: 1;
    transform: translate(-50%, 0) scale(1.06);
    filter: blur(0);
  }
  34% {
    transform: translate(-50%, -6px) scale(1);
  }
  65% {
    opacity: 1;
    transform: translate(-50%, -10px) scale(1);
  }
  100% {
    opacity: 0;
    transform: translate(-50%, -46px) scale(0.9);
  }
}
@keyframes points-token-shadow {
  0% {
    opacity: 0;
    transform: translate(-50%, 20px) scale(0.7);
  }
  20% {
    opacity: 1;
    transform: translate(-50%, 0) scale(1);
  }
  60% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: translate(-50%, -10px) scale(0.9);
  }
}
/* короткая вспышка контура */
@keyframes points-token-glow {
  0% {
    filter: drop-shadow(0 0 0 rgba(255, 180, 255, 0)) drop-shadow(0 0 0 rgba(255, 80, 220, 0)) drop-shadow(0 0 0 rgba(130, 70, 255, 0));
  }
  20% {
    filter: drop-shadow(0 0 10px rgb(255, 180, 255)) drop-shadow(0 0 26px rgb(255, 80, 220)) drop-shadow(0 0 46px rgb(130, 70, 255));
  }
  60% {
    filter: drop-shadow(0 0 6px rgba(255, 180, 255, 0.8)) drop-shadow(0 0 18px rgba(255, 80, 220, 0.8)) drop-shadow(0 0 32px rgba(130, 70, 255, 0.8));
  }
  100% {
    filter: drop-shadow(0 0 0 rgba(255, 180, 255, 0)) drop-shadow(0 0 0 rgba(255, 80, 220, 0)) drop-shadow(0 0 0 rgba(130, 70, 255, 0));
  }
}
/* адаптив под твой чат */
@media (max-width: 768px) {
  .points-toast {
    bottom: 120px;
  }
  .points-toast__svg {
    width: 190px;
    height: 190px;
  }
  .points-toast__text {
    font-size: 60px;
  }
}
@media (max-width: 480px) {
  .points-toast {
    bottom: 110px;
  }
  .points-toast__svg {
    width: 170px;
    height: 170px;
  }
  .points-toast__text {
    font-size: 50px;
  }
}
.form-theme--white, .form--white {
  --form-label-color: #111111;
  --form-hint-color: rgba(17, 17, 17, 0.55);
  --form-field-bg: #ffffff;
  --form-field-bg-hover: #ffffff;
  --form-field-text: #111111;
  --form-field-border: rgba(17, 17, 17, 0.12);
  --form-field-border-hover: rgba(17, 17, 17, 0.20);
  --form-placeholder-color: rgba(17, 17, 17, 0.45);
  --form-autofill-bg: #ffffff;
  --form-autofill-text: #111111;
  --form-field-backdrop: none;
}

.form-theme--dark, .form--dark {
  --form-label-color: #ffffff;
  --form-hint-color: rgba(176, 183, 201, 0.55);
  --form-field-bg: rgba(255, 255, 255, 0.06);
  --form-field-bg-hover: rgba(255, 255, 255, 0.08);
  --form-field-text: #ffffff;
  --form-field-border: rgba(255, 255, 255, 0.16);
  --form-field-border-hover: rgba(255, 255, 255, 0.24);
  --form-placeholder-color: rgba(255, 255, 255, 0.45);
  --form-autofill-bg: #201E48;
  --form-autofill-text: #ffffff;
}

.form-theme--glass-light, .form--glass-light {
  --form-label-color: #111111;
  --form-hint-color: rgba(17, 17, 17, 0.55);
  --form-field-bg: rgba(255, 255, 255, 0.55);
  --form-field-bg-hover: rgba(255, 255, 255, 0.65);
  --form-field-text: #111111;
  --form-field-border: rgba(255, 255, 255, 0.55);
  --form-field-border-hover: rgba(255, 255, 255, 0.75);
  --form-placeholder-color: rgba(17, 17, 17, 0.45);
  --form-autofill-bg: rgba(255, 255, 255, 0.55);
  --form-autofill-text: #111111;
  --form-field-backdrop: blur(var(--form-glass-blur));
}

.form-theme--glass-dark, .form--glass-dark {
  --form-label-color: #ffffff;
  --form-hint-color: rgba(176, 183, 201, 0.55);
  --form-field-bg: rgba(0, 0, 0, 0.28);
  --form-field-bg-hover: rgba(0, 0, 0, 0.34);
  --form-field-text: #ffffff;
  --form-field-border: rgba(255, 255, 255, 0.16);
  --form-field-border-hover: rgba(255, 255, 255, 0.24);
  --form-placeholder-color: rgba(255, 255, 255, 0.48);
  --form-autofill-bg: rgba(0, 0, 0, 0.28);
  --form-autofill-text: #ffffff;
  --form-field-backdrop: blur(var(--form-glass-blur));
}

.form-theme--transparent, body.profiles, .profiles, #profile.profile, .profile, .form--transparent {
  --form-label-color: inherit;
  --form-hint-color: rgba(176, 183, 201, 0.55);
  --form-field-bg: transparent;
  --form-field-bg-hover: rgba(255, 255, 255, 0.04);
  --form-field-text: inherit;
  --form-field-border: rgba(176, 183, 201, 0.25);
  --form-field-border-hover: rgba(176, 183, 201, 0.40);
  --form-placeholder-color: rgba(176, 183, 201, 0.55);
  --form-autofill-bg: transparent;
  --form-autofill-text: inherit;
  --form-field-backdrop: none;
  --form-dropzone-border: rgba(176, 183, 201, 0.35);
  --form-dropzone-border-hover: rgba(176, 183, 201, 0.55);
  --form-dropzone-bg: rgba(255, 255, 255, 0.02);
  --form-dropzone-bg-hover: rgba(255, 255, 255, 0.05);
  --form-dropzone-hover-shadow: 0 0 0 3px rgba(255, 255, 255, 0.06) inset;
}

body.profiles, .profiles, #profile.profile, .profile {
  --form-control-min-height: 44px;
  --form-control-radius: 12px;
  --form-control-padding-y: .625rem;
  --form-control-padding-x: .875rem;
  --form-field-bg: #ffffff;
  --form-field-bg-hover: #ffffff;
  --form-field-text: #111111;
  --form-field-border: rgba(17, 17, 17, 0.12);
  --form-field-border-hover: rgba(17, 17, 17, 0.20);
  --form-placeholder-color: rgba(17, 17, 17, 0.45);
  --form-autofill-bg: #ffffff;
  --form-autofill-text: #111111;
  --form-dropzone-border: rgba(255, 255, 255, 0.26);
  --form-dropzone-border-hover: rgba(255, 255, 255, 0.42);
  --form-dropzone-bg: rgba(255, 255, 255, 0.03);
  --form-dropzone-bg-hover: rgba(255, 255, 255, 0.06);
  --form-dropzone-hover-shadow: 0 0 0 3px rgba(255, 255, 255, 0.07) inset;
}

:root {
  --form-label-color: #ffffff;
  --form-label-font-family: "Inter Regular";
  --form-label-font-size: 17px;
  --form-label-font-weight: 400;
  --form-label-line-height: 140%;
  --form-label-opacity: 1;
  --form-label-letter-spacing: 0;
  --form-hint-color: rgba(176, 183, 201, 0.50);
  --form-field-bg: #ffffff;
  --form-field-bg-hover: #ffffff;
  --form-field-text: #111111;
  --form-field-border: rgba(255, 255, 255, 0.25);
  --form-field-border-hover: rgba(255, 255, 255, 0.35);
  --form-placeholder-color: #8D8D8D;
  --form-error-color: #ef4444;
  --form-error-shadow: 0 0 0 3px rgba(239, 68, 68, 0.12);
  --form-focus-border: rgba(59, 130, 246, 0.65);
  --form-focus-shadow: 0 0 0 3px rgba(59, 130, 246, 0.18);
  --form-control-font-family: "Inter Regular";
  --form-control-font-weight: 400;
  --form-control-font-size: 1.25em;
  --form-control-line-height: 120%;
  --form-control-padding-y: .5rem;
  --form-control-padding-x: .75rem;
  --form-control-radius: 0.75rem;
  --form-control-min-height: unset;
  --form-autofill-bg: #ffffff;
  --form-autofill-text: #111111;
  --form-glass-blur: 14px;
  --form-field-backdrop: none;
}

.c-form,
form.form-modal-primary,
form.form--primary__project {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.c-form .text-hint,
form.form-modal-primary .text-hint,
form.form--primary__project .text-hint {
  color: var(--form-hint-color);
}

.c-form .text-hint,
form.form-modal-primary .text-hint,
form.form--primary__project .text-hint,
form.form-grid .text-hint,
body.profiles form .text-hint {
  color: var(--form-hint-color);
}
.c-form label,
form.form-modal-primary label,
form.form--primary__project label,
form.form-grid label,
body.profiles form label {
  color: var(--form-label-color);
  font-family: var(--form-label-font-family);
  font-size: var(--form-label-font-size);
  font-style: normal;
  font-weight: var(--form-label-font-weight);
  line-height: var(--form-label-line-height);
  opacity: var(--form-label-opacity);
  letter-spacing: var(--form-label-letter-spacing);
}
.c-form select, .c-form input[type=file],
form.form-modal-primary select,
form.form-modal-primary input[type=file],
form.form--primary__project select,
form.form--primary__project input[type=file],
form.form-grid select,
form.form-grid input[type=file],
body.profiles form select,
body.profiles form input[type=file] {
  cursor: pointer;
}
.c-form input[type=text],
.c-form input[type=email],
.c-form input[type=password],
.c-form input[type=tel],
.c-form input[type=url],
.c-form input[type=number],
.c-form textarea,
.c-form select,
form.form-modal-primary input[type=text],
form.form-modal-primary input[type=email],
form.form-modal-primary input[type=password],
form.form-modal-primary input[type=tel],
form.form-modal-primary input[type=url],
form.form-modal-primary input[type=number],
form.form-modal-primary textarea,
form.form-modal-primary select,
form.form--primary__project input[type=text],
form.form--primary__project input[type=email],
form.form--primary__project input[type=password],
form.form--primary__project input[type=tel],
form.form--primary__project input[type=url],
form.form--primary__project input[type=number],
form.form--primary__project textarea,
form.form--primary__project select,
form.form-grid input[type=text],
form.form-grid input[type=email],
form.form-grid input[type=password],
form.form-grid input[type=tel],
form.form-grid input[type=url],
form.form-grid input[type=number],
form.form-grid textarea,
form.form-grid select,
body.profiles form input[type=text],
body.profiles form input[type=email],
body.profiles form input[type=password],
body.profiles form input[type=tel],
body.profiles form input[type=url],
body.profiles form input[type=number],
body.profiles form textarea,
body.profiles form select {
  width: 100%;
  min-height: var(--form-control-min-height);
  padding: var(--form-control-padding-y) var(--form-control-padding-x);
  font-family: var(--form-control-font-family);
  font-weight: var(--form-control-font-weight);
  font-size: var(--form-control-font-size);
  line-height: var(--form-control-line-height);
  color: var(--form-field-text);
  border: 1px solid var(--form-field-border);
  border-radius: var(--form-control-radius);
  background: var(--form-field-bg);
  backdrop-filter: var(--form-field-backdrop);
  -webkit-backdrop-filter: var(--form-field-backdrop);
  outline: none;
  transition: background-color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}
.c-form input[type=text]:focus,
.c-form input[type=email]:focus,
.c-form input[type=password]:focus,
.c-form input[type=tel]:focus,
.c-form input[type=url]:focus,
.c-form input[type=number]:focus,
.c-form textarea:focus,
.c-form select:focus,
form.form-modal-primary input[type=text]:focus,
form.form-modal-primary input[type=email]:focus,
form.form-modal-primary input[type=password]:focus,
form.form-modal-primary input[type=tel]:focus,
form.form-modal-primary input[type=url]:focus,
form.form-modal-primary input[type=number]:focus,
form.form-modal-primary textarea:focus,
form.form-modal-primary select:focus,
form.form--primary__project input[type=text]:focus,
form.form--primary__project input[type=email]:focus,
form.form--primary__project input[type=password]:focus,
form.form--primary__project input[type=tel]:focus,
form.form--primary__project input[type=url]:focus,
form.form--primary__project input[type=number]:focus,
form.form--primary__project textarea:focus,
form.form--primary__project select:focus,
form.form-grid input[type=text]:focus,
form.form-grid input[type=email]:focus,
form.form-grid input[type=password]:focus,
form.form-grid input[type=tel]:focus,
form.form-grid input[type=url]:focus,
form.form-grid input[type=number]:focus,
form.form-grid textarea:focus,
form.form-grid select:focus,
body.profiles form input[type=text]:focus,
body.profiles form input[type=email]:focus,
body.profiles form input[type=password]:focus,
body.profiles form input[type=tel]:focus,
body.profiles form input[type=url]:focus,
body.profiles form input[type=number]:focus,
body.profiles form textarea:focus,
body.profiles form select:focus {
  border-color: var(--form-focus-border);
  box-shadow: var(--form-focus-shadow);
}
@media (hover: hover) and (pointer: fine) {
  .c-form input[type=text]:hover,
  .c-form input[type=email]:hover,
  .c-form input[type=password]:hover,
  .c-form input[type=tel]:hover,
  .c-form input[type=url]:hover,
  .c-form input[type=number]:hover,
  .c-form textarea:hover,
  .c-form select:hover,
  form.form-modal-primary input[type=text]:hover,
  form.form-modal-primary input[type=email]:hover,
  form.form-modal-primary input[type=password]:hover,
  form.form-modal-primary input[type=tel]:hover,
  form.form-modal-primary input[type=url]:hover,
  form.form-modal-primary input[type=number]:hover,
  form.form-modal-primary textarea:hover,
  form.form-modal-primary select:hover,
  form.form--primary__project input[type=text]:hover,
  form.form--primary__project input[type=email]:hover,
  form.form--primary__project input[type=password]:hover,
  form.form--primary__project input[type=tel]:hover,
  form.form--primary__project input[type=url]:hover,
  form.form--primary__project input[type=number]:hover,
  form.form--primary__project textarea:hover,
  form.form--primary__project select:hover,
  form.form-grid input[type=text]:hover,
  form.form-grid input[type=email]:hover,
  form.form-grid input[type=password]:hover,
  form.form-grid input[type=tel]:hover,
  form.form-grid input[type=url]:hover,
  form.form-grid input[type=number]:hover,
  form.form-grid textarea:hover,
  form.form-grid select:hover,
  body.profiles form input[type=text]:hover,
  body.profiles form input[type=email]:hover,
  body.profiles form input[type=password]:hover,
  body.profiles form input[type=tel]:hover,
  body.profiles form input[type=url]:hover,
  body.profiles form input[type=number]:hover,
  body.profiles form textarea:hover,
  body.profiles form select:hover {
    background-color: var(--form-field-bg-hover);
    border-color: var(--form-field-border-hover);
  }
}
.c-form input::placeholder,
.c-form textarea::placeholder,
.c-form select::placeholder,
form.form-modal-primary input::placeholder,
form.form-modal-primary textarea::placeholder,
form.form-modal-primary select::placeholder,
form.form--primary__project input::placeholder,
form.form--primary__project textarea::placeholder,
form.form--primary__project select::placeholder,
form.form-grid input::placeholder,
form.form-grid textarea::placeholder,
form.form-grid select::placeholder,
body.profiles form input::placeholder,
body.profiles form textarea::placeholder,
body.profiles form select::placeholder {
  color: var(--form-placeholder-color);
}
.c-form input:-webkit-autofill,
.c-form input:-webkit-autofill:hover,
.c-form input:-webkit-autofill:focus,
.c-form input[type=password]:-webkit-autofill,
form.form-modal-primary input:-webkit-autofill,
form.form-modal-primary input:-webkit-autofill:hover,
form.form-modal-primary input:-webkit-autofill:focus,
form.form-modal-primary input[type=password]:-webkit-autofill,
form.form--primary__project input:-webkit-autofill,
form.form--primary__project input:-webkit-autofill:hover,
form.form--primary__project input:-webkit-autofill:focus,
form.form--primary__project input[type=password]:-webkit-autofill,
form.form-grid input:-webkit-autofill,
form.form-grid input:-webkit-autofill:hover,
form.form-grid input:-webkit-autofill:focus,
form.form-grid input[type=password]:-webkit-autofill,
body.profiles form input:-webkit-autofill,
body.profiles form input:-webkit-autofill:hover,
body.profiles form input:-webkit-autofill:focus,
body.profiles form input[type=password]:-webkit-autofill {
  -webkit-text-fill-color: var(--form-autofill-text) !important;
  caret-color: var(--form-autofill-text);
  -webkit-box-shadow: 0 0 0 1000px var(--form-autofill-bg) inset !important;
  box-shadow: 0 0 0 1000px var(--form-autofill-bg) inset !important;
  border: 1px solid var(--form-field-border) !important;
  transition: background-color 0s;
}
.c-form .sr-only-file,
form.form-modal-primary .sr-only-file,
form.form--primary__project .sr-only-file,
form.form-grid .sr-only-file,
body.profiles form .sr-only-file {
  position: fixed;
  left: -9999px;
  top: -9999px;
  width: 1px;
  height: 1px;
  opacity: 0;
}
.c-form .error-message,
form.form-modal-primary .error-message,
form.form--primary__project .error-message,
form.form-grid .error-message,
body.profiles form .error-message {
  display: flex;
  align-items: flex-start;
  margin-top: 6px;
}
.c-form .error-message__text,
form.form-modal-primary .error-message__text,
form.form--primary__project .error-message__text,
form.form-grid .error-message__text,
body.profiles form .error-message__text {
  text-align: left;
  font-size: 14px;
  line-height: 1.35;
  color: var(--form-error-color);
}
.c-form .fade-in,
form.form-modal-primary .fade-in,
form.form--primary__project .fade-in,
form.form-grid .fade-in,
body.profiles form .fade-in {
  animation: fieldFadeIn 0.3s ease-out both;
}

@keyframes fieldFadeIn {
  from {
    opacity: 0;
    transform: translateY(-2px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.c-form .btn-app__content .loader-ai,
form.form-modal-primary .btn-app__content .loader-ai,
form.form--primary__project .btn-app__content .loader-ai,
form.form-grid .btn-app__content .loader-ai,
body.profiles form .btn-app__content .loader-ai {
  right: -65%;
}

.c-form .input__wrapper, .c-form .input__wrapper--wrap,
form.form-modal-primary .input__wrapper,
form.form-modal-primary .input__wrapper--wrap,
form.form--primary__project .input__wrapper,
form.form--primary__project .input__wrapper--wrap,
form.form-grid .input__wrapper,
form.form-grid .input__wrapper--wrap {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  row-gap: 0.5rem;
  position: relative;
}
.c-form .input__wrapper .field__wrapper, .c-form .input__wrapper--wrap .field__wrapper,
form.form-modal-primary .input__wrapper .field__wrapper,
form.form-modal-primary .input__wrapper--wrap .field__wrapper,
form.form--primary__project .input__wrapper .field__wrapper,
form.form--primary__project .input__wrapper--wrap .field__wrapper,
form.form-grid .input__wrapper .field__wrapper,
form.form-grid .input__wrapper--wrap .field__wrapper {
  position: relative;
  height: fit-content;
}
.c-form .input__wrapper label, .c-form .input__wrapper--title, .c-form .input__wrapper--wrap label, .c-form .input__wrapper--wrap--title,
form.form-modal-primary .input__wrapper label,
form.form-modal-primary .input__wrapper--title,
form.form-modal-primary .input__wrapper--wrap label,
form.form-modal-primary .input__wrapper--wrap--title,
form.form--primary__project .input__wrapper label,
form.form--primary__project .input__wrapper--title,
form.form--primary__project .input__wrapper--wrap label,
form.form--primary__project .input__wrapper--wrap--title,
form.form-grid .input__wrapper label,
form.form-grid .input__wrapper--title,
form.form-grid .input__wrapper--wrap label,
form.form-grid .input__wrapper--wrap--title {
  text-align: left;
  flex: 0 1 100%;
}
.c-form .input__wrapper .input-row, .c-form .input__wrapper--wrap .input-row,
form.form-modal-primary .input__wrapper .input-row,
form.form-modal-primary .input__wrapper--wrap .input-row,
form.form--primary__project .input__wrapper .input-row,
form.form--primary__project .input__wrapper--wrap .input-row,
form.form-grid .input__wrapper .input-row,
form.form-grid .input__wrapper--wrap .input-row {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  flex: 0 1 calc(80% - 1rem);
}
.c-form .input__wrapper input, .c-form .input__wrapper--wrap input,
form.form-modal-primary .input__wrapper input,
form.form-modal-primary .input__wrapper--wrap input,
form.form--primary__project .input__wrapper input,
form.form--primary__project .input__wrapper--wrap input,
form.form-grid .input__wrapper input,
form.form-grid .input__wrapper--wrap input {
  width: 100%;
  position: relative;
  z-index: 2;
  border: 1px solid var(--form-field-border);
}
.c-form .input__wrapper input::placeholder, .c-form .input__wrapper--wrap input::placeholder,
form.form-modal-primary .input__wrapper input::placeholder,
form.form-modal-primary .input__wrapper--wrap input::placeholder,
form.form--primary__project .input__wrapper input::placeholder,
form.form--primary__project .input__wrapper--wrap input::placeholder,
form.form-grid .input__wrapper input::placeholder,
form.form-grid .input__wrapper--wrap input::placeholder {
  display: flex;
  align-items: center;
  font-size: clamp(0.5rem, 2.5vw, 1rem);
  color: var(--form-placeholder-color);
  font-style: normal;
  font-weight: 400;
  line-height: 140%;
}
.c-form .input__wrapper ::-webkit-input-placeholder, .c-form .input__wrapper--wrap ::-webkit-input-placeholder,
form.form-modal-primary .input__wrapper ::-webkit-input-placeholder,
form.form-modal-primary .input__wrapper--wrap ::-webkit-input-placeholder,
form.form--primary__project .input__wrapper ::-webkit-input-placeholder,
form.form--primary__project .input__wrapper--wrap ::-webkit-input-placeholder,
form.form-grid .input__wrapper ::-webkit-input-placeholder,
form.form-grid .input__wrapper--wrap ::-webkit-input-placeholder {
  display: flex;
  align-items: center;
  font-size: clamp(0.5rem, 2.5vw, 1rem);
  color: var(--form-placeholder-color);
  font-style: normal;
  font-weight: 400;
  line-height: 140%;
}
.c-form .input__wrapper :-moz-placeholder, .c-form .input__wrapper--wrap :-moz-placeholder,
form.form-modal-primary .input__wrapper :-moz-placeholder,
form.form-modal-primary .input__wrapper--wrap :-moz-placeholder,
form.form--primary__project .input__wrapper :-moz-placeholder,
form.form--primary__project .input__wrapper--wrap :-moz-placeholder,
form.form-grid .input__wrapper :-moz-placeholder,
form.form-grid .input__wrapper--wrap :-moz-placeholder {
  display: flex;
  align-items: center;
  font-size: clamp(0.5rem, 2.5vw, 1rem);
  color: var(--form-placeholder-color);
  font-style: normal;
  font-weight: 400;
  line-height: 140%;
}
.c-form .input__wrapper ::-moz-placeholder, .c-form .input__wrapper--wrap ::-moz-placeholder,
form.form-modal-primary .input__wrapper ::-moz-placeholder,
form.form-modal-primary .input__wrapper--wrap ::-moz-placeholder,
form.form--primary__project .input__wrapper ::-moz-placeholder,
form.form--primary__project .input__wrapper--wrap ::-moz-placeholder,
form.form-grid .input__wrapper ::-moz-placeholder,
form.form-grid .input__wrapper--wrap ::-moz-placeholder {
  display: flex;
  align-items: center;
  font-size: clamp(0.5rem, 2.5vw, 1rem);
  color: var(--form-placeholder-color);
  font-style: normal;
  font-weight: 400;
  line-height: 140%;
}
.c-form .input__wrapper :-ms-input-placeholder, .c-form .input__wrapper--wrap :-ms-input-placeholder,
form.form-modal-primary .input__wrapper :-ms-input-placeholder,
form.form-modal-primary .input__wrapper--wrap :-ms-input-placeholder,
form.form--primary__project .input__wrapper :-ms-input-placeholder,
form.form--primary__project .input__wrapper--wrap :-ms-input-placeholder,
form.form-grid .input__wrapper :-ms-input-placeholder,
form.form-grid .input__wrapper--wrap :-ms-input-placeholder {
  display: flex;
  align-items: center;
  font-size: clamp(0.5rem, 2.5vw, 1rem);
  color: var(--form-placeholder-color);
  font-style: normal;
  font-weight: 400;
  line-height: 140%;
}
.c-form .input__wrapper.required label, .c-form .input__wrapper.required .input__wrapper--title, .c-form .input__wrapper--wrap.required label, .c-form .input__wrapper--wrap.required .input__wrapper--title,
form.form-modal-primary .input__wrapper.required label,
form.form-modal-primary .input__wrapper.required .input__wrapper--title,
form.form-modal-primary .input__wrapper--wrap.required label,
form.form-modal-primary .input__wrapper--wrap.required .input__wrapper--title,
form.form--primary__project .input__wrapper.required label,
form.form--primary__project .input__wrapper.required .input__wrapper--title,
form.form--primary__project .input__wrapper--wrap.required label,
form.form--primary__project .input__wrapper--wrap.required .input__wrapper--title,
form.form-grid .input__wrapper.required label,
form.form-grid .input__wrapper.required .input__wrapper--title,
form.form-grid .input__wrapper--wrap.required label,
form.form-grid .input__wrapper--wrap.required .input__wrapper--title {
  color: var(--form-error-color);
}
.c-form .input__wrapper.required .field_with_errors, .c-form .input__wrapper--wrap.required .field_with_errors,
form.form-modal-primary .input__wrapper.required .field_with_errors,
form.form-modal-primary .input__wrapper--wrap.required .field_with_errors,
form.form--primary__project .input__wrapper.required .field_with_errors,
form.form--primary__project .input__wrapper--wrap.required .field_with_errors,
form.form-grid .input__wrapper.required .field_with_errors,
form.form-grid .input__wrapper--wrap.required .field_with_errors {
  width: 100%;
}
.c-form .input__wrapper.required .field_with_errors input, .c-form .input__wrapper--wrap.required .field_with_errors input,
form.form-modal-primary .input__wrapper.required .field_with_errors input,
form.form-modal-primary .input__wrapper--wrap.required .field_with_errors input,
form.form--primary__project .input__wrapper.required .field_with_errors input,
form.form--primary__project .input__wrapper--wrap.required .field_with_errors input,
form.form-grid .input__wrapper.required .field_with_errors input,
form.form-grid .input__wrapper--wrap.required .field_with_errors input {
  width: 100%;
  border-color: var(--form-error-color);
  box-shadow: var(--form-error-shadow);
}
.c-form .input__wrapper.required input::placeholder, .c-form .input__wrapper--wrap.required input::placeholder,
form.form-modal-primary .input__wrapper.required input::placeholder,
form.form-modal-primary .input__wrapper--wrap.required input::placeholder,
form.form--primary__project .input__wrapper.required input::placeholder,
form.form--primary__project .input__wrapper--wrap.required input::placeholder,
form.form-grid .input__wrapper.required input::placeholder,
form.form-grid .input__wrapper--wrap.required input::placeholder {
  color: var(--form-error-color);
}
.c-form .input__wrapper.required ::-webkit-input-placeholder, .c-form .input__wrapper--wrap.required ::-webkit-input-placeholder,
form.form-modal-primary .input__wrapper.required ::-webkit-input-placeholder,
form.form-modal-primary .input__wrapper--wrap.required ::-webkit-input-placeholder,
form.form--primary__project .input__wrapper.required ::-webkit-input-placeholder,
form.form--primary__project .input__wrapper--wrap.required ::-webkit-input-placeholder,
form.form-grid .input__wrapper.required ::-webkit-input-placeholder,
form.form-grid .input__wrapper--wrap.required ::-webkit-input-placeholder {
  color: var(--form-error-color);
}
.c-form .input__wrapper.required :-moz-placeholder, .c-form .input__wrapper--wrap.required :-moz-placeholder,
form.form-modal-primary .input__wrapper.required :-moz-placeholder,
form.form-modal-primary .input__wrapper--wrap.required :-moz-placeholder,
form.form--primary__project .input__wrapper.required :-moz-placeholder,
form.form--primary__project .input__wrapper--wrap.required :-moz-placeholder,
form.form-grid .input__wrapper.required :-moz-placeholder,
form.form-grid .input__wrapper--wrap.required :-moz-placeholder {
  color: var(--form-error-color);
}
.c-form .input__wrapper.required ::-moz-placeholder, .c-form .input__wrapper--wrap.required ::-moz-placeholder,
form.form-modal-primary .input__wrapper.required ::-moz-placeholder,
form.form-modal-primary .input__wrapper--wrap.required ::-moz-placeholder,
form.form--primary__project .input__wrapper.required ::-moz-placeholder,
form.form--primary__project .input__wrapper--wrap.required ::-moz-placeholder,
form.form-grid .input__wrapper.required ::-moz-placeholder,
form.form-grid .input__wrapper--wrap.required ::-moz-placeholder {
  color: var(--form-error-color);
}
.c-form .input__wrapper.required :-ms-input-placeholder, .c-form .input__wrapper--wrap.required :-ms-input-placeholder,
form.form-modal-primary .input__wrapper.required :-ms-input-placeholder,
form.form-modal-primary .input__wrapper--wrap.required :-ms-input-placeholder,
form.form--primary__project .input__wrapper.required :-ms-input-placeholder,
form.form--primary__project .input__wrapper--wrap.required :-ms-input-placeholder,
form.form-grid .input__wrapper.required :-ms-input-placeholder,
form.form-grid .input__wrapper--wrap.required :-ms-input-placeholder {
  color: var(--form-error-color);
}
.c-form .input__wrapper--wrap,
form.form-modal-primary .input__wrapper--wrap,
form.form--primary__project .input__wrapper--wrap,
form.form-grid .input__wrapper--wrap {
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
}
.c-form .input-wrapper__password .password__visibility, .c-form .input-wrapper__password .password__visibility-off,
form.form-modal-primary .input-wrapper__password .password__visibility,
form.form-modal-primary .input-wrapper__password .password__visibility-off,
form.form--primary__project .input-wrapper__password .password__visibility,
form.form--primary__project .input-wrapper__password .password__visibility-off,
form.form-grid .input-wrapper__password .password__visibility,
form.form-grid .input-wrapper__password .password__visibility-off {
  position: absolute;
  top: 50%;
  right: 3%;
  transform: translateY(-50%);
  cursor: pointer;
  z-index: 3;
}
.c-form .input__wrapper.required .modal-content__input,
form.form-modal-primary .input__wrapper.required .modal-content__input,
form.form--primary__project .input__wrapper.required .modal-content__input,
form.form-grid .input__wrapper.required .modal-content__input {
  border-color: var(--form-error-color) !important;
  box-shadow: var(--form-error-shadow);
}
@media (max-width: 1140px) {
  .c-form .input__wrapper .input-row, .c-form .input__wrapper--wrap .input-row,
  form.form-modal-primary .input__wrapper .input-row,
  form.form-modal-primary .input__wrapper--wrap .input-row,
  form.form--primary__project .input__wrapper .input-row,
  form.form--primary__project .input__wrapper--wrap .input-row,
  form.form-grid .input__wrapper .input-row,
  form.form-grid .input__wrapper--wrap .input-row {
    flex: 0 1 calc(70% - 1rem);
  }
}
@media (max-width: 580px) {
  .c-form .input__wrapper .input-row, .c-form .input__wrapper--wrap .input-row,
  form.form-modal-primary .input__wrapper .input-row,
  form.form-modal-primary .input__wrapper--wrap .input-row,
  form.form--primary__project .input__wrapper .input-row,
  form.form--primary__project .input__wrapper--wrap .input-row,
  form.form-grid .input__wrapper .input-row,
  form.form-grid .input__wrapper--wrap .input-row {
    flex: 0 1 100%;
  }
}

.c-form .input__wrapper .input__images, .c-form .input__wrapper--wrap .input__images,
form.form-modal-primary .input__wrapper .input__images,
form.form-modal-primary .input__wrapper--wrap .input__images,
form.form--primary__project .input__wrapper .input__images,
form.form--primary__project .input__wrapper--wrap .input__images,
form.form-grid .input__wrapper .input__images,
form.form-grid .input__wrapper--wrap .input__images {
  display: grid;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  align-items: stretch;
  overflow: hidden;
}
.c-form .input__wrapper .input__images-item, .c-form .input__wrapper--wrap .input__images-item,
form.form-modal-primary .input__wrapper .input__images-item,
form.form-modal-primary .input__wrapper--wrap .input__images-item,
form.form--primary__project .input__wrapper .input__images-item,
form.form--primary__project .input__wrapper--wrap .input__images-item,
form.form-grid .input__wrapper .input__images-item,
form.form-grid .input__wrapper--wrap .input__images-item {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.c-form .input__wrapper .input__images-item img, .c-form .input__wrapper--wrap .input__images-item img,
form.form-modal-primary .input__wrapper .input__images-item img,
form.form-modal-primary .input__wrapper--wrap .input__images-item img,
form.form--primary__project .input__wrapper .input__images-item img,
form.form--primary__project .input__wrapper--wrap .input__images-item img,
form.form-grid .input__wrapper .input__images-item img,
form.form-grid .input__wrapper--wrap .input__images-item img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  margin-block: auto;
}
.c-form .input__wrapper .input__images-item--actions, .c-form .input__wrapper--wrap .input__images-item--actions,
form.form-modal-primary .input__wrapper .input__images-item--actions,
form.form-modal-primary .input__wrapper--wrap .input__images-item--actions,
form.form--primary__project .input__wrapper .input__images-item--actions,
form.form--primary__project .input__wrapper--wrap .input__images-item--actions,
form.form-grid .input__wrapper .input__images-item--actions,
form.form-grid .input__wrapper--wrap .input__images-item--actions {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.c-form .input__wrapper .input__images-item--actions *, .c-form .input__wrapper--wrap .input__images-item--actions *,
form.form-modal-primary .input__wrapper .input__images-item--actions *,
form.form-modal-primary .input__wrapper--wrap .input__images-item--actions *,
form.form--primary__project .input__wrapper .input__images-item--actions *,
form.form--primary__project .input__wrapper--wrap .input__images-item--actions *,
form.form-grid .input__wrapper .input__images-item--actions *,
form.form-grid .input__wrapper--wrap .input__images-item--actions * {
  width: fit-content;
}
.c-form .input__wrapper .file-upload, .c-form .input__wrapper--wrap .file-upload,
form.form-modal-primary .input__wrapper .file-upload,
form.form-modal-primary .input__wrapper--wrap .file-upload,
form.form--primary__project .input__wrapper .file-upload,
form.form--primary__project .input__wrapper--wrap .file-upload,
form.form-grid .input__wrapper .file-upload,
form.form-grid .input__wrapper--wrap .file-upload {
  display: flex;
  flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  gap: 1rem;
  align-items: center;
}
.c-form .input__wrapper .file-upload label, .c-form .input__wrapper--wrap .file-upload label,
form.form-modal-primary .input__wrapper .file-upload label,
form.form-modal-primary .input__wrapper--wrap .file-upload label,
form.form--primary__project .input__wrapper .file-upload label,
form.form--primary__project .input__wrapper--wrap .file-upload label,
form.form-grid .input__wrapper .file-upload label,
form.form-grid .input__wrapper--wrap .file-upload label {
  max-width: fit-content;
}
.c-form .input__wrapper .file-upload *, .c-form .input__wrapper--wrap .file-upload *,
form.form-modal-primary .input__wrapper .file-upload *,
form.form-modal-primary .input__wrapper--wrap .file-upload *,
form.form--primary__project .input__wrapper .file-upload *,
form.form--primary__project .input__wrapper--wrap .file-upload *,
form.form-grid .input__wrapper .file-upload *,
form.form-grid .input__wrapper--wrap .file-upload * {
  color: var(--form-label-color);
}
.c-form .input__wrapper .file-upload__filename, .c-form .input__wrapper--wrap .file-upload__filename,
form.form-modal-primary .input__wrapper .file-upload__filename,
form.form-modal-primary .input__wrapper--wrap .file-upload__filename,
form.form--primary__project .input__wrapper .file-upload__filename,
form.form--primary__project .input__wrapper--wrap .file-upload__filename,
form.form-grid .input__wrapper .file-upload__filename,
form.form-grid .input__wrapper--wrap .file-upload__filename {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  text-decoration: underline;
}
.c-form .input__wrapper .image-upload label, .c-form .input__wrapper--wrap .image-upload label,
form.form-modal-primary .input__wrapper .image-upload label,
form.form-modal-primary .input__wrapper--wrap .image-upload label,
form.form--primary__project .input__wrapper .image-upload label,
form.form--primary__project .input__wrapper--wrap .image-upload label,
form.form-grid .input__wrapper .image-upload label,
form.form-grid .input__wrapper--wrap .image-upload label {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: 25%;
  aspect-ratio: 3/2;
  background-color: var(--form-field-bg);
  border-radius: 1.75rem;
  overflow: hidden;
  cursor: pointer;
  position: relative;
}
.c-form .input__wrapper .image-upload label:before, .c-form .input__wrapper .image-upload label:after, .c-form .input__wrapper--wrap .image-upload label:before, .c-form .input__wrapper--wrap .image-upload label:after,
form.form-modal-primary .input__wrapper .image-upload label:before,
form.form-modal-primary .input__wrapper .image-upload label:after,
form.form-modal-primary .input__wrapper--wrap .image-upload label:before,
form.form-modal-primary .input__wrapper--wrap .image-upload label:after,
form.form--primary__project .input__wrapper .image-upload label:before,
form.form--primary__project .input__wrapper .image-upload label:after,
form.form--primary__project .input__wrapper--wrap .image-upload label:before,
form.form--primary__project .input__wrapper--wrap .image-upload label:after,
form.form-grid .input__wrapper .image-upload label:before,
form.form-grid .input__wrapper .image-upload label:after,
form.form-grid .input__wrapper--wrap .image-upload label:before,
form.form-grid .input__wrapper--wrap .image-upload label:after {
  content: "";
  display: flex;
  width: 2.5rem;
  height: 0.3rem;
  background-color: var(--form-field-text);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 1.75rem;
}
.c-form .input__wrapper .image-upload label:after, .c-form .input__wrapper--wrap .image-upload label:after,
form.form-modal-primary .input__wrapper .image-upload label:after,
form.form-modal-primary .input__wrapper--wrap .image-upload label:after,
form.form--primary__project .input__wrapper .image-upload label:after,
form.form--primary__project .input__wrapper--wrap .image-upload label:after,
form.form-grid .input__wrapper .image-upload label:after,
form.form-grid .input__wrapper--wrap .image-upload label:after {
  transform: translate(-50%, -50%) rotate(90deg);
}
@media (max-width: 720px) {
  .c-form .input__wrapper .input__images, .c-form .input__wrapper--wrap .input__images,
  form.form-modal-primary .input__wrapper .input__images,
  form.form-modal-primary .input__wrapper--wrap .input__images,
  form.form--primary__project .input__wrapper .input__images,
  form.form--primary__project .input__wrapper--wrap .input__images,
  form.form-grid .input__wrapper .input__images,
  form.form-grid .input__wrapper--wrap .input__images {
    display: grid;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
    align-items: stretch;
  }
  .c-form .input__wrapper .image-upload label, .c-form .input__wrapper--wrap .image-upload label,
  form.form-modal-primary .input__wrapper .image-upload label,
  form.form-modal-primary .input__wrapper--wrap .image-upload label,
  form.form--primary__project .input__wrapper .image-upload label,
  form.form--primary__project .input__wrapper--wrap .image-upload label,
  form.form-grid .input__wrapper .image-upload label,
  form.form-grid .input__wrapper--wrap .image-upload label {
    width: 9rem;
  }
}

.form-grid {
  display: grid;
  gap: 1rem;
  grid-template-rows: auto 1fr;
  grid-template-columns: repeat(var(--cols, 2), 1fr);
  width: 100%;
}
.form-grid__row {
  display: grid;
  grid-column: 3;
  grid-row: 1/span 3;
  align-self: start;
  row-gap: 1rem;
  height: max-content;
}
.form-grid--cols-1 {
  --cols: 1;
}
.form-grid--cols-2 {
  --cols: 2;
}
.form-grid--cols-3 {
  --cols: 3;
}
.form-grid--cols-4 {
  --cols: 4;
}
.form-grid--equal {
  grid-auto-flow: column;
  grid-auto-columns: minmax(0, 1fr);
}
.form-grid__item {
  display: flex;
  align-items: center;
  gap: 1.875rem;
}
.form-grid__item button {
  outline: none;
  border: 0;
  background-color: transparent;
}
.form-grid__item .sortable-icon {
  cursor: grab;
}
.form-grid .entity-list__header {
  display: flex;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  align-items: center;
  gap: 12px;
  padding-block: 6px 0;
  margin: 0;
  min-height: auto;
  flex-wrap: wrap;
  grid-column: 1/-1;
}
.form-grid__group {
  display: flex;
  flex-direction: column;
  row-gap: 0.5rem;
  position: relative;
}
.form-grid__group--icon {
  position: absolute;
  top: 50%;
  right: 1%;
  transform: translateY(-50%);
  transition: transform 0.2s ease-in-out;
}
.form-grid__group--row {
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  gap: 1.875rem;
}
.form-grid__group--actions {
  display: flex;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  justify-content: space-between;
}
.form-grid .select-active {
  transform: translateY(-50%) rotate(180deg);
}
.form-grid input:not([type=submit], [type=checkbox]), .form-grid select, .form-grid textarea {
  flex: 1 1 auto;
  padding: 0.5rem 3% 0.5rem 0.75rem;
  color: var(--form-field-text);
  outline: none;
  border: 1px solid var(--form-field-border);
  border-radius: 0.75rem;
  background: var(--form-field-bg);
  backdrop-filter: var(--form-field-backdrop);
  -webkit-backdrop-filter: var(--form-field-backdrop);
}
.form-grid input:not([type=submit], [type=checkbox]):focus, .form-grid select:focus, .form-grid textarea:focus {
  border-color: var(--form-focus-border);
  box-shadow: var(--form-focus-shadow);
}
.form-grid select {
  width: 100%;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  padding: 0.5rem 2rem 0.5rem 0.75rem;
  font-size: 14px;
  cursor: pointer;
}
.form-grid__group--full {
  grid-column: 1/-1;
}
.form-grid__group--span-2 {
  grid-column: span 2;
}
.form-grid__group--span-3 {
  grid-column: span 3;
}
.form-grid .input--fit {
  display: flex;
  gap: 0.5rem;
  width: fit-content;
  min-width: 15%;
  position: relative;
}
.form-grid .input--fit .input-group__suffix {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.form-grid .file-item {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  position: relative;
  width: fit-content;
}
.form-grid .file-item__name {
  flex: 1;
  white-space: nowrap;
  color: var(--form-label-color);
}
.form-grid .file-item__icon {
  margin-left: auto;
}
.form-grid .file-item__actions {
  display: flex;
  margin-left: 0.5rem;
  position: absolute;
  top: 50%;
  left: 100%;
  transform: translateY(-50%);
}
.form-grid .file-item__actions > .file-item__action {
  background: none;
  border: none;
  cursor: pointer;
  padding: 0.25rem;
  margin-left: 0.25rem;
  transition: opacity 0.2s;
}
.form-grid .file-item__actions > .file-item__action:hover {
  opacity: 0.7;
}
.form-grid .file-items {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1rem;
  width: fit-content;
  max-width: 100%;
}
.form-grid .file-items .file-item {
  width: 100%;
}
.form-grid .file-inputs {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.form-grid .file-input__native {
  display: none;
}
.form-grid .audio-input {
  display: flex;
  max-width: 20%;
}
.form-grid .media-input {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: 100%;
  max-width: 100%;
  aspect-ratio: 16/9;
  min-height: 220px;
  position: relative;
  background: var(--form-dropzone-bg, transparent);
  border-radius: 0.75rem;
  border: 2px dashed var(--form-dropzone-border, var(--form-field-border-hover));
  padding: 1rem;
  cursor: pointer;
  overflow: hidden;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease, transform 0.2s ease;
}
@media (hover: hover) and (pointer: fine) {
  .form-grid .media-input:hover {
    border-color: var(--form-dropzone-border-hover, var(--form-field-border-hover));
    background: var(--form-dropzone-bg-hover, var(--form-dropzone-bg, transparent));
    box-shadow: var(--form-dropzone-hover-shadow, none);
    transform: translateY(-1px);
  }
}
.form-grid .media-input.drag-over {
  border-color: var(--form-focus-border);
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.25) inset;
}
.form-grid .media-input__placeholder {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  text-align: center;
  gap: 0.5rem;
}
.form-grid .media-input__icon {
  width: 28px;
  height: 28px;
  margin-bottom: 0.5rem;
  opacity: 0.9;
}
.form-grid .media-input__text {
  color: var(--form-label-color);
  font-size: 18px;
  line-height: 1.2;
  font-weight: 500;
}
.form-grid .media-input__preview {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.25rem;
  aspect-ratio: 16/9;
  width: 100%;
  max-width: 100%;
  color: var(--form-field-text);
  position: relative;
}
.form-grid .media-input__preview.hidden {
  display: none;
}
.form-grid .media-input__preview__remove {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 2;
}
.form-grid .media-input__preview__remove {
  width: 44px;
  height: 44px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.95);
  border: 1px solid rgba(0, 0, 0, 0.08);
  font-size: 26px;
  line-height: 42px;
  text-align: center;
  cursor: pointer;
}
.form-grid .media-input__preview__change {
  position: absolute;
  bottom: 12px;
  right: 12px;
}
.form-grid .media-input__preview video,
.form-grid .media-input__preview img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center bottom;
  border-radius: 1rem;
  display: block;
  background: #000;
}
.form-grid .media-input.is-loading {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.form-grid .media-input__loader {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  flex-direction: column;
  gap: 0.75rem;
  min-height: 160px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.form-grid .media-input__spinner {
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  border: 3px solid rgba(255, 255, 255, 0.25);
  border-top-color: rgba(255, 255, 255, 0.85);
  animation: media-spin 0.9s linear infinite;
}
.form-grid .media-input__loader-text {
  font-size: 14px;
  opacity: 0.85;
  color: var(--form-label-color);
}
@keyframes media-spin {
  to {
    transform: rotate(360deg);
  }
}
.form-grid .btn-reset {
  appearance: none;
  background: none;
  border: 0;
  padding: 0;
  font: inherit;
  color: inherit;
  cursor: pointer;
}
.form-grid .media-card {
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.08);
}
.form-grid .media-card--image {
  background: linear-gradient(180deg, #EAF2FF 0%, #DDE8FF 100%);
}
.form-grid .media-card__aspect {
  width: 100%;
  aspect-ratio: 16/9;
}
.form-grid .media-card__content {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: 0;
}
.form-grid .media-card__img, .form-grid .media-card__video {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center bottom;
  display: block;
}
.form-grid .media-card__close {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 44px;
  height: 44px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.95);
  border: 1px solid rgba(0, 0, 0, 0.08);
  font-size: 26px;
  line-height: 42px;
  text-align: center;
  z-index: 2;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12);
}
.form-grid .select-wrapper {
  position: relative;
  width: 100%;
  font-family: inherit;
}
.form-grid .select-wrapper select:focus {
  border-color: var(--form-focus-border);
  outline: none;
}
.form-grid .select-wrapper select:focus + .select-arrow {
  transform: translateY(-50%) rotate(180deg);
}
.form-grid .select-wrapper select option:checked {
  background: #2636ff;
  color: #ffffff;
}
.form-grid .select-wrapper .select-arrow {
  position: absolute;
  pointer-events: none;
  top: 50%;
  right: 16px;
  width: 16px;
  height: 16px;
  transform: translateY(-50%);
  background: url(/assets/icons/arrows/arrow-list-link--black-c28b7e8d89707bfd2002a4285c35ba12010edbcd848210adb2fbdd8a1ef65383.svg) center/contain no-repeat;
  transition: transform 0.25s;
}
.form-grid .toggle {
  display: flex;
  align-items: center;
  gap: 1rem;
  font-family: inherit;
}
.form-grid .toggle__input {
  appearance: none;
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}
.form-grid .toggle__slider {
  display: flex;
  position: relative;
  width: 60px;
  height: 2rem;
  border-radius: 2rem;
  background: #cccccc;
  transition: background 0.25s;
  cursor: pointer;
  flex-shrink: 0;
}
.form-grid .toggle__slider:before {
  content: "";
  position: absolute;
  top: 2px;
  left: 2px;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #ffffff;
  transition: transform 0.25s;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.08);
}
.form-grid .toggle--on .toggle__slider {
  background: #2630f5;
}
.form-grid .toggle--on .toggle__slider::before {
  transform: translateX(28px);
}
.form-grid .toggle__input:focus-visible + .form-grid .toggle__slider {
  box-shadow: 0 0 0 3px rgba(79, 111, 255, 0.4);
}

.form__row {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.auth-reset-page {
  position: relative;
  min-height: 100vh;
  padding: 32px 16px 40px;
  display: flex;
  align-items: center;
  background-image: radial-gradient(140% 140% at 0% 0%, #f97316 0%, #ec4899 16%, #4f46e5 40%, #1e3a8a 60%, #020617 100%);
  background-color: #020617;
  overflow: hidden;
}
.auth-reset-page__overlay {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: radial-gradient(50% 60% at 100% 0, rgba(56, 189, 248, 0.25), transparent), radial-gradient(60% 60% at 0 100%, rgba(129, 140, 248, 0.35), transparent);
  background-repeat: no-repeat;
}
.auth-reset-page__inner {
  position: relative;
  max-width: 720px;
  width: 100%;
  margin: 0 auto;
}
.auth-reset-page__brand {
  text-align: center;
  margin-bottom: 20px;
}
.auth-reset-page__logo-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.auth-reset-page__logo {
  height: 40px;
}
.auth-reset-page {
  /* Карточка с градиентной рамкой */
}
.auth-reset-page__card {
  position: relative;
  border-radius: 30px;
  padding: 2px;
  background-image: linear-gradient(135deg, rgba(56, 189, 248, 0.85), rgba(96, 165, 250, 0.6), rgba(249, 115, 22, 0.95));
  box-shadow: 0 26px 70px rgba(15, 23, 42, 0.9);
}
.auth-reset-page__card-inner {
  position: relative;
  border-radius: 28px;
  padding: 22px 26px 18px;
  background: radial-gradient(150% 180% at 0 0, #111827 0%, #020617 65%);
  box-shadow: 0 0 0 1px rgba(15, 23, 42, 0.85);
  overflow: hidden;
}
.auth-reset-page__card-inner::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background-image: radial-gradient(140% 160% at 100% 0, rgba(96, 165, 250, 0.14), transparent);
  background-repeat: no-repeat;
  opacity: 0.9;
  pointer-events: none;
}
.auth-reset-page__card-head {
  position: relative;
  padding-bottom: 16px;
  margin-bottom: 10px;
  border-bottom: 1px solid rgba(148, 163, 184, 0.35);
  z-index: 1;
}
.auth-reset-page {
  /* Иконка-замок */
}
.auth-reset-page__head-icon {
  width: 32px;
  height: 32px;
  border-radius: 999px;
  margin-bottom: 10px;
  background: radial-gradient(circle at 30% 0, #38bdf8 0%, #6366f1 55%, #1d4ed8 100%);
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.8);
}
.auth-reset-page__head-icon::before, .auth-reset-page__head-icon::after {
  content: "";
  position: absolute;
}
.auth-reset-page__head-icon {
  /* дужка замка */
}
.auth-reset-page__head-icon::before {
  width: 14px;
  height: 10px;
  border-radius: 999px 999px 4px 4px;
  border: 2px solid rgba(248, 250, 252, 0.95);
  border-bottom-color: transparent;
  top: 7px;
}
.auth-reset-page__head-icon {
  /* корпус замка */
}
.auth-reset-page__head-icon::after {
  width: 14px;
  height: 10px;
  border-radius: 4px;
  background: rgba(248, 250, 252, 0.96);
  top: 13px;
  box-shadow: 0 2px 4px rgba(15, 23, 42, 0.3);
}
.auth-reset-page__badge {
  margin: 0 0 4px;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: #a5b4fc;
  opacity: 0.9;
}
.auth-reset-page__title {
  margin: 0 0 4px;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  font-size: 24px;
  line-height: 1.25;
  font-weight: 800;
  color: #f9fafb;
}
.auth-reset-page__subtitle {
  margin: 0;
  max-width: 420px;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: 1.7;
  color: #9ca3af;
}
.auth-reset-page__form {
  position: relative;
  z-index: 1;
  padding-top: 16px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.auth-reset-page__field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.auth-reset-page__label {
  font-size: 13px;
  font-weight: 600;
  color: #e5e7eb;
}
.auth-reset-page__hint {
  margin: 0;
  font-size: 12px;
  line-height: 1.5;
  color: #9ca3af;
}
.auth-reset-page__input {
  width: 100%;
  border-radius: 16px;
  border: 1px solid rgba(148, 163, 184, 0.65);
  background: rgba(15, 23, 42, 0.95);
  padding: 10px 12px;
  font-size: 14px;
  color: #f9fafb;
  outline: none;
  box-shadow: 0 0 0 1px transparent;
  transition: border-color 0.16s ease, box-shadow 0.16s ease, background-color 0.16s ease;
}
.auth-reset-page__input::placeholder {
  color: #6b7280;
}
.auth-reset-page__input:focus {
  border-color: #38bdf8;
  box-shadow: 0 0 0 1px rgba(56, 189, 248, 0.7);
  background: rgb(15, 23, 42);
}
.auth-reset-page__actions {
  margin-top: 4px;
}
.auth-reset-page__submit {
  width: 100%;
  font-weight: 800;
  letter-spacing: 0.02em;
  /* чуть ярче именно на этой странице */
}
.auth-reset-page__submit.btn-primary {
  background-image: linear-gradient(90deg, #2563eb 0%, #3b82f6 40%, #f97316 100%);
  box-shadow: 0 14px 35px rgba(37, 99, 235, 0.7);
}
.auth-reset-page__submit.btn-primary:hover {
  box-shadow: 0 18px 45px rgba(37, 99, 235, 0.9);
}
.auth-reset-page__footer {
  position: relative;
  z-index: 1;
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid rgba(30, 64, 175, 0.7);
  text-align: center;
}
.auth-reset-page__footer-text {
  margin: 0;
  font-size: 13px;
  color: #9ca3af;
}
.auth-reset-page__footer-link {
  margin-left: 4px;
  color: #60a5fa;
  font-weight: 600;
  text-decoration: none;
}
.auth-reset-page__footer-link:hover {
  color: #bfdbfe;
  text-decoration: underline;
}
.auth-reset-page__error {
  margin: 0 0 8px;
  padding: 8px 10px;
  border-radius: 12px;
  background: rgba(239, 68, 68, 0.08);
  border: 1px solid rgba(248, 113, 113, 0.9);
  font-size: 12px;
  line-height: 1.5;
  color: #fecaca;
}
.auth-reset-page__error-list {
  margin: 4px 0 0;
  padding-left: 18px;
  text-align: left;
}
@media (max-width: 640px) {
  .auth-reset-page {
    padding: 24px 12px 32px;
  }
  .auth-reset-page__card {
    border-radius: 24px;
  }
  .auth-reset-page__card-inner {
    border-radius: 22px;
    padding: 18px 18px 16px;
  }
  .auth-reset-page__title {
    font-size: 20px;
  }
  .auth-reset-page__subtitle {
    font-size: 13px;
  }
}

/* Блок успеха после отправки письма */
.auth-reset-success {
  position: relative;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 1.75rem;
  padding: 2.5rem 2.25rem 2.25rem;
  text-align: center;
  color: #f9fafb;
  background: radial-gradient(160% 220% at 0 0, rgba(56, 189, 248, 0.22) 0%, rgba(15, 23, 42, 0.96) 45%, #020617 92%);
  border-radius: 26px;
  box-shadow: 0 24px 60px rgba(15, 23, 42, 0.85);
  overflow: hidden;
}
.auth-reset-success::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background-image: radial-gradient(140% 220% at 100% 0, rgba(129, 140, 248, 0.2), transparent);
  background-repeat: no-repeat;
  opacity: 0.7;
  pointer-events: none;
}
.auth-reset-success {
  /* Иконка с конвертом */
}
.auth-reset-success__icon {
  position: relative;
  z-index: 1;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.auth-reset-success {
  /* Квадратная «плашка» под конвертом */
}
.auth-reset-success__badge {
  position: relative;
  width: 80px;
  height: 80px;
  border-radius: 24px;
  background: radial-gradient(130% 130% at 10% 0%, #22c55e 0%, #0ea5e9 40%, #6366f1 100%);
  box-shadow: 0 16px 45px rgba(15, 23, 42, 0.9);
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  animation: auth-reset-envelope-float 2.4s ease-in-out infinite;
}
.auth-reset-success__badge-glow {
  position: absolute;
  inset: 4px;
  border-radius: inherit;
  background: radial-gradient(120% 120% at 50% 0, rgba(248, 250, 252, 0.36), transparent 70%);
  opacity: 0.9;
  pointer-events: none;
}
.auth-reset-success {
  /* Сам конверт: чёткий прямоугольник */
}
.auth-reset-success__envelope {
  position: relative;
  width: 52px;
  height: 32px;
  border-radius: 8px;
  background: linear-gradient(180deg, #e5f0ff 0%, #c7d2fe 100%);
  box-shadow: 0 4px 10px rgba(15, 23, 42, 0.35);
  overflow: visible;
}
.auth-reset-success {
  /* Задняя часть больше не нужна как отдельный слой */
}
.auth-reset-success__envelope-back {
  display: none;
}
.auth-reset-success {
  /* Бумага – тёплый цвет, чтобы сразу читалась как письмо */
}
.auth-reset-success__envelope-letter {
  position: absolute;
  left: 7px;
  right: 7px;
  top: -2px;
  height: 16px;
  border-radius: 6px;
  background: linear-gradient(180deg, #fefce8 0%, #fef9c3 100%);
  box-shadow: 0 2px 4px rgba(15, 23, 42, 0.18);
  animation: auth-reset-envelope-letter 2.4s ease-in-out infinite;
}
.auth-reset-success__envelope-letter::before, .auth-reset-success__envelope-letter::after {
  content: "";
  position: absolute;
  left: 6px;
  right: 6px;
  height: 2px;
  border-radius: 999px;
  background: #d4d4d8;
}
.auth-reset-success__envelope-letter::before {
  top: 4px;
}
.auth-reset-success__envelope-letter::after {
  top: 9px;
  width: 70%;
}
.auth-reset-success {
  /* Передняя часть конверта: прямоугольник + диагональные линии */
}
.auth-reset-success__envelope-front {
  position: absolute;
  left: 4px;
  right: 4px;
  bottom: 4px;
  top: 10px;
  border-radius: 7px;
  background: #f9fafb;
  box-shadow: 0 1px 4px rgba(15, 23, 42, 0.16);
  overflow: hidden;
  /* горизонтальная линия края конверта */
}
.auth-reset-success__envelope-front::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 8px;
  height: 1px;
  background: #d4d4d8;
  opacity: 0.9;
}
.auth-reset-success__envelope-front {
  /* диагональные линии, формирующие «V» */
}
.auth-reset-success__envelope-front::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: linear-gradient(135deg, transparent 0, transparent 48%, #d4d4d8 50%, transparent 52%, transparent 100%), linear-gradient(225deg, transparent 0, transparent 48%, #d4d4d8 50%, transparent 52%, transparent 100%);
  background-repeat: no-repeat;
  background-position: 0 100%, 100% 100%;
  background-size: 60% 70%;
}
.auth-reset-success {
  /* Верхний клапан – отдельный треугольник */
}
.auth-reset-success__envelope-flap {
  position: absolute;
  left: 4px;
  right: 4px;
  top: 3px;
  height: 14px;
  background: linear-gradient(180deg, #f9fafb 0%, #e2e8f0 100%);
  border-radius: 7px 7px 6px 6px;
  clip-path: polygon(0 0, 50% 75%, 100% 0, 100% 100%, 0 100%);
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.12);
  transform-origin: top center;
  animation: auth-reset-envelope-flap 2.4s ease-in-out infinite;
}
.auth-reset-success {
  /* Мелкие «искры» вокруг иконки */
}
.auth-reset-success__icon::before, .auth-reset-success__icon::after {
  content: "";
  position: absolute;
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: #facc15;
  box-shadow: 0 0 0 4px rgba(250, 204, 21, 0.25);
  opacity: 0;
  transform: scale(0.4);
}
.auth-reset-success__icon::before {
  top: 6px;
  right: -4px;
  animation: auth-reset-sparkle 1.7s ease-out infinite 0.2s;
}
.auth-reset-success__icon::after {
  bottom: -2px;
  left: -8px;
  animation: auth-reset-sparkle 1.7s ease-out infinite 0.55s;
}
.auth-reset-success {
  /* Тексты и кнопки */
}
.auth-reset-success__copy {
  position: relative;
  z-index: 1;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.35rem;
}
.auth-reset-success__title {
  margin: 0;
  font-size: 22px;
  font-weight: 800;
  letter-spacing: 0.01em;
}
.auth-reset-success__text {
  margin: 0;
  font-size: 14px;
  line-height: 1.7;
  color: #e5e7eb;
}
.auth-reset-success__text strong {
  color: #bfdbfe;
  font-weight: 700;
}
.auth-reset-success__hint {
  margin: 0;
  font-size: 12px;
  line-height: 1.7;
  color: #9ca3af;
}
.auth-reset-success__actions {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: center;
  gap: 0.75rem;
  position: relative;
  z-index: 1;
  margin-top: 0.75rem;
}
.auth-reset-success__btn-secondary {
  background: rgba(15, 23, 42, 0.9);
  border: 1px solid rgba(148, 163, 184, 0.7);
  color: #e5e7eb;
  transition: background-color 0.18s ease, border-color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}
.auth-reset-success__btn-secondary:hover {
  background: rgb(15, 23, 42);
  border-color: rgba(191, 219, 254, 0.9);
  transform: translateY(-1px);
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.6);
}
.auth-reset-success__btn-primary {
  font-weight: 800;
  letter-spacing: 0.02em;
  box-shadow: 0 12px 30px rgba(37, 99, 235, 0.6);
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}
.auth-reset-success__btn-primary:hover {
  transform: translateY(-1px);
  box-shadow: 0 16px 40px rgba(37, 99, 235, 0.75);
}
@media (max-width: 640px) {
  .auth-reset-success {
    padding: 1.9rem 1.4rem 1.75rem;
    border-radius: 22px;
  }
  .auth-reset-success__title {
    font-size: 20px;
  }
  .auth-reset-success__text {
    font-size: 13px;
  }
}

@keyframes auth-reset-envelope-float {
  0%, 100% {
    transform: translateY(0) scale(1);
  }
  50% {
    transform: translateY(-4px) scale(1.02);
  }
}
@keyframes auth-reset-envelope-letter {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-3px);
  }
}
@keyframes auth-reset-sparkle {
  0% {
    transform: scale(0.4) translateY(4px);
    opacity: 0;
  }
  35% {
    transform: scale(1) translateY(0);
    opacity: 1;
  }
  100% {
    transform: scale(0.4) translateY(-4px);
    opacity: 0;
  }
}
.form-modal-primary {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 1rem;
  margin-bottom: 0;
}
.form-modal-primary__field {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  width: 100%;
}
.form-modal-primary__field input {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  width: 100%;
  border-radius: 8px;
  padding: 1rem;
  font-size: 20px;
  line-height: 140%;
}
.form-modal-primary__field input::placeholder {
  font-weight: 400;
  font-size: 20px;
  line-height: 140%;
}
@media (max-width: 768px) {
  .form-modal-primary__field input {
    padding: 0.5rem;
    font-size: 14px;
  }
  .form-modal-primary__field input::placeholder {
    font-size: 14px;
  }
}

.form--primary__project {
  gap: 1.875rem;
}
.form--primary__project .input__wrapper, .form--primary__project .input__wrapper--wrap {
  gap: 0.5rem;
}
.form--primary__project .input__wrapper label, .form--primary__project .input__wrapper--title, .form--primary__project .input__wrapper--wrap label, .form--primary__project .input__wrapper--wrap--title {
  color: var(--form-label-color);
  font-size: clamp(1rem, 1.25vw, 1.5rem);
  line-height: 120%;
  font-weight: 700;
}
.form--primary__project .input__wrapper input, .form--primary__project .input__wrapper--wrap input {
  outline: none;
  padding: 0.5rem 0.75rem;
  border-radius: 0.75rem;
}
.form--primary__project .categories__title {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.75rem;
}
.form--primary__project .categories__title label {
  flex: 0 0 auto;
}
.form--primary__project .categories__title .ui-nested-dropdown {
  margin-left: auto;
}

.user-request {
  --form-control-font-family: "Inter Regular";
  --form-control-font-weight: 400;
  --form-control-font-size: 16px;
  --form-control-line-height: 140%;
  --form-control-padding-y: 14px;
  --form-control-padding-x: 18px;
  --form-control-radius: 8px;
  --form-control-min-height: 55px;
  flex: 0 0 27%;
  min-width: 370px;
}
.user-request .c-form {
  margin: 0;
}
.user-request__inputs-list {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  gap: 1rem;
}
.user-request__input-container {
  position: relative;
  border-radius: var(--form-control-radius);
  overflow: hidden;
}
.user-request__input-container .field_with_errors {
  width: 100%;
}
.user-request__input-container--required input, .user-request__input-container--required select, .user-request__input-container--required textarea {
  border-color: var(--form-error-color) !important;
  box-shadow: var(--form-error-shadow);
}
.user-request__input-container--required input::placeholder, .user-request__input-container--required textarea::placeholder {
  color: var(--form-error-color) !important;
}
.user-request__form {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
}
.user-request__form .user-request__step {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 1rem;
}
.user-request__form .user-request__step .user-request__inputs-list {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.5rem;
}
.user-request__politics {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 0.2rem;
  width: 100%;
  padding-block: 1rem;
  color: var(--form-label-color);
  font-family: "Inter Regular";
  font-style: normal;
  font-weight: 400;
  font-size: 14px;
  line-height: 140%;
  opacity: 0.92;
}
.user-request__politics * {
  color: inherit;
}
.user-request__checkbox-input {
  display: none;
}
.user-request__custom-checkbox {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  width: 30px;
  aspect-ratio: 1/1;
  background-color: rgba(255, 255, 255, 0.95);
  border-radius: 4px;
  position: relative;
  cursor: pointer;
  margin-bottom: auto;
}
.user-request__custom-checkbox::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 6px;
  height: 12px;
  border: solid #ffffff;
  border-width: 0 2px 2px 0;
  transform: translate(-50%, -50%) rotate(45deg);
  display: none;
}
.user-request__checkbox-input:checked + .user-request__label .user-request__custom-checkbox {
  background-color: #2630f5;
  border-color: #2630f5;
}
.user-request__checkbox-input:checked + .user-request__label .user-request__custom-checkbox::after {
  display: block;
}
.user-request__label {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 1rem;
  cursor: pointer;
}
.user-request__label * {
  font-family: "Inter Regular";
  font-size: 16px;
  line-height: 120%;
  font-weight: 400;
}
.user-request__label .text-small {
  display: initial;
}
.user-request__link {
  color: #2630f5;
  text-decoration: underline;
  margin-left: 5px;
}
.user-request .smart-captcha {
  margin-bottom: 1rem;
}
.user-request__actions .submit-button {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  border-radius: 100px;
  overflow: hidden;
}
.user-request__control {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: space-between;
  gap: 1rem;
}
.user-request__control-back {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  border: 1px solid rgba(255, 255, 255, 0.22);
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-radius: 50%;
  aspect-ratio: 1/1;
  height: 38px;
  cursor: pointer;
  color: #fff;
  transition: transform 0.15s ease, background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}
@media (hover: hover) and (pointer: fine) {
  .user-request__control-back:hover {
    background: rgba(255, 255, 255, 0.16);
    border-color: rgba(255, 255, 255, 0.3);
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.14);
    transform: translateY(-1px);
  }
}
.user-request__control-back--icon {
  transform: rotate(180deg);
}
.user-request .spinner {
  animation: rotate 2s linear infinite;
  width: 50px;
  height: 50px;
}
@keyframes rotate {
  100% {
    transform: rotate(360deg);
  }
}
.user-request .path {
  stroke: #5658DD;
  stroke-linecap: round;
  animation: dash 1.5s ease-in-out infinite;
}
@keyframes dash {
  0% {
    stroke-dasharray: 1, 150;
    stroke-dashoffset: 0;
  }
  50% {
    stroke-dasharray: 90, 150;
    stroke-dashoffset: -35;
  }
}

#profile-info {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  position: relative;
}
@media (hover: hover) and (pointer: fine) {
  #profile-info:hover .profile-info__menu {
    opacity: 1;
    visibility: visible;
    transform: translate3d(0, 12%, 0);
    transition: opacity 0.3s ease-in-out 0.1s, transform 0.3s ease-in-out;
  }
}
#profile-info .desktop {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
}
#profile-info .mobile {
  display: none;
}
#profile-info .header__profile-info .icon {
  width: 100%;
  height: 100%;
}
#profile-info .header__profile-info, #profile-info .header__profile-info--login {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
}
#profile-info .header__profile-info--login {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.25rem;
}
@media (max-width: 1023px) {
  #profile-info {
    height: 100%;
  }
  #profile-info .header__profile-info {
    height: 100%;
    aspect-ratio: 1;
  }
  #profile-info .desktop {
    display: none;
  }
  #profile-info .mobile {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
  }
}

.profile-info--login {
  max-height: 3rem;
  aspect-ratio: 1/1;
}
@media (max-width: 1023px) {
  .profile-info--login {
    max-height: 2rem;
  }
}

.profile-info__menu {
  padding-top: 100%;
  visibility: hidden;
  opacity: 0;
  transform: translate3d(0, -100%, 0);
  position: absolute;
  top: 0;
  z-index: 0;
  transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
}
.profile-info__menu--items {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  border: 1px solid #fff;
  border-radius: 0.75rem;
  will-change: backdrop-filter;
  -webkit-backdrop-filter: blur(60px);
  backdrop-filter: blur(60px);
  overflow: hidden;
}
.profile-info__menu--item {
  display: block;
  width: 100%;
  background-color: rgba(255, 255, 255, 0);
  padding: 1rem;
  transition: background 0.3s ease-in-out, color 0.3s ease-in-out;
  border: 0;
  border-bottom: 1px solid #fff;
  cursor: pointer;
  text-align: start;
}
@media (hover: hover) and (pointer: fine) {
  .profile-info__menu--item:hover {
    background-color: #fff;
    color: #030305;
    cursor: pointer;
  }
}
.profile-info__menu--item:nth-last-child(1) {
  border-bottom: 0;
}
@media (max-width: 1023px) {
  .profile-info__menu {
    right: 0;
    display: none;
  }
}

.user-initial-avatar, .user-avatar {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  height: 100%;
  aspect-ratio: 1/1;
  overflow: hidden;
  padding: 25%;
  font-weight: 700;
  font-size: 14px;
  line-height: 143%;
  text-align: center;
  color: #fff;
  border-radius: 50%;
  background: linear-gradient(180deg, #6566e6 0%, #3738f1 100%);
  position: relative;
  z-index: 1;
}
.user-initial-avatar img, .user-avatar img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: inherit;
}
@media (max-width: 1023px) {
  .user-initial-avatar, .user-avatar {
    padding: 0;
  }
}

.user-initial-avatar {
  min-height: 100%;
}

.user-avatar {
  padding: 0;
}

.user-list {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  gap: 1rem;
  cursor: pointer;
}
.user-list__avatar.user-avatar__primary {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  width: 24%;
  height: auto;
  aspect-ratio: 1/1;
  padding: 4px;
}

.menu-button {
  color: #9E9595;
  cursor: pointer;
}

.user-avatar__primary {
  border-radius: 50%;
  width: 40px;
  height: 40px;
  background-color: #121241;
  padding: 4px;
}

.help-panel {
  position: fixed;
  top: 72px;
  right: 24px;
  z-index: 3001;
  display: flex;
  flex-direction: column;
  width: 420px;
  max-width: 90vw;
  max-height: 70vh;
}
@supports (max-height: 80svh) {
  .help-panel {
    max-height: 80svh;
  }
}
.help-panel {
  background: #fff;
  color: #111827;
  border: 1px solid #e6e8eb;
  border-radius: 12px;
  box-shadow: 0 16px 40px rgba(16, 24, 40, 0.18);
}
.help-panel.is-hidden {
  display: none;
}
.help-panel__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 12px;
  background: #0d1117;
  color: #e6edf3;
  border-top-left-radius: 12px;
  border-top-right-radius: 12px;
  cursor: grab;
  user-select: none;
}
.help-panel__title {
  font-weight: 700;
}
.help-panel__close {
  appearance: none;
  border: 0;
  background: transparent;
  color: #e6edf3;
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  padding: 2px 6px;
  border-radius: 6px;
}
.help-panel__close:hover {
  background: rgba(255, 255, 255, 0.12);
}
.help-panel__body {
  padding: 12px 14px;
  overflow: auto;
}
.help-panel__body ol {
  margin: 0 0 8px;
  padding-left: 1.25rem;
}
.help-panel__body code {
  background: #f6f8fa;
  padding: 0.1rem 0.3rem;
  border-radius: 6px;
}
.help-panel__body .muted {
  color: #6b7280;
  margin-top: 8px;
}

.help-launcher {
  position: absolute;
  top: 1rem;
  right: 1rem;
}

.profile__sidebar {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  flex: 0 0 24%;
  border-radius: 1.75rem;
  width: fit-content;
  height: fit-content;
  isolation: isolate;
  position: sticky;
  top: 1rem;
  transition: left 0.3s ease-in-out;
  z-index: 1000;
}
.profile__sidebar::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  -webkit-backdrop-filter: blur(18.5px);
  backdrop-filter: blur(18.5px);
  border-radius: 1.75rem;
  background: rgba(37, 37, 37, 0.75);
}
.profile__sidebar--logo {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  width: 60%;
  padding: 1.5rem;
}
.profile__sidebar--logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.profile__sidebar .notifications {
  padding: 1.5rem 1.5rem 0 0;
}
.profile__sidebar--row {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}
.profile__sidebar--item {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
  gap: 1.5rem;
  padding: 1.5rem 1.5rem 1.5rem 2.5rem;
  transition: background 0.3s ease-in-out, color 0.3s ease-in-out;
  position: relative;
}
.profile__sidebar--item svg {
  height: 100%;
}
.profile__sidebar--item svg path {
  transition: stroke 0.3s ease-in-out;
}
.profile__sidebar--item:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 0;
  background-color: #FF7A00;
  border-radius: 0 24px 25px 0;
  transition: width 0.3s ease-in-out;
}
@media (hover: hover) and (pointer: fine) {
  .profile__sidebar--item:hover:not(.active) svg path {
    stroke: #030305;
  }
}
.profile__sidebar--item:nth-last-child(1) {
  border-bottom: 0;
}
.profile__sidebar .active:before {
  width: 3%;
}
.profile__sidebar .active svg path {
  stroke: #030305;
}
.profile__sidebar--block-primary {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 1rem;
  padding: 1rem 1.875rem;
}
.profile__sidebar--block-primary__header {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 1rem;
  border-top: 1px solid #4A4A4A;
}
.profile__sidebar--block-primary__content .action {
  justify-content: space-between;
  width: 100%;
  padding: 0.75rem 1rem;
}
.profile__sidebar--block-primary__content .action:hover {
  color: #fff;
}
.profile__sidebar--block-primary__content .action__content {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: flex-start;
  text-align: start;
  max-width: 50%;
  white-space: initial;
  font-size: 15px;
  font-family: "DrukWideCyr Medium";
  font-style: normal;
  font-weight: 700;
  line-height: 120%;
  letter-spacing: 0.5px;
}
.profile__sidebar--block-primary__content .action .btn-app, .profile__sidebar--block-primary__content .action .btn-blue--soft, .profile__sidebar--block-primary__content .action .btn-dark--glass, .profile__sidebar--block-primary__content .action .btn-dark--glass-outline {
  padding: 0.5rem;
}
@media (max-width: 1023px) {
  .profile__sidebar {
    flex: 1 1 auto;
    width: 100svw;
    height: 100svh;
    min-height: auto;
    position: fixed;
    top: 4rem;
    left: -100svw;
    padding: 1rem 0.45rem 18% 0;
    border-radius: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: rgba(160, 160, 160, 0.42) transparent;
    -webkit-overflow-scrolling: touch;
  }
  .profile__sidebar::-webkit-scrollbar {
    width: 6px;
  }
  .profile__sidebar::-webkit-scrollbar-track {
    background: transparent;
  }
  .profile__sidebar::-webkit-scrollbar-thumb {
    background: rgba(160, 160, 160, 0.42);
    border-radius: 6px;
  }
  .profile__sidebar:before {
    border-radius: 0;
  }
  .profile__sidebar--logo {
    display: none;
  }
  .profile__sidebar--item {
    gap: 1rem;
    height: fit-content;
    padding: 1rem 1rem 1rem 1.5rem;
  }
  .profile__sidebar--item.active:before {
    width: 2%;
  }
  .profile__sidebar--actions-top {
    display: none;
  }
}

.profile__sidebar--active {
  left: 0;
}

.status {
  width: fit-content;
  height: fit-content;
  color: #fff;
  font-size: 0.875rem;
  font-style: normal;
  font-weight: 600;
  line-height: 120%;
  padding: 0.25rem 0.5rem;
  border-radius: 100px;
}
.status--completed {
  background-color: #34C759;
}
.status--rejected {
  background-color: #F04248;
}
.status--submitted {
  background-color: #FFA600;
}
.status--not_started {
  background-color: #818C98;
}
.status--in_progress {
  background-color: #2630f5;
}

.progress-bar {
  width: 100%;
  background-color: transparent;
  border-radius: 0.75rem;
  box-shadow: none;
}
.progress-bar__track {
  height: 100%;
  min-height: 1rem;
  max-height: 1.4rem;
  background-color: #CCDAFF;
}
.progress-bar__fill {
  width: 10%;
  height: 100%;
  min-height: 1rem;
  max-height: 1.4rem;
  background-color: #FF7A00;
}
.progress-bar__steps {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  padding: 1rem 0 0 1.875rem;
}

.score-bar {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.5rem;
  position: relative;
  z-index: 1;
}
.score-bar__header {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.score-bar__progress {
  width: 100%;
  height: 2rem;
  overflow: hidden;
  border-radius: 0.75rem;
  background: linear-gradient(75deg, rgba(16, 17, 54, 0.3) 4.88%, rgba(16, 17, 54, 0.31) 63.35%);
  mix-blend-mode: overlay;
}
.score-bar__progress-fill {
  height: 100%;
  transition: width 1s ease-in-out;
  animation: fadeIn 1s forwards;
}
@keyframes fadeIn {
  from {
    width: 0;
  }
  to {
    width: var(--progress);
  }
}
.score-bar .progress-fill--orange {
  background: linear-gradient(75deg, rgb(255, 122, 0) 4.88%, rgba(255, 221, 0, 0.86) 63.35%);
}
.score-bar .progress-fill--purple {
  background: #7F29FA;
}
.score-bar .progress-fill--dark-blue {
  background: rgba(42, 46, 203, 0.87);
}
.score-bar .progress-fill--green-light {
  background: #9AFA34;
}
.score-bar .progress-fill--blue {
  background: #2DC1FD;
}
.score-bar .progress-fill--red {
  background: #FB4343;
}

.question {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 2rem;
}
.question__single-choice, .question__multiple-choice {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 2rem;
}
.question__single-choice .answers, .question__multiple-choice .answers {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 1rem;
}
.question__single-choice .answers .answer, .question__multiple-choice .answers .answer {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.question__single-choice .answers .answer *, .question__multiple-choice .answers .answer * {
  cursor: pointer;
}
.question__single-choice .answers .answer input[type=radio], .question__multiple-choice .answers .answer input[type=radio] {
  display: none;
}
.question__single-choice .answers .answer input[type=radio]:checked ~ .answer__radio, .question__multiple-choice .answers .answer input[type=radio]:checked ~ .answer__radio {
  border-width: 10px;
}
.question__single-choice .answers .answer input[type=radio]:checked ~ .answer__radio::after, .question__multiple-choice .answers .answer input[type=radio]:checked ~ .answer__radio::after {
  opacity: 1;
}
.question__single-choice .answers .answer input[type=radio]:checked ~ .answer-image, .question__multiple-choice .answers .answer input[type=radio]:checked ~ .answer-image {
  border-color: #FF7A00;
}
.question__single-choice .answers .answer__radio, .question__multiple-choice .answers .answer__radio {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  width: 24px;
  height: 24px;
  aspect-ratio: 1/1;
  border: 2px solid #FF7A00;
  border-radius: 50%;
  position: relative;
  transition: border 0.3s ease-in-out;
}
.question__single-choice .answers .answer__radio::after, .question__multiple-choice .answers .answer__radio::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0.5rem;
  height: 0.5rem;
  background-color: #fff;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
}
.question__single-choice .answers--images, .question__multiple-choice .answers--images {
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  justify-content: space-between;
  gap: 2rem;
}
.question__single-choice .answers--images .answer__radio:after, .question__single-choice .answers--images .answer__value, .question__single-choice .answers--images .answer__radio, .question__multiple-choice .answers--images .answer__radio:after, .question__multiple-choice .answers--images .answer__value, .question__multiple-choice .answers--images .answer__radio {
  display: none;
}
.question__single-choice .answers--images .answer, .question__multiple-choice .answers--images .answer {
  flex: 0 1 31%;
  overflow: hidden;
}
.question__single-choice .answers--images .answer img, .question__multiple-choice .answers--images .answer img {
  width: 100%;
  height: 100%;
  border: 2px solid transparent;
  transition: border 0.3s ease-in-out;
  border-radius: 1.75rem;
}
@media (max-width: 580px) {
  .question__single-choice .answers .answer__radio, .question__multiple-choice .answers .answer__radio {
    width: 18px;
    height: 18px;
  }
  .question__single-choice .answers .answer__radio::after, .question__multiple-choice .answers .answer__radio::after {
    width: 0.4rem;
    height: 0.4rem;
  }
  .question__single-choice .answers .answer input[type=radio]:checked ~ .answer__radio, .question__multiple-choice .answers .answer input[type=radio]:checked ~ .answer__radio {
    border-width: 8px;
  }
  .question__single-choice .answers--images, .question__multiple-choice .answers--images {
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    gap: 0.5rem;
  }
  .question__single-choice .answers--images .answer, .question__multiple-choice .answers--images .answer {
    flex: 0 1 calc(50% - 0.5rem);
  }
}

.test-purpose {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 3.75rem;
}
.test-purpose .btn-app, .test-purpose .btn-blue--soft, .test-purpose .btn-dark--glass, .test-purpose .btn-dark--glass-outline {
  grid-column: 4/5;
  grid-row: 7/8;
  width: 100%;
}
@media (max-width: 1450px) {
  .test-purpose .btn-app, .test-purpose .btn-blue--soft, .test-purpose .btn-dark--glass, .test-purpose .btn-dark--glass-outline {
    grid-column: 1/5;
    grid-row: 12/13;
  }
}

.test-purpose__cards {
  display: grid;
  grid-column: 1/5;
  row-gap: 1.5rem;
  column-gap: 0.75rem;
}

.test-purpose__card, .test-purpose__card--dark {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 1rem;
  border-radius: 1.75rem;
  border: 1px solid #fff;
  padding: 1.875rem;
  position: relative;
  overflow: hidden;
  background-color: #fff;
}
.test-purpose__card *, .test-purpose__card--dark * {
  color: #030305;
}
.test-purpose__card-img, .test-purpose__card--dark-img {
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  z-index: -1;
}
.test-purpose__card:nth-child(1), .test-purpose__card--dark:nth-child(1) {
  grid-column: 1/4;
  grid-row: 1/4;
}
.test-purpose__card:nth-child(2), .test-purpose__card--dark:nth-child(2) {
  grid-column: 4/5;
  grid-row: 1/7;
}
.test-purpose__card:nth-child(2) .test-purpose__card-img, .test-purpose__card--dark:nth-child(2) .test-purpose__card-img {
  height: initial;
  top: initial;
  bottom: 0;
}
.test-purpose__card:nth-child(3), .test-purpose__card--dark:nth-child(3) {
  grid-column: 1/4;
  grid-row: 4/8;
}
.test-purpose__card:nth-child(1) .test-purpose__card-text, .test-purpose__card:nth-child(3) .test-purpose__card-text, .test-purpose__card--dark:nth-child(1) .test-purpose__card-text, .test-purpose__card--dark:nth-child(3) .test-purpose__card-text {
  max-width: 55%;
}
@media (max-width: 768px) {
  .test-purpose__card:nth-child(1), .test-purpose__card--dark:nth-child(1) {
    grid-column: 1/5;
  }
  .test-purpose__card:nth-child(2), .test-purpose__card--dark:nth-child(2) {
    grid-column: 1/5;
    grid-row: 8/12;
  }
  .test-purpose__card:nth-child(3), .test-purpose__card--dark:nth-child(3) {
    grid-column: 1/5;
    grid-row: 4/8;
  }
}

.test-purpose__card--dark {
  background: rgba(37, 37, 37, 0.75);
  backdrop-filter: blur(18.5px);
  -webkit-backdrop-filter: blur(18.5px);
  border: 1px solid rgba(37, 37, 37, 0.75);
}
.test-purpose__card--dark * {
  color: #fff;
}

.list {
  display: flex;
  flex-direction: column;
  padding: 0;
  gap: 1rem;
}
.list--compact {
  gap: 0;
  border-radius: 1.75rem;
  background: rgba(37, 37, 37, 0.75);
  backdrop-filter: blur(18.5px);
  padding-block: 1rem;
}
.list--compact .list__item {
  padding: 1rem 2rem;
  cursor: pointer;
  background-color: transparent;
  transition: background-color 0.3s ease-in-out;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1176470588);
}
@media (hover: hover) and (pointer: fine) {
  .list--compact .list__item:hover {
    background-color: rgba(38, 48, 245, 0.3);
  }
}
.list--compact .list__item__media {
  max-height: 100%;
}
.list--spacious .list__item__avatar {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  flex: 0 0 auto;
  align-self: stretch;
  aspect-ratio: 1;
  border-radius: 50%;
  overflow: hidden;
  position: relative;
  z-index: 1;
  background: #fff;
}
.list--spacious .list__item__avatar .avatar__initials {
  font-weight: 700;
}
.list--spacious .list__item__avatar img {
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
  border-radius: inherit;
  user-select: none;
  -webkit-user-drag: none;
}
.list--spacious .list__item__avatar--circle {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  flex: 0 0 clamp(2.75rem, 4vw, 3.5rem);
  width: clamp(2.75rem, 4vw, 3.5rem);
  height: clamp(2.75rem, 4vw, 3.5rem);
  border-radius: 50%;
  overflow: hidden;
  position: relative;
  z-index: 1;
  background: #fff;
  margin-right: 1rem;
}
.list--spacious .list__item__avatar--circle .avatar__initials {
  font-weight: 700;
}
.list--spacious .list__item__avatar--circle img {
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
  border-radius: inherit;
  user-select: none;
  -webkit-user-drag: none;
}
.list--spacious .list__item__media {
  flex: 0 0 4%;
  position: relative;
  margin-block: -1rem -2rem;
  margin-left: 0;
  z-index: 2;
}
.list--spacious .list__item__media--secondary {
  flex: 0 0 12%;
  aspect-ratio: 2/1;
}
.list--spacious .list__item__media .media-overlay {
  display: block;
  object-fit: cover;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 0;
  pointer-events: none;
  border-radius: 0;
}
.list--spacious .list__item__media .list__item__media-image {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: bottom;
  border-radius: 0;
  user-select: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -webkit-user-drag: none;
  user-drag: none;
}
.list--spacious .list__item__media .list__item-action.action--status {
  position: absolute;
  left: 50%;
  top: 55%;
  transform: translateX(-50%);
  z-index: 3;
  pointer-events: auto;
  font-size: 1em;
}
.list__item {
  display: flex;
  justify-content: space-between;
  list-style-type: none;
  overflow: hidden;
  position: relative;
}
.list__item-overlay-link {
  width: 100%;
  height: 100%;
  z-index: 1;
  position: absolute;
  top: 0;
  left: 0;
  background: transparent;
  text-indent: -99999px;
}
.list__item__main {
  display: flex;
  gap: 0.625rem;
  flex: 1 1 auto;
  position: relative;
  z-index: -1;
  margin-left: 2rem;
}
.list__item--link {
  display: flex;
  justify-content: space-between;
  width: 100%;
}
.list__item-info {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0.5rem;
}
.list__item-groups {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}
.list__item-groups img {
  max-width: 100%;
  max-height: 75%;
  height: auto;
}
.list__item-actions {
  display: flex;
  align-items: center;
  gap: 1rem;
  position: relative;
  z-index: 1;
}
.list__item-action:not(.btn-app):not(.btn-blue--soft):not(.btn-dark--glass):not(.btn-dark--glass-outline) {
  background-color: transparent;
  border: 0;
  z-index: 10;
}
.list__item-action:not(.btn-app):not(.btn-blue--soft):not(.btn-dark--glass):not(.btn-dark--glass-outline) * {
  pointer-events: none;
}
.list .courses-archived-item {
  background: rgba(67, 75, 246, 0.25);
  backdrop-filter: blur(18.5px);
}

/**
 * tom-select.css (v2.4.3)
 * Copyright (c) contributors
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
 * file except in compliance with the License. You may obtain a copy of the License at:
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software distributed under
 * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
 * ANY KIND, either express or implied. See the License for the specific language
 * governing permissions and limitations under the License.
 *
 */
.ts-control {
  border: 1px solid #d0d0d0;
  padding: 8px 8px;
  width: 100%;
  overflow: hidden;
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  box-shadow: none;
  border-radius: 3px;
  display: flex;
  flex-wrap: wrap;
}
.ts-wrapper.multi.has-items .ts-control {
  padding: calc(8px - 2px - 0) 8px calc(8px - 2px - 3px - 0);
}
.full .ts-control {
  background-color: #fff;
}
.disabled .ts-control, .disabled .ts-control * {
  cursor: default !important;
}
.focus .ts-control {
  box-shadow: none;
}
.ts-control > * {
  vertical-align: baseline;
  display: inline-block;
}
.ts-wrapper.multi .ts-control > div {
  cursor: pointer;
  margin: 0 3px 3px 0;
  padding: 2px 6px;
  background: #f2f2f2;
  color: #303030;
  border: 0 solid #d0d0d0;
}
.ts-wrapper.multi .ts-control > div.active {
  background: #e8e8e8;
  color: #303030;
  border: 0 solid #cacaca;
}
.ts-wrapper.multi.disabled .ts-control > div, .ts-wrapper.multi.disabled .ts-control > div.active {
  color: rgb(124.5, 124.5, 124.5);
  background: white;
  border: 0 solid white;
}
.ts-control > input {
  flex: 1 1 auto;
  min-width: 7rem;
  display: inline-block !important;
  padding: 0 !important;
  min-height: 0 !important;
  max-height: none !important;
  max-width: 100% !important;
  margin: 0 !important;
  text-indent: 0 !important;
  border: 0 none !important;
  background: none !important;
  line-height: inherit !important;
  user-select: auto !important;
  box-shadow: none !important;
}
.ts-control > input::-ms-clear {
  display: none;
}
.ts-control > input:focus {
  outline: none !important;
}
.has-items .ts-control > input {
  margin: 0 4px !important;
}
.ts-control.rtl {
  text-align: right;
}
.ts-control.rtl.single .ts-control:after {
  left: 15px;
  right: auto;
}
.ts-control.rtl .ts-control > input {
  margin: 0 4px 0 -2px !important;
}
.disabled .ts-control {
  opacity: 0.5;
  background-color: #fafafa;
}
.input-hidden .ts-control > input {
  opacity: 0;
  position: absolute;
  left: -10000px;
}

.ts-dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  z-index: 10;
  border: 1px solid #d0d0d0;
  background: #fff;
  margin: 0.25rem 0 0;
  border-top: 0 none;
  box-sizing: border-box;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  border-radius: 0 0 3px 3px;
}
.ts-dropdown [data-selectable] {
  cursor: pointer;
  overflow: hidden;
}
.ts-dropdown [data-selectable] .highlight {
  background: rgba(125, 168, 208, 0.2);
  border-radius: 1px;
}
.ts-dropdown .option,
.ts-dropdown .optgroup-header,
.ts-dropdown .no-results,
.ts-dropdown .create {
  padding: 5px 8px;
}
.ts-dropdown .option, .ts-dropdown [data-disabled], .ts-dropdown [data-disabled] [data-selectable].option {
  cursor: inherit;
  opacity: 0.5;
}
.ts-dropdown [data-selectable].option {
  opacity: 1;
  cursor: pointer;
}
.ts-dropdown .optgroup:first-child .optgroup-header {
  border-top: 0 none;
}
.ts-dropdown .optgroup-header {
  color: #303030;
  background: #fff;
  cursor: default;
}
.ts-dropdown .active {
  background-color: #f5fafd;
  color: #495c68;
}
.ts-dropdown .active.create {
  color: #495c68;
}
.ts-dropdown .create {
  color: rgba(48, 48, 48, 0.5);
}
.ts-dropdown .spinner {
  display: inline-block;
  width: 30px;
  height: 30px;
  margin: 5px 8px;
}
.ts-dropdown .spinner::after {
  content: " ";
  display: block;
  width: 24px;
  height: 24px;
  margin: 3px;
  border-radius: 50%;
  border: 5px solid #d0d0d0;
  border-color: #d0d0d0 transparent #d0d0d0 transparent;
  animation: lds-dual-ring 1.2s linear infinite;
}
@keyframes lds-dual-ring {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

.ts-dropdown-content {
  overflow: hidden auto;
  max-height: 200px;
  scroll-behavior: smooth;
}

.ts-wrapper.plugin-drag_drop .ts-dragging {
  color: transparent !important;
}
.ts-wrapper.plugin-drag_drop .ts-dragging > * {
  visibility: hidden !important;
}

.plugin-checkbox_options:not(.rtl) .option input {
  margin-right: 0.5rem;
}

.plugin-checkbox_options.rtl .option input {
  margin-left: 0.5rem;
}

/* stylelint-disable function-name-case */
.plugin-clear_button {
  --ts-pr-clear-button: 1em;
}
.plugin-clear_button .clear-button {
  opacity: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: calc(8px - 6px);
  margin-right: 0 !important;
  background: transparent !important;
  transition: opacity 0.5s;
  cursor: pointer;
}
.plugin-clear_button.form-select .clear-button, .plugin-clear_button.single .clear-button {
  right: max(var(--ts-pr-caret), 8px);
}
.plugin-clear_button.focus.has-items .clear-button, .plugin-clear_button:not(.disabled):hover.has-items .clear-button {
  opacity: 1;
}

.ts-wrapper .dropdown-header {
  position: relative;
  padding: 10px 8px;
  border-bottom: 1px solid #d0d0d0;
  background: color-mix(#fff, #d0d0d0, 85%);
  border-radius: 3px 3px 0 0;
}
.ts-wrapper .dropdown-header-close {
  position: absolute;
  right: 8px;
  top: 50%;
  color: #303030;
  opacity: 0.4;
  margin-top: -12px;
  line-height: 20px;
  font-size: 20px !important;
}
.ts-wrapper .dropdown-header-close:hover {
  color: black;
}

.plugin-dropdown_input.focus.dropdown-active .ts-control {
  box-shadow: none;
  border: 1px solid #d0d0d0;
}
.plugin-dropdown_input .dropdown-input {
  border: 1px solid #d0d0d0;
  border-width: 0 0 1px;
  display: block;
  padding: 8px 8px;
  box-shadow: none;
  width: 100%;
  background: transparent;
}
.plugin-dropdown_input .items-placeholder {
  border: 0 none !important;
  box-shadow: none !important;
  width: 100%;
}
.plugin-dropdown_input.has-items .items-placeholder, .plugin-dropdown_input.dropdown-active .items-placeholder {
  display: none !important;
}

.ts-wrapper.plugin-input_autogrow.has-items .ts-control > input {
  min-width: 0;
}
.ts-wrapper.plugin-input_autogrow.has-items.focus .ts-control > input {
  flex: none;
  min-width: 4px;
}
.ts-wrapper.plugin-input_autogrow.has-items.focus .ts-control > input::placeholder {
  color: transparent;
}

.ts-dropdown.plugin-optgroup_columns .ts-dropdown-content {
  display: flex;
}
.ts-dropdown.plugin-optgroup_columns .optgroup {
  border-right: 1px solid #f2f2f2;
  border-top: 0 none;
  flex-grow: 1;
  flex-basis: 0;
  min-width: 0;
}
.ts-dropdown.plugin-optgroup_columns .optgroup:last-child {
  border-right: 0 none;
}
.ts-dropdown.plugin-optgroup_columns .optgroup::before {
  display: none;
}
.ts-dropdown.plugin-optgroup_columns .optgroup-header {
  border-top: 0 none;
}

.ts-wrapper.plugin-remove_button .item {
  display: inline-flex;
  align-items: center;
}
.ts-wrapper.plugin-remove_button .item .remove {
  color: inherit;
  text-decoration: none;
  vertical-align: middle;
  display: inline-block;
  padding: 0 6px;
  border-radius: 0 2px 2px 0;
  box-sizing: border-box;
}
.ts-wrapper.plugin-remove_button .item .remove:hover {
  background: rgba(0, 0, 0, 0.05);
}
.ts-wrapper.plugin-remove_button.disabled .item .remove:hover {
  background: none;
}
.ts-wrapper.plugin-remove_button .remove-single {
  position: absolute;
  right: 0;
  top: 0;
  font-size: 23px;
}

.ts-wrapper.plugin-remove_button:not(.rtl) .item {
  padding-right: 0 !important;
}
.ts-wrapper.plugin-remove_button:not(.rtl) .item .remove {
  border-left: 1px solid #d0d0d0;
  margin-left: 6px;
}
.ts-wrapper.plugin-remove_button:not(.rtl) .item.active .remove {
  border-left-color: #cacaca;
}
.ts-wrapper.plugin-remove_button:not(.rtl).disabled .item .remove {
  border-left-color: white;
}

.ts-wrapper.plugin-remove_button.rtl .item {
  padding-left: 0 !important;
}
.ts-wrapper.plugin-remove_button.rtl .item .remove {
  border-right: 1px solid #d0d0d0;
  margin-right: 6px;
}
.ts-wrapper.plugin-remove_button.rtl .item.active .remove {
  border-right-color: #cacaca;
}
.ts-wrapper.plugin-remove_button.rtl.disabled .item .remove {
  border-right-color: white;
}

:root {
  --ts-pr-clear-button: 0px;
  --ts-pr-caret: 0px;
  --ts-pr-min: .75rem;
}

.ts-wrapper.single .ts-control, .ts-wrapper.single .ts-control input {
  cursor: pointer;
}

.ts-wrapper {
  position: relative;
}

.ts-dropdown,
.ts-control,
.ts-control input {
  color: #303030;
  font-family: inherit;
  font-size: 13px;
  line-height: 18px;
}

.ts-control,
.ts-wrapper.single.input-active .ts-control {
  background: #fff;
  cursor: text;
}

.ts-hidden-accessible {
  border: 0 !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  width: 1px !important;
  white-space: nowrap !important;
}

.pdf-viewer {
  --pv-bg: #0f1426;
  --pv-surface: rgba(17,20,36,0.72);
  --pv-surface-strong: rgba(13,17,30,0.85);
  --pv-border: rgba(255,255,255,0.10);
  --pv-border-strong: rgba(255,255,255,0.18);
  --pv-text: #fff;
  --pv-muted: rgba(255,255,255,0.75);
  --pv-shadow: 0 10px 24px rgba(0,0,0,.35);
  --pv-radius: 16px;
  --pv-radius-sm: 12px;
  --pv-gap: 12px;
  --pv-accent-1: #6a5af9;
  --pv-accent-2: #a86bff;
  --pv-accent-3: #ff7ad9;
  position: relative;
  width: 100%;
  overflow: auto !important;
  color-scheme: dark;
  background: radial-gradient(1200px 600px at 70% -20%, rgba(106, 90, 249, 0.12), transparent 70%), radial-gradient(1000px 500px at -10% 110%, rgba(255, 122, 217, 0.1), transparent 65%), var(--pv-bg);
  border-radius: var(--pv-radius);
  scroll-behavior: smooth;
}
.pdf-viewer__canvas {
  display: block;
  margin: 0 auto;
  max-width: 100%;
  height: auto;
  background: #fff;
  border-radius: var(--pv-radius-sm);
  box-shadow: var(--pv-shadow);
  image-rendering: -webkit-optimize-contrast;
  image-rendering: crisp-edges;
}
.pdf-viewer .pdf-toolbar {
  position: sticky;
  left: 0;
  right: 0;
  bottom: 0;
  margin: 0 12px 12px;
  padding: 10px 12px;
  display: flex;
  align-items: center;
  gap: var(--pv-gap);
  color: var(--pv-text);
  background: linear-gradient(180deg, rgba(20, 24, 46, 0.78), rgba(14, 17, 34, 0.78));
  border: 1px solid var(--pv-border);
  border-radius: 14px;
  backdrop-filter: blur(10px);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.35);
  z-index: 3;
}
.pdf-viewer__group, .pdf-viewer .pdf-toolbar__group {
  display: flex;
  align-items: center;
  gap: 8px;
}
.pdf-viewer__spacer, .pdf-viewer .pdf-toolbar__spacer {
  flex: 1 1 auto;
}
.pdf-viewer .pdf-toolbar__label, .pdf-viewer__total {
  color: var(--pv-muted);
  font: 600 14px/1.1 system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  margin: 0 4px;
}
.pdf-viewer .pdf-toolbar__fullscreen {
  min-width: 44px;
}
.pdf-viewer .pdf-btn {
  appearance: none;
  border: 0;
  padding: 10px 14px;
  min-height: 36px;
  min-width: 36px;
  border-radius: 10px;
  cursor: pointer;
  color: var(--pv-text);
  font: 700 15px/1 system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  user-select: none;
  background: linear-gradient(135deg, var(--pv-accent-1), var(--pv-accent-2) 50%, var(--pv-accent-3));
  box-shadow: 0 6px 14px rgba(106, 90, 249, 0.35), inset 0 0 0 1px rgba(255, 255, 255, 0.15);
  transition: transform 0.06s ease, filter 0.18s ease, box-shadow 0.18s ease;
}
.pdf-viewer .pdf-btn:hover {
  filter: brightness(1.07);
}
.pdf-viewer .pdf-btn:active {
  transform: translateY(1px);
}
.pdf-viewer .pdf-btn:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.2), 0 6px 14px rgba(106, 90, 249, 0.35), inset 0 0 0 1px rgba(255, 255, 255, 0.2);
}
.pdf-viewer .pdf-btn:disabled {
  opacity: 0.55;
  cursor: default;
  filter: grayscale(0.3) brightness(0.95);
  transform: none;
}
.pdf-viewer .pdf-btn--ghost {
  background: rgba(255, 255, 255, 0.1);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.14);
}
.pdf-viewer .pdf-btn--ghost:hover {
  background: rgba(255, 255, 255, 0.16);
}
.pdf-viewer__fullscreen .icon {
  pointer-events: none;
}
.pdf-viewer__status {
  position: absolute;
  left: 16px;
  right: 16px;
  top: 16px;
  padding: 10px 12px;
  border-radius: 10px;
  background: var(--pv-surface-strong);
  color: var(--pv-text);
  font: 600 14px/1.2 system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  border: 1px solid var(--pv-border);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s ease;
  z-index: 4;
}
.pdf-viewer__status.is-visible {
  opacity: 1;
}
.pdf-viewer__status.is-error {
  background: rgba(163, 24, 36, 0.92);
  border-color: rgba(255, 255, 255, 0.18);
}
.pdf-viewer.is-fullscreen {
  position: fixed;
  inset: 0;
  z-index: 20001;
  border-radius: 0;
  padding-bottom: calc(82px + env(safe-area-inset-bottom));
  background: #050815;
  box-shadow: none !important;
  overflow: auto !important;
}
.pdf-viewer.is-fullscreen .pdf-toolbar {
  position: fixed;
  left: 16px;
  right: 16px;
  bottom: 16px;
  margin: 0;
}
.pdf-viewer.is-fullscreen .pdf-viewer__canvas {
  box-shadow: none;
  border-radius: 0;
}
.pdf-viewer.is-theater {
  position: fixed;
  inset: 0;
  z-index: 20000;
  border-radius: 0;
  padding-bottom: calc(82px + env(safe-area-inset-bottom));
  background: #050815;
  box-shadow: none !important;
  overflow: auto !important;
}
.pdf-viewer.is-theater .pdf-toolbar {
  position: fixed;
  left: 16px;
  right: 16px;
  bottom: 16px;
  margin: 0;
}
.pdf-viewer.is-theater .pdf-viewer__canvas {
  box-shadow: none;
  border-radius: 0;
}

.pdf-theater-overlay {
  position: fixed;
  inset: 0;
  z-index: 25000;
  background: #050815;
  padding-bottom: env(safe-area-inset-bottom);
}

.pdf-viewer--theater {
  position: absolute;
  inset: 0;
  border-radius: 0;
  padding-bottom: calc(82px + env(safe-area-inset-bottom));
  box-shadow: none !important;
  overflow: auto !important;
}
.pdf-viewer--theater .pdf-toolbar {
  position: fixed;
  left: 16px;
  right: 16px;
  bottom: 16px;
  margin: 0;
}

.pdf-viewer--theater .pdf-viewer__canvas {
  box-shadow: none;
  border-radius: 0;
}

.pdf-viewer .pdf-view-menu-wrap {
  position: relative;
}

.pdf-viewer .pdf-view-menu-wrap.is-disabled .pdf-view-menu {
  display: none;
}

.pdf-viewer .pdf-view-menu {
  position: absolute;
  right: 0;
  bottom: calc(100% + 10px);
  min-width: 230px;
  padding: 8px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  background: var(--pv-surface-strong);
  border: 1px solid var(--pv-border-strong);
  border-radius: 14px;
  backdrop-filter: blur(10px);
  box-shadow: var(--pv-shadow);
  z-index: 5;
}

.pdf-viewer .pdf-view-menu-wrap.is-down .pdf-view-menu {
  top: calc(100% + 10px);
  bottom: auto;
}

.pdf-viewer .pdf-view-menu-wrap.is-left .pdf-view-menu {
  left: 0;
  right: auto;
}

.pdf-viewer .pdf-view-menu__item {
  appearance: none;
  border: 1px solid var(--pv-border);
  background: rgba(255, 255, 255, 0.08);
  color: var(--pv-text);
  border-radius: 12px;
  padding: 10px 12px;
  font: 700 14px/1.1 system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  text-align: left;
  cursor: pointer;
  transition: background 0.15s ease, transform 0.06s ease;
}
.pdf-viewer .pdf-view-menu__item:hover {
  background: rgba(255, 255, 255, 0.14);
}
.pdf-viewer .pdf-view-menu__item:active {
  transform: translateY(1px);
}

body.pdf-theater-open .content {
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  filter: none !important;
  transform: none !important;
}
body.pdf-theater-open .doc-shell,
body.pdf-theater-open .doc,
body.pdf-theater-open .profile,
body.pdf-theater-open .profile__content,
body.pdf-theater-open .profile__main {
  filter: none !important;
  transform: none !important;
}

@media (prefers-reduced-motion: reduce) {
  .pdf-viewer .pdf-btn,
  .pdf-viewer .pdf-toolbar,
  .pdf-viewer__status {
    transition: none;
  }
}
.partners {
  position: relative;
}
.partners .partners-slider .swiper-slide {
  align-items: center;
  justify-content: center;
  text-align: center;
  position: relative;
  border-radius: 1.75rem;
  padding: 1rem;
  background: rgba(37, 37, 37, 0.75);
  -webkit-backdrop-filter: blur(18.5px);
  backdrop-filter: blur(18.5px);
  border: 0;
  overflow: hidden;
}
.partners .partners-slider .swiper-slide::before {
  content: "";
  display: block;
  width: 100%;
  padding-bottom: 62.5%;
}
.partners .partners-slider .swiper-slide img {
  position: absolute;
  inset: 1rem;
  width: calc(100% - 2rem);
  height: calc(100% - 2rem);
  object-fit: contain;
}

.filials {
  position: relative;
  z-index: 10;
  padding-bottom: clamp(3.125rem, 6vw, 6.25rem);
}
.filials.filials--dark__item {
  background-color: #030305;
  border-color: #fff;
}
.filials.filials--dark__item * {
  color: #fff;
}
.filials.filials--dark .active {
  background-color: #fff;
}
.filials.filials--dark .active .filial__full-address, .filials.filials--dark .active .filial__metro-station {
  color: #1E1D30;
}
.filials.filials--light__item {
  background-color: rgba(255, 255, 255, 0.92);
  border-color: rgba(0, 0, 0, 0.08);
}
.filials.filials--light__item * {
  color: #1E1D30;
}
.filials {
  /* === НОВОЕ: защита от «свайпа в историю» для контейнера слайдера === */
}
.filials__list.swiper-container {
  overscroll-behavior-x: contain;
  touch-action: pan-y;
}
.filials__list {
  margin-bottom: 1rem;
}
.filials__item {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  justify-content: flex-end;
  gap: 1rem;
  border-radius: 24px;
  padding: 1.5rem;
  max-width: 360px;
  min-width: 360px;
  cursor: pointer;
  border: 1px solid #fff;
  background: rgba(37, 37, 37, 0.75);
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
}
.filials__type {
  color: #2630f5;
  margin-bottom: auto;
}
.filials .filial__full-address {
  margin-bottom: auto;
}
.filials__metro-station {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  gap: 0.3rem;
}
.filials .active {
  background-color: #fff;
}
.filials .active .filial__full-address, .filials .active .filial__metro-station {
  color: #1E1D30;
}
.filials {
  /* === НОВОЕ: единый hover — превращаем карточку в белую в обеих темах === */
}
@media (hover: hover) and (pointer: fine) {
  .filials__item:hover {
    background-color: #fff;
    border-color: #fff;
  }
  .filials__item:hover .filial__full-address, .filials__item:hover .filial__metro-station {
    color: #1E1D30;
  }
}
.filials__map {
  margin-top: 2rem;
  overflow: hidden;
  border-radius: 24px;
  height: 520px;
  position: relative;
}
.filials__map-canvas {
  position: absolute;
  inset: 0;
}
.filials__contacts {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  justify-content: flex-start;
  gap: 1.5rem;
  background-color: #2630f5;
  padding: 2rem;
  width: fit-content;
  height: 100%;
  max-width: 30%;
  border-radius: 24px 0 0 24px;
  position: absolute;
  z-index: 1;
}
.filials__contact-item {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  gap: 1rem;
}
.filials__contact-item img {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  height: fit-content;
}
.filials__contact-item--address {
  max-width: 80%;
}
.filials__contact-item--time-work {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  padding-block: 5%;
  border-top: 1px solid #fff;
  border-bottom: 1px solid #fff;
}
.filials__list-time {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 1rem;
}
.filials__time-item {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  gap: 1rem;
}
.filials__time-item p {
  margin-bottom: 0;
}
.filials .title-small {
  font-family: "Inter Regular";
}
.filials .text-medium {
  line-height: 100%;
}
.filials iframe {
  width: 100%;
  height: 100%;
}

@media (max-width: 991px) {
  .filials__map {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column-reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
    gap: 1rem;
  }
  .filials__contacts {
    gap: 1rem;
    width: 100%;
    max-width: initial;
    border-radius: 24px;
    position: relative;
    padding: 1rem;
  }
  iframe {
    height: 20%;
    border-radius: 24px;
  }
}
