.rdp {
  --rdp-cell-size: 40px; /* Size of the day cells. */
  --rdp-caption-font-size: 18px; /* Font size for the caption labels. */
  --rdp-accent-color: #0000ff; /* Accent color for the background of selected days. */
  --rdp-background-color: #e7edff; /* Background color for the hovered/focused elements. */
  --rdp-accent-color-dark: #3003e1; /* Accent color for the background of selected days (to use in dark-mode). */
  --rdp-background-color-dark: #180270; /* Background color for the hovered/focused elements (to use in dark-mode). */
  --rdp-outline: 2px solid var(--rdp-accent-color); /* Outline border for focused elements */
  --rdp-outline-selected: 3px solid var(--rdp-accent-color); /* Outline border for focused _and_ selected elements */
  --rdp-selected-color: #fff; /* Color of selected day text */

  margin: 1em;
}

/* Hide elements for devices that are not screen readers */
.rdp-vhidden {
  box-sizing: border-box;
  padding: 0;
  margin: 0;
  background: transparent;
  border: 0;
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  position: absolute !important;
  top: 0;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(1px, 1px, 1px, 1px) !important;
  border: 0 !important;
}

/* Buttons */
.rdp-button_reset {
  appearance: none;
  position: relative;
  margin: 0;
  padding: 0;
  cursor: default;
  color: inherit;
  background: none;
  font: inherit;

  -moz-appearance: none;
  -webkit-appearance: none;
}

.rdp-button_reset:focus-visible {
  /* Make sure to reset outline only when :focus-visible is supported */
  outline: none;
}

.rdp-button {
  border: 2px solid transparent;
}

.rdp-button[disabled]:not(.rdp-day_selected) {
  opacity: 0.25;
}

.rdp-button:not([disabled]) {
  cursor: pointer;
}

.rdp-button:focus-visible:not([disabled]) {
  color: inherit;
  background-color: var(--rdp-background-color);
  border: var(--rdp-outline);
}

.rdp-button:hover:not([disabled]):not(.rdp-day_selected) {
  background-color: var(--rdp-background-color);
}

.rdp-months {
  display: flex;
}

.rdp-month {
  margin: 0 1em;
}

.rdp-month:first-child {
  margin-left: 0;
}

.rdp-month:last-child {
  margin-right: 0;
}

.rdp-table {
  margin: 0;
  max-width: calc(var(--rdp-cell-size) * 7);
  border-collapse: collapse;
}

.rdp-with_weeknumber .rdp-table {
  max-width: calc(var(--rdp-cell-size) * 8);
  border-collapse: collapse;
}

.rdp-caption {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0;
  text-align: left;
}

.rdp-multiple_months .rdp-caption {
  position: relative;
  display: block;
  text-align: center;
}

.rdp-caption_dropdowns {
  position: relative;
  display: inline-flex;
}

.rdp-caption_label {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  margin: 0;
  padding: 0 0.25em;
  white-space: nowrap;
  color: currentColor;
  border: 0;
  border: 2px solid transparent;
  font-family: inherit;
  font-size: var(--rdp-caption-font-size);
  font-weight: bold;
}

.rdp-nav {
  white-space: nowrap;
}

.rdp-multiple_months .rdp-caption_start .rdp-nav {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}

.rdp-multiple_months .rdp-caption_end .rdp-nav {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}

.rdp-nav_button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--rdp-cell-size);
  height: var(--rdp-cell-size);
  padding: 0.25em;
  border-radius: 100%;
}

/* ---------- */
/* Dropdowns  */
/* ---------- */

.rdp-dropdown_year,
.rdp-dropdown_month {
  position: relative;
  display: inline-flex;
  align-items: center;
}

.rdp-dropdown {
  appearance: none;
  position: absolute;
  z-index: 2;
  top: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  margin: 0;
  padding: 0;
  cursor: inherit;
  opacity: 0;
  border: none;
  background-color: transparent;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

.rdp-dropdown[disabled] {
  opacity: unset;
  color: unset;
}

.rdp-dropdown:focus-visible:not([disabled]) + .rdp-caption_label {
  background-color: var(--rdp-background-color);
  border: var(--rdp-outline);
  border-radius: 6px;
}

.rdp-dropdown_icon {
  margin: 0 0 0 5px;
}

.rdp-head {
  border: 0;
}

.rdp-head_row,
.rdp-row {
  height: 100%;
}

.rdp-head_cell {
  vertical-align: middle;
  font-size: 0.75em;
  font-weight: 700;
  text-align: center;
  height: 100%;
  height: var(--rdp-cell-size);
  padding: 0;
  text-transform: uppercase;
}

.rdp-tbody {
  border: 0;
}

.rdp-tfoot {
  margin: 0.5em;
}

.rdp-cell {
  width: var(--rdp-cell-size);
  height: 100%;
  height: var(--rdp-cell-size);
  padding: 0;
  text-align: center;
}

.rdp-weeknumber {
  font-size: 0.75em;
}

.rdp-weeknumber,
.rdp-day {
  display: flex;
  overflow: hidden;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: var(--rdp-cell-size);
  max-width: var(--rdp-cell-size);
  height: var(--rdp-cell-size);
  margin: 0;
  border: 2px solid transparent;
  border-radius: 100%;
}

.rdp-day_today:not(.rdp-day_outside) {
  font-weight: bold;
}

.rdp-day_selected,
.rdp-day_selected:focus-visible,
.rdp-day_selected:hover {
  color: var(--rdp-selected-color);
  opacity: 1;
  background-color: var(--rdp-accent-color);
}

.rdp-day_outside {
  opacity: 0.5;
}

.rdp-day_selected:focus-visible {
  /* Since the background is the same use again the outline */
  outline: var(--rdp-outline);
  outline-offset: 2px;
  z-index: 1;
}

.rdp:not([dir='rtl']) .rdp-day_range_start:not(.rdp-day_range_end) {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.rdp:not([dir='rtl']) .rdp-day_range_end:not(.rdp-day_range_start) {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.rdp[dir='rtl'] .rdp-day_range_start:not(.rdp-day_range_end) {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.rdp[dir='rtl'] .rdp-day_range_end:not(.rdp-day_range_start) {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.rdp-day_range_end.rdp-day_range_start {
  border-radius: 100%;
}

.rdp-day_range_middle {
  border-radius: 0;
}
:root {
  /* Globals */
  --font-family: 'Open Sans', -apple-system, 'Ubuntu', sans-serif;

  --h1-weight: 600;
  --h1-size: 24px;
  --h1-line-height: 33px;

  --h2-weight: 600;
  --h2-size: 20px;
  --h2-line-height: 27px;

  --h3-weight: 600;
  --h3-size: 16px;
  --h3-line-height: 22px;

  --body-weight: 400;
  --body-size: 16px;
  --body-line-height: 22px;

  --link-weight: 400;
  --link-size: 16px;
  --link-line-height: 22px;

  --tab-weight: 400;
  --tab-size: 16px;
  --tab-line-height: 22px;
  --tab-letter-spacing: 1.25px;

  --caption1-weight: 600;
  --caption1-size: 14px;
  --caption1-line-height: 19px;

  --caption2-weight: 400;
  --caption2-size: 14px;
  --caption2-line-height: 19px;

  --caption3-weight: 600;
  --caption3-size: 12px;
  --caption3-line-height: 15px;
  --caption3-letter-spacing: 0.5px;

  --caption4-weight: 400;
  --caption4-size: 16px;
  --caption4-line-height: 22px;
  --caption4-letter-spacing: 0.17px;

  --caption-join-status-weight: 500;
  --caption-join-status-size: 12px;
  --caption2-join-status-size: 11px;
  --caption3-join-status-size: 13px;
  --caption-join-status-line-height: 16px;
  --caption-join-status-letter-spacing: 0.5px;

  --font-size-xxs: 9px;
  --font-size-xs: 10px;
  --font-size-sm: 12px;
  --font-size-md: 13px;
  --font-size-lg: 14px;
  --font-size-xl: 16px;
  --font-size-xxl: 20px;

  /* Palettes */
  --secondary-50: #E7E7E7;
  --secondary-100: #C2C2C2;
  --secondary-200: #999999;
  --secondary-300: #707070;
  --secondary-400: #525252;
  --secondary-500: #333333;
  --secondary-600: #2E2E2E;
  --secondary-700: #272727;
  --secondary-800: #202020;
  --secondary-900: #141414;
  --secondary-A100: #9CBCFE;
  --secondary-A200: #578CFC;
  --secondary-A300: #3370FC;
  --secondary-A400: #1748FA;

  --grey-2: #F9F9F9;
  --grey-6: rgba(255, 255, 255, 0.2);
  --grey-8: rgba(0, 0, 0, 0.2);
  --grey-9: #898989;
  --grey-11: rgba(0, 0, 0, 0.8);
  --grey-12: #151515;
  --grey-13: #000;

  --primary-50: #E7EFFF;
  --primary-100: #C4D7FE;
  --primary-200: #9CBCFE;
  --primary-300: #74A1FD;
  --primary-400: #578CFC;
  --primary-500: #3978FC;
  --primary-600: #3370FC;
  --primary-700: #2C65FB;
  --primary-800:#245BFB;
  --primary-900: #1748FA;
  --primary-A100: #FFFFFF;
  --primary-A200: #F7F9FF;
  --primary-A300: #C4CFFF;
  --primary-A400: #ABBAFF;

  --blue-1: #FAFAFB;
  --blue-2: #F4F6F9;
  --blue-3: #CCD0D9;
  --blue-5: #99A9C6;
  --blue-6: #97A0B3;
  --blue-7: #6C7A92;
  --blue-8: rgba(57, 120, 252, 0.2);

  --green: #00C248;
  --yellow: #FFBE30;
  --red: #FF4B4B;

  --red-4: #FC5E39;
  --red-6: #EF3248;

  --green-4: #00CC4C;

  --Main-Color: #2D91D8;
  --Divider-Color: #E2F1FB;
  --Divider-Color2: #DEEDF0;
  --Outgoing-Messages-Color: #BAE2FF;
  --bg-color-tabs: #F0F2F8;
  --bg-color-join-status: #EEFDED;
  --bg-color-waiting-status: #FDF7ED;
  --font-color-btn-disabled: #95A8C8;
  --Disable-btn-color: #95A8C8;



  /* Components */
  --Main-elements: var(--Main-Color);
  --Secondary-elements: var(--secondary-500);
  --Tertiary-elements: var(--primary-A100);
  --Alternative-elements: var(--secondary-200);
  --Divider: var(--Divider-Color);
  --Inactive: var(--secondary-100);
  --Hover: var(--primary-A200);
  --Primary-font: var(--secondary-500);
  --Secondary-font: var(--secondary-300);
  --Tertiary-font: var(--primary-A100);
  --Low: var(--green);
  --Medium: var(--yellow);
  --High: var(--red);
  --Main-background: var(--primary-A200);
  --Secondary-background: var(--secondary-100);
  --Interface-background: var(--primary-A100);
  --Chat-background: var(--primary-A200);
  --Incoming-background: var(--primary-A100);
  --Outgoing-background: var(--Outgoing-Messages-Color);
  --Success: var(--green);
  --Information: var(var(--yellow));
  --Warning: var(--red);
  --ChatMessageRobotIcon-fill: var(--grey-13);
}

html, body {
  height: 100%;
  min-width: 330px;
  width: 100%;
}

body {
  font-family: var(--font-family);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin: 0;
}

#app-root {
  background-color: var(--Main-background);
  min-height: 100%;
  text-align: center;
  width: 100%;
}

#modal-root {
  position: relative;
}

.hidden {
  display: none;
}

.overflow-hidden {
  overflow: hidden;
}

.error-form {
  font-size: var(--caption2-size);
  line-height: var(--caption2-line-height);
  margin-top: 2px;
  color: var(--red-4);
  text-align: center;
  white-space: normal;
}

.link {
  text-decoration: none;
  color: var(--Main-elements);
}

.link:hover {
  color: var(--Main-elements);
}

button {
  cursor: pointer;
  font-family: var(--font-family);
}

input:disabled, button:disabled {
  cursor: not-allowed;
}

input[type="search"] {
  -webkit-appearance: textfield;
}

input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

@media screen and (max-width: 768px) {
  .m-hidden {
    display: none;
  }
}

@media screen and (min-width: 769px) {
  .d-hidden {
    display: none;
  }
}

.dropdown {
  position: relative;
}

.dropdown .dropdown-toggle {
  display: flex;
  background-color: transparent;
  border: none;
  margin: 0;
  padding: 4px;
  outline: none;
  align-items: center;
  color: var(--Secondary-elements);
  width: 100%;
}

.dropdown .dropdown-menu {
  position: absolute;
  overflow: hidden;
  right: 0;
  top: 35px;
  width: 183px;
  margin: 0;
  padding: 10px 0;
  border-radius: 5px;
  background-color: var(--Interface-background);
  box-shadow: 0 10px 26px 0 var(--grey-8);
  transform: scale(0);
  transition: transform 0.2s ease-in-out;
  text-align: start;
  list-style-type: none;
}

.dropdown .dropdown-menu.open {
  transform: scale(1);
}

.dropdown .dropdown-item {
  cursor: pointer;
}

.dropdown .dropdown-item.disabled {
  cursor: not-allowed;
  opacity: 0.6;
}

.dropdown .dropdown-item-text {
  display: block;
  padding: 8px 16px;
  font-size: var(--body-size);
  line-height: var(--body-line-height);
  color: var(--Secondary-elements);
  text-decoration: none;
}

.dropdown .dropdown-item-divider {
  cursor: default;
  pointer-events: none;
  border-top: 1px solid var(--blue-3);
  margin: 8px 0;
}

.dropdown .dropdown-item.active {
  background-color: var(--grey-2);
}

.dropdown .dropdown-item:hover {
  background-color: var(--grey-2);
}

.dropdown .dropdown-item.active {
  box-shadow: inset 3px 0 0 0 var(--Main-elements);
}


.modal {
  align-items: center;
  background-color: var(--grey-11);
  color: var(--Primary-font);
  bottom: 0;
  display: flex;
  flex-direction: column;
  height: 100%;
  justify-content: center;
  left: 0;
  opacity: 0;
  position: fixed;
  right: 0;
  top: 0;
  transition: opacity 0.25s linear;
  width: 100%;
  z-index: -1;
}

.modal.active {
  opacity: 1;
  z-index: 101;
}

.modal .icon-close {
  cursor: pointer;
  position: absolute;
  height: 20px;
  width: 20px;
  top: 15px;
  right: 15px;
}

.modal .form {
  background-color: var(--Interface-background);
  border-radius: 6px;
  color: var(--Primary-font);
  font-size: var(--body-size);
  letter-spacing: 0;
  line-height: var(--body-line-height);
  transform: scale(0);
  transition: transform 0.25s ease-in-out;
  width: 400px;
  /*height: 227px;*/
}

.modal.active .form {
  transform: scale(1);
}

.modal .form .title {
  border-bottom: 1px solid var(--blue-3);
  box-sizing: border-box;
  font-weight: 600;
  padding: 18px;
}

.modal .form .body {
  align-items: center;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 32px 22px;
}

.modal .form .label {
  color: var(--Primary-font);
  font-size: var(--caption2-size);
  line-height: var(--caption2-line-height);
  text-align: center;
}

.modal .form .row {
  align-items: center;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  width: 100%;
}

.modal .form .btn-group {
  display: flex;
  justify-content: center;
  gap: 16px;
  margin-top: 30px;
}

@media screen and (max-width: 768px) {
  .offline .modal.active {
    top: 41px;
  }

  .modal .form {
    width: 330px;
  }

  .modal .form .row {
    flex-wrap: wrap;
  }
}

.sidebar-wrapper .sidebar-content {
  position: fixed;
  top: 0;
  z-index: 5;
  height: 100%;
  width: 280px;
  background-color: var(--Interface-background);
  transition: all 0.25s ease-in-out;
}

.sidebar-wrapper .sidebar-left {
  left: -100%;
}

.sidebar-wrapper.open .sidebar-left {
  left: 0;
}

.sidebar-wrapper .sidebar-right {
  right: -100%;
}

.sidebar-wrapper.open .sidebar-right {
  right: 0;
}

.sidebar-wrapper .sidebar-background {
  background-color: var(--grey-11);
  position: fixed;
  top: 0;
  height: 100%;
  width: 100%;
  opacity: 0;
  z-index: -1;
  transition: opacity 0.25s linear;
}

.sidebar-wrapper.open .sidebar-background {
  opacity: 1;
  z-index: 2;
}

@media screen and (max-width: 768px) {
  .offline .sidebar-wrapper .sidebar-content {
    top: 41px;
  }
}

.spinner {
  background: none;
  border-radius: 50%;
  display: inline-block;
  height: 16px;
  margin: 0 auto;
  padding: 0;
  position: relative;
  width: 16px;
}

.spinner > div {
  animation: fade 1s linear infinite;
  border-radius: 50px;
  box-shadow: 0 0 3px var(--grey-8);
  height: 28%;
  left: 49%;
  opacity: 0;
  position: absolute;
  top: 38%;
  width: 6%;
}

.spinner.default > div {
  background-color: var(--secondary-900);
}

.spinner.primary > div {
  background-color: var(--Main-elements);
}

.spinner.secondary > div {
  background-color: var(--Incoming-background);
}

@keyframes fade {
  from { opacity: 1; }
  to { opacity: 0.25; }
}

.spinner .bar1 {
  transform: rotate(0deg) translate(0, -130%);
  animation-delay: 0s;
}

.spinner .bar2 {
  transform: rotate(30deg) translate(0, -130%);
  animation-delay: -0.9167s;
}

.spinner .bar3 {
  transform: rotate(60deg) translate(0, -130%);
  animation-delay: -0.833s;
}
.spinner .bar4 {
  transform: rotate(90deg) translate(0, -130%);
  animation-delay: -0.7497s;
}
.spinner .bar5 {
  transform: rotate(120deg) translate(0, -130%);
  animation-delay: -0.667s;
}
.spinner .bar6 {
  transform: rotate(150deg) translate(0, -130%);
  animation-delay: -0.5837s;
}
.spinner .bar7 {
  transform: rotate(180deg) translate(0, -130%);
  animation-delay: -0.5s;
}
.spinner .bar8 {
  transform: rotate(210deg) translate(0, -130%);
  animation-delay: -0.4167s;
}
.spinner .bar9 {
  transform: rotate(240deg) translate(0, -130%);
  animation-delay: -0.333s;
}
.spinner .bar10 {
  transform: rotate(270deg) translate(0, -130%);
  animation-delay: -0.2497s;
}
.spinner .bar11 {
  transform: rotate(300deg) translate(0, -130%);
  animation-delay: -0.167s;
}
.spinner .bar12 {
  transform: rotate(330deg) translate(0, -130%);
  animation-delay: -0.0833s;
}

.button {
  box-sizing: border-box;
  border-radius: 4px;
  font-size: var(--body-size);
  line-height: var(--body-line-height);
  padding: 11px 25px;
  text-align: center;
  border: none;
  outline: none;
  transition: all 0.2s ease-in-out;
}

.button:focus {
  outline: none;
  box-shadow: 0 4px 11px 4px var(--primary-100);
}

.button.button-sm {
  min-width: 133px;
}

.button.button-md {
  min-width: 160px;
}

.button.button-lg {
  padding-left: 10px;
  padding-right: 10px;
}

.button.button-xl {
  padding-left: 85px;
  padding-right: 85px;
}

.button.button-full {
  width: 100%;
}

.button.button-default {
  border: 1px solid var(--secondary-900);
  background-color: var(--Main-background);
  color: var(--Secondary-elements);
}

.button.button-primary {
  background-color: var(--Main-elements);
  color: var(--Tertiary-font);
}

.button.button-disabled {
  background-color: var(--blue-5);
  color: var(--Tertiary-font);
}

@media screen and (max-width: 768px) {
  .button.m-button-sm {
    min-width: 133px;
  }

  .button.m-button-auto {
    min-width: auto;
    width: 100%;
  }
}

.header .header-status-chip {
  border: 1px solid var(--Alternative-elements);
  background-color: var(--Interface-background);
  border-radius: 4px;
  padding: 0 2px 0 9px;
  height: 32px;
}

.header .header-status-chip.joined {
  border: 1px solid var(--green);

  button {
    border: unset;
  }
}

.header .header-status-chip.wait {
  border: 1px solid var(--yellow);

  button {
    border: unset;
  }
}

.header .header-status-chip.status-chip-mobile {
  border: unset;
  background-color: unset;
  border-radius: unset;
  padding: unset;
  fill: var(--Secondary-elements);
  position: relative;
}

.dropdown2.status-chip-mobile.dropdown-toggle {
  background-color: unset;
}

.header .header-status-chip .dropdown-label {
  font-weight: var(--caption3-weight);

  font-size: var(--caption2-join-status-size);
  line-height: var(--caption-join-status-line-height);
  letter-spacing: var(--caption-join-status-letter-spacing);
  margin: 0 5px;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

.header .header-status-chip .icon.icon-dropdown {
  height: 24px;
  width: 24px;
}

.header .header-status-chip .status {
   width: 9px;
   height: 9px;
   background-color: var(--green);
   border-radius: 50%;
   display: inline-block;
   margin-right: 9px;
 }

.header .header-status-chip .status.wait {
  background-color: var(--yellow);
}

.header .header-status-chip .status.empty {
  background-color: var(--Inactive);
}

.status-chip .status-chip-menu {
  position: absolute;
  overflow: hidden;
  top: 53px;
  width: 183px;
  margin: 0;
  padding: 10px 0;
  border-radius: 5px;
  background-color: var(--Interface-background);
  box-shadow: 0 10px 26px 0 var(--grey-8);
  transform: scale(0);
  transition: transform 0.2s ease-in-out;
  text-align: start;
  list-style-type: none;
}

.status-chip .status-chip-menu.card-item-appointment {
  height: 32px;
}

.status-chip .status-chip-menu.open {
  transform: scale(1);
  overflow-y: auto;
  scrollbar-width: thin;
}

.status-chip .dropdown-toggle {
  display: flex;
  background-color: var(--Interface-background);
  border: none;
  margin: 0;
  padding: 4px;
  outline: none;
  align-items: center;
  color: var(--Secondary-elements);
  width: 100%;
}

.status-chip .dropdown-toggle.status-chip-mobile {
  background: unset;
}

.header .status-chip .status-chip-menu {
  width: 270px;
  right: 0;
  top: 25px;
  max-height: 390px;
}

.header .status-chip .status-chip-menu.desktop {
  width: 270px;
  right: 290px;
  top: 43px;
}


@media screen and (max-width: 768px) {
  .header .status-chip .status-chip-menu {
    top: 33px;
    padding: 0;
  }
}



.avatar {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-sizing: border-box;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  overflow: hidden;
}

.avatar .avatar-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.avatar .avatar-icon {
  position: absolute;
  left: 0;
  height: 100%;
  width: 100%;
  fill: var(--blue-3);
}

.skeleton {
  display: inline-block;
  width: 100%;
  background-color: var(--grey-8);
  opacity: 0.4;
}

.skeleton.text {
  border-radius: 4px;
}

.skeleton.circular {
  border-radius: 50%;
}

.skeleton.rectangular {
  border-radius: 0;
}

.skeleton:empty:before {
  content: "\00a0";
}

.skeleton.pulse {
  animation: skeleton-pulse 1.5s ease-in-out 0.5s infinite;
}

@keyframes skeleton-pulse {
  0% {
    opacity: 0.4;
  }
  50% {
    opacity: 0.1;
  }
  100% {
    opacity: 0.4;
  }
}

.appointment-card-item {
  display: flex;
  flex-flow: column;

  .status-joined-provider {
    background-color: var(--bg-color-join-status);
    display: flex;
    flex-flow: row;
    min-width: 150px;
    max-width: 175px;
    height: 30px;
    border-radius: 4px;
    margin-bottom: 8px;
    align-items: center;
    justify-content: start;
    padding-left: 14px;

    font-weight: var(--caption-join-status-weight);
    font-size: var(--caption-join-status-size);
    line-height: var(--caption-join-status-line-height);
    letter-spacing: var(--caption-join-status-letter-spacing);

    .status {
      width: 9px;
      height: 9px;
      background-color: var(--green);
      border-radius: 50%;
      display: inline-block;
      margin-right: 9px;
    }
  }
  .status-waiting-provider {
    background-color: var(--bg-color-waiting-status);

    .status {
      background-color: var(--yellow);
    }
  }
}

.card-item-row {
  display: flex;
  flex-flow: row;
  height: 53px;
  gap: 17px;
  padding-bottom: 19px;

  .btn {
    max-width: 200px;
    height: 52px;
    padding: unset;
  }
}

.card-item-appointment {
  display: flex;
  align-items: center;
  height: 53px;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  border-radius: 8px;
  border: 1px solid var(--blue-3);
  margin-bottom: 19px;
  min-width: 230px;

  .date {
    flex: 0 0 auto;
    width: 55px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding-top: 5px;
    padding-bottom: 3px;

    .day-of-week {
      font-weight: var(--caption3-weight);
      font-size: var(--caption3-size);
    }
    .day-of-month {
      font-weight: var(--caption3-weight);
      font-size: var(--h3-size);
    }
  }

  .date-today, .time-today {
    color: var(--Main-elements);
  }

  .separator {
    width: 1px;
    background-color: #ccc;
    margin: 9px 0 10px 0;
    align-self: stretch;
  }

  .appointment-info {
    display: flex;
    flex-flow: row;
    justify-content: center;
    align-items: center;
    width: 100%;
    gap: 5px;
  }

  .appointment-info.pointer {
    cursor: pointer;
  }

  .time {
    flex: 0 0 auto;
    /*width: 105px;*/
    padding-right: 19px;
    text-align: center;
    font-weight: var(--caption1-weight);
    font-size: var(--caption1-size);
    line-height: var(--caption1-line-height);
  }

  .user {
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    padding-left: 9px;

    .avatar {
      margin-right: 12px;
      width: 17px;
      height: 17px;
      border-radius: 50%;
    }

    .user-name {
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      font-weight: var(--body-weight);
      font-size: var(--link-size);
      line-height: var(--body-line-height);
      color: var(--Primary-font);
      max-width: 250px;
      text-align: left;
    }

    .user-name.popup {
      max-width: 80px;
      font-size: var(--caption3-size);
    }
  }
}

.status-ship-menu {
  gap: 5px;
  height: 38px;
  padding-bottom: 4px;
}
.card-item-appointment.status-ship-menu {
  border: 1px solid var(--Divider-Color2);
}

@media screen and (max-width: 768px) {
  .card-item-row {
    gap: 5px;
    height: 38px;
    padding-bottom: 12px;
  }
  .card-item-appointment {
    height: 38px;
  }
  .card-item-appointment .date .day-of-month {
    font-size: var(--caption1-size);
  }
  .card-item-appointment .date {
    width: 45px;
  }
  .card-item-appointment .user .user-name {
    max-width: 90px;
    font-size: var(--caption3-size);
  }
  .status-ship-menu {
    gap: 5px;
    height: 38px;
    padding-bottom: 4px;
  }
  .date-prefix {
    display: none;
  }
}

@media screen and (max-width: 1024px) {
  .date-prefix {
    display: none;
  }
}












.ongoing-appointment {
  background-color: var(--Interface-background);
  border-radius: 8px;
  padding: 12px 34px 0 22px;
  min-height: 143px;

  .register-header {
    padding: 12px 0 12px 0;
    text-align: left;
  }
  .register-header .register-header-nav {
    display: flex;
    flex-flow: row;
    justify-content: space-between;
  }

  .register-header .title {
    font-size: var(--h2-size);
    font-weight: var(--h2-weight);
    line-height: var(--h2-line-height);
  }
  .register-header .title.popup {
    font-size: var(--caption3-join-status-size);
    line-height: var(--caption-join-status-line-height);
    letter-spacing: var(--caption-join-status-letter-spacing);
    font-weight: bold;
  }

  .register-header .register-header-nav .icon {
    height: 24px;
    width: 24px;
    transform: rotate(180deg);
  }

  .no-data {
    font-size: var(--body-weight);
    font-weight: var(--body-size);
    line-height: var(--h1-line-height);
  }

  .status-j-provider {
    margin-bottom: 10px;

    font-weight: var(--caption3-weight);
    font-size: var(--caption-join-status-size);
    line-height: var(--caption2-line-height);

    .status-r {
      width: 9px;
      height: 9px;
      background-color: var(--green);
      border-radius: 50%;
      display: inline-block;
      margin-right: 9px;
    }
  }

  .status-w-provider {
    margin-bottom: 10px;
    .status-r {
      background-color: var(--yellow);
    }
  }

  .divider {
    width: 100%;
    height: 1px;
    background-color: var(--Divider-Color2);
    margin: 10px 0 12px 0;
  }
}

.ongoing-appointment.popup {
  min-height: unset;
  padding: 12px 22px 10px 22px;
}

.ongoing-appointment .card-item-appointment .time {
  color: var(--Main-elements);;
}



@media screen and (max-width: 768px) {
  .ongoing-appointment {
    padding: 0 13px 0 12px;
  }
}

.header {
  align-items: center;
  box-sizing: border-box;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  padding: 0 12px;
  position: sticky;
  top: 0;
  width: 100%;
  z-index: 3;
  background-color: var(--Main-background);
}

.header .header-nav {
  display: flex;
  align-items: center;
}

.header .logo {
  display: flex;
  align-items: center;
  margin: 0 auto 0 18px;
}

.header .logo .icon {
  height: 50px;
  width: 50px;
}

.header .logo a {
  line-height: 0;
}

.header .header-nav .icon {
  fill: var(--Secondary-elements);
  height: 24px;
  width: 24px;
  vertical-align: middle;
  flex-shrink: 0;
}

.header .logo .version {
  color: var(--blue-7);
  font-size: var(--font-size-xs);
  letter-spacing: 0;
  line-height: 14px;
  margin-left: 6px;
}

.header .btn {
  height: 28px;
  width: 28px;
  background-color: transparent;
  border: none;
  margin: 0;
  padding: 0;
}

.header .logout {
  font-size: var(--body-size);
  font-weight: 600;
  line-height: 0;
  padding: 4px;
  width: auto;
}

.header .btn.logout .logout-text {
  margin-left: 10px;
}

.header .header-dropdown .dropdown-label {
  font-weight: 600;
  font-size: var(--body-size);
  line-height: var(--body-line-height);
  margin: 0 5px;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

.header .icon.icon-lang {
  height: 24px;
  width: 24px;
}

.header .header-dropdown .icon.icon-dropdown {
  height: 24px;
  width: 24px;
}

.header .header-nav-right > *:not(:first-child) {
  margin-left: 10px;
}

.header .dropdown .dropdown-menu {
  width: 225px;
}

.header .dropdown-nav {
  max-width: 180px;
}

.header .dropdown-nav .icon.icon-user {
  height: 28px;
  width: 28px;
  fill: var(--secondary-500);
}

.header-menu {
  list-style-type: none;
  padding: 0;
}

.header-menu .menu-item {
  cursor: pointer;
}

.header-menu .menu-item.disabled {
  cursor: not-allowed;
  opacity: 0.6;
}

.header-menu .menu-item-text {
  display: block;
  padding: 8px 16px;
  font-size: var(--body-size);
  line-height: var(--body-line-height);
  color: var(--secondary-900);
  text-decoration: none;
}

.header-menu .menu-item-divider {
  cursor: default;
  pointer-events: none;
  border-top: 1px solid var(--blue-3);
  margin: 8px 0;
}

.header .header-nav-right .btn-leave {
  display: none;
}

@media screen and (max-width: 768px) {
  .header .header-nav-right .btn-leave {
    display: flex;
    align-items: center;
    padding: 6px 10px;
    height: 31px;
    min-width: 58px;
    color: var(--High);

    background: var(--blue-1);
    border: 1px solid var(--High);
    border-radius: 4px;

    font-family: var(--font-family);
    font-style: normal;
    font-weight: var(--caption2-weight);
    font-size: var(--caption2-size);
    line-height: var(--caption2-line-height);
  }

  .offline .header {
    top: 41px;
  }

  .header {
    padding: 0 12px;
    align-items: center;
  }

  .header .header-nav {
    flex: 1 1 50px;
  }

  .header .header-nav-right {
    justify-content: flex-end;
  }

  .header:not(.header-auth) {
    margin-bottom: 15px;
  }

  .header .logo {
    flex-direction: column;
    margin: 0;
  }

  .header .logo .version {
    margin: 18px 0 0;
  }

  .header.header-auth .logo .version {
    display: none;
  }

  .header .btn.logout .logout-text {
    display: none;
  }
}

.event-screen .event-screen-content {
  margin-top: 50px;
}

.event-screen .event-screen-title {
  font-size: var(--h1-size);
  font-weight: var(--h1-weight);
  line-height: var(--h1-line-height);
  color: var(--secondary-500);
  margin: 0 30px 150px;
}

.event-screen .event-screen-body {
  font-size: var(--h2-size);
  font-weight: var(--h2-weight);
  line-height: var(--h2-line-height);
  color: var(--secondary-200);
  margin: 150px 20px;
}

.event-screen .event-screen-body a {
  color: var(--secondary-200);
}

.event-screen .event-screen-footer-note {
  margin-top: 10px;
  color: var(--secondary-500);
  font-size: var(--caption2-size);
  font-weight: var(--caption2-weight);
  line-height: var(--caption2-line-height);
}

/* CSS variables. */
:root {
	--PhoneInput-color--focus: #03b2cb;
	--PhoneInputInternationalIconPhone-opacity: 0.8;
	--PhoneInputInternationalIconGlobe-opacity: 0.65;
	--PhoneInputCountrySelect-marginRight: 0.35em;
	--PhoneInputCountrySelectArrow-width: 0.3em;
	--PhoneInputCountrySelectArrow-marginLeft: var(--PhoneInputCountrySelect-marginRight);
	--PhoneInputCountrySelectArrow-borderWidth: 1px;
	--PhoneInputCountrySelectArrow-opacity: 0.45;
	--PhoneInputCountrySelectArrow-color: currentColor;
	--PhoneInputCountrySelectArrow-color--focus: var(--PhoneInput-color--focus);
	--PhoneInputCountrySelectArrow-transform: rotate(45deg);
	--PhoneInputCountryFlag-aspectRatio: 1.5;
	--PhoneInputCountryFlag-height: 1em;
	--PhoneInputCountryFlag-borderWidth: 1px;
	--PhoneInputCountryFlag-borderColor: rgba(0,0,0,0.5);
	--PhoneInputCountryFlag-borderColor--focus: var(--PhoneInput-color--focus);
	--PhoneInputCountryFlag-backgroundColor--loading: rgba(0,0,0,0.1);
}

.PhoneInput {
	/* This is done to stretch the contents of this component. */
	display: flex;
	align-items: center;
}

.PhoneInputInput {
	/* The phone number input stretches to fill all empty space */
	flex: 1;
	/* The phone number input should shrink
	   to make room for the extension input */
	min-width: 0;
}

.PhoneInputCountryIcon {
	width: calc(var(--PhoneInputCountryFlag-height) * var(--PhoneInputCountryFlag-aspectRatio));
	height: var(--PhoneInputCountryFlag-height);
}

.PhoneInputCountryIcon--square {
	width: var(--PhoneInputCountryFlag-height);
}

.PhoneInputCountryIcon--border {
	/* Removed `background-color` because when an `<img/>` was still loading
	   it would show a dark gray rectangle. */
	/* For some reason the `<img/>` is not stretched to 100% width and height
	   and sometime there can be seen white pixels of the background at top and bottom. */
	background-color: var(--PhoneInputCountryFlag-backgroundColor--loading);
	/* Border is added via `box-shadow` because `border` interferes with `width`/`height`. */
	/* For some reason the `<img/>` is not stretched to 100% width and height
	   and sometime there can be seen white pixels of the background at top and bottom,
	   so an additional "inset" border is added. */
	box-shadow: 0 0 0 var(--PhoneInputCountryFlag-borderWidth) var(--PhoneInputCountryFlag-borderColor),
		inset 0 0 0 var(--PhoneInputCountryFlag-borderWidth) var(--PhoneInputCountryFlag-borderColor);
}

.PhoneInputCountryIconImg {
	/* Fixes weird vertical space above the flag icon. */
	/* https://gitlab.com/catamphetamine/react-phone-number-input/-/issues/7#note_348586559 */
	display: block;
	/* 3rd party <SVG/> flag icons won't stretch if they have `width` and `height`.
	   Also, if an <SVG/> icon's aspect ratio was different, it wouldn't fit too. */
	width: 100%;
	height: 100%;
}

.PhoneInputInternationalIconPhone {
	opacity: var(--PhoneInputInternationalIconPhone-opacity);
}

.PhoneInputInternationalIconGlobe {
	opacity: var(--PhoneInputInternationalIconGlobe-opacity);
}

/* Styling native country `<select/>`. */

.PhoneInputCountry {
	position: relative;
	align-self: stretch;
	display: flex;
	align-items: center;
	margin-right: var(--PhoneInputCountrySelect-marginRight);
}

.PhoneInputCountrySelect {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	z-index: 1;
	border: 0;
	opacity: 0;
	cursor: pointer;
}

.PhoneInputCountrySelect[disabled],
.PhoneInputCountrySelect[readonly] {
	cursor: default;
}

.PhoneInputCountrySelectArrow {
	display: block;
	content: '';
	width: var(--PhoneInputCountrySelectArrow-width);
	height: var(--PhoneInputCountrySelectArrow-width);
	margin-left: var(--PhoneInputCountrySelectArrow-marginLeft);
	border-style: solid;
	border-color: var(--PhoneInputCountrySelectArrow-color);
	border-top-width: 0;
	border-bottom-width: var(--PhoneInputCountrySelectArrow-borderWidth);
	border-left-width: 0;
	border-right-width: var(--PhoneInputCountrySelectArrow-borderWidth);
	transform: var(--PhoneInputCountrySelectArrow-transform);
	opacity: var(--PhoneInputCountrySelectArrow-opacity);
}

.PhoneInputCountrySelect:focus + .PhoneInputCountryIcon + .PhoneInputCountrySelectArrow {
	opacity: 1;
	color: var(--PhoneInputCountrySelectArrow-color--focus);
}

.PhoneInputCountrySelect:focus + .PhoneInputCountryIcon--border {
	box-shadow: 0 0 0 var(--PhoneInputCountryFlag-borderWidth) var(--PhoneInputCountryFlag-borderColor--focus),
		inset 0 0 0 var(--PhoneInputCountryFlag-borderWidth) var(--PhoneInputCountryFlag-borderColor--focus);
}

.PhoneInputCountrySelect:focus + .PhoneInputCountryIcon .PhoneInputInternationalIconGlobe {
	opacity: 1;
	color: var(--PhoneInputCountrySelectArrow-color--focus);
}
.field {
  border-radius: 4px;
  border: 1px solid var(--blue-3);
  box-sizing: border-box;
  padding: 10px 14px;
  width: 100%;
  transition: box-shadow 0.2s ease-in-out;
}

textarea.field,
input.field,
.field input {
  outline: none;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

input.field::-webkit-credentials-auto-fill-button,
.field input::-webkit-credentials-auto-fill-button {
  visibility: hidden;
}

input.field[type='password']::-ms-reveal,
input.field[type='password']::-ms-clear,
.field input[type='password']::-ms-reveal,
.field input[type='password']::-ms-clear {
  display: none;
}

textarea.field {
  min-height: 45px;
  resize: vertical;
  line-height: 1.38;
  height: 100%;
}

.field input {
  width: 100%;
  border: none;
  padding: 0;
}

textarea.field::placeholder,
input.field::placeholder,
.field input::placeholder {
  color: var(--blue-7);
}

textarea.field:focus,
textarea.field:active,
input.field:focus,
input.field:active,
.radio-field > input:focus + span::before,
.field.PhoneInput--focus,
.field.select-field--focus,
.field.date-field--focus {
  box-shadow: 0 4px 11px 4px var(--primary-100);
}

.flex-field {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.textarea-wrapper {
  position: relative;
  line-height: 0;
}

.textarea-wrapper .textarea-length {
  position: absolute;
  bottom: 10px;
  right: 12px;
  line-height: 1;
  color: var(--Secondary-elements);
  opacity: 0.5;
}

/* Radio */
.radio-field {
  font-size: var(--caption2-size);
  line-height: 0;
  display: inline-block;
}

.radio-field > input {
  position: absolute;
  z-index: -1;
  opacity: 0;
}

.radio-field > span {
  display: inline-flex;
  align-items: center;
  user-select: none;
}

.radio-field > span::before {
  content: '';
  display: inline-block;
  box-sizing: border-box;
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  flex-grow: 0;
  border: 1px solid var(--blue-5);
  border-radius: 50%;
  margin-right: 10px;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 50% 50%;
}

.radio-field > input:checked + span::before {
  border: 5px solid var(--Main-elements);
  background-color: var(--Incoming-background);
}

/* Select */
.field.select-field {
  position: relative;
  background-color: inherit;
}

.field.select-field .flex-field-input.hidden {
  position: absolute;
  z-index: -1;
  opacity: 0;
}

.field.select-field .icon {
  cursor: pointer;
  height: 24px;
  width: 24px;
  vertical-align: middle;
  fill: var(--secondary-900);
}

.field.select-field .select-field-list {
  z-index: 2;
  position: absolute;
  top: 53px;
  left: 0;
  max-height: 208px;
  width: 100%;
  padding: 10px 0;
  margin: 0;
  border-radius: 5px;
  background-color: var(--Interface-background);
  box-shadow: 0 10px 26px 0 var(--grey-8);
  text-align: start;
}

.field.select-field .select-field-label {
  color: inherit;
}

.field.select-field .select-field-option {
  list-style-type: none;
  padding: 10px 16px;
  cursor: pointer;
  color: inherit;
}

.field.select-field .select-field-option[aria-selected='true'] {
  background-color: var(--grey-2);
  box-shadow: inset 3px 0 0 0 var(--Main-elements);
}

.field.select-field .select-field-option:hover {
  background-color: var(--grey-2--grey-2);
  box-shadow: inset 3px 0 0 0 var(--Main-elements);
}

/* DateInput */
.field.date-field {
  background-color: var(--Interface-background);
}

.field .DayPickerInput {
  width: 100%;
}

.field.date-field label {
  line-height: 0;
}

.field.date-field .icon {
  cursor: pointer;
  height: 24px;
  width: 24px;
  vertical-align: middle;
  fill: var(--Secondary-elements);
}

.field.show-overlay .icon, .field.date-field--focus .icon {
  fill: var(--DateFieldCalendarIcon-fill--focus)
}

.field.date-input {
  position: relative;
}

.field .DayPickerInput-Overlay {
  position: absolute;
  z-index: 1;
  top: 52px;
  left: -1px;
  border-radius: 5px;
  background-color: var(--Interface-background);
  box-shadow: 0 10px 26px 0 var(--grey-8);
}

.field .rdp {
  padding: 30px;
  margin: 0;
}

.field .nav-icon {
  height: 24px;
  width: 24px;
  vertical-align: middle;
}

.field .nav-icon-prev {
  transform: rotate(180deg);
}

.field .rdp-nav {
  display: flex;
  align-items: center;
  justify-content: space-evenly;
}

.field .rdp-nav .rdp-caption_label {
  font-size: var(--body-size);
  line-height: var(--body-line-height);
  padding: 0;
  border: none;
  font-weight: normal;
  color: var(--secondary-400);
}

.field .rdp-head_cell,
.field .rdp-day {
  font-size: var(--caption2-size);
  line-height: 1;
  color: var(--Secondary-elements);
  font-weight: var(--caption2-weight);
  width: inherit;
  height: inherit;
}

.field .rdp-head_cell {
  text-transform: none;
}

.field .rdp-cell,
.field .rdp-head_cell {
  width: 26px;
  height: 26px;
  padding: 3px 9px;
}

.field .rdp-button[aria-disabled='true'], .field .rdp-day_outside {
  color: var(--blue-7);
  opacity: unset;
}

.field .rdp-day_today {
  color: var(--Secondary-elements);
  font-weight: 700;
}

.field .rdp-day_selected:not([aria-disabled='true']),
.field .rdp-day_selected:focus:not([aria-disabled='true']),
.field .rdp-day_selected:active:not([aria-disabled='true']),
.field .rdp-day_selected:hover:not([aria-disabled='true']) {
  background-color: var(--Main-elements);
  color: var(--Tertiary-font);
}

.field .rdp-day:hover:not([aria-disabled='true']):not([aria-selected='true']) {
  background-color: var(--blue-8);
}

.field .rdp-day:focus, .field .rdp-nav_button {
  border: none;
  background-color: unset;
}

.field .rdp-nav_button {
  width: initial;
  height: initial;
  padding: 0;
}

/* PhoneInput */
.field.PhoneInput {
  background-color: transparent;
}

.field .PhoneInputCountry {
  margin-right: 15px;
}

.field .PhoneInputCountryIcon {
  width: 20px;
  height: unset;
  box-shadow: none;
  background-color: unset;
}

.field .PhoneInputCountryIcon img {
  border: 1px solid var(--blue-3);
  box-sizing: border-box;
}

.field .PhoneInputCountrySelectArrow {
  margin-left: 10px;
  transform: rotate(45deg) translateY(-2px);
  border-color: none;
}

.field-wrapper {
  position: relative;
  display: flex;
  align-items: center;
}

.field-wrapper .icon {
  position: absolute;
  height: 24px;
  width: 24px;
  cursor: pointer;
  right: 8px;
}

.field-wrapper .icon path {
  fill: var(--blue-5);
}

@media screen and (max-width: 768px) {
  .field .DayPickerInput-Overlay {
    width: 273px;
    max-width: 330px;
    display: flex;
    justify-content: center;
  }

  .field .rdp {
    padding: 20px 10px;
  }

  .field .rdp-cell,
  .field .rdp-head_cell {
    padding: 3px 5px;
  }
}

.login-screen .form-wrapper {
  background-color: var(--Interface-background);
  border-radius: 5px;
  box-shadow: 0 1px 4px 0 var(--grey-8);
  margin: 0 auto;
  white-space: nowrap;
  width: 490px;
}

.login-screen .login {
  align-items: center;
  box-sizing: border-box;
  color: var(--Secondary-elements);;
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  opacity: 1;
  padding: 60px 73px 50px;
  position: relative;
  transition: all 0.2s ease-in;
  width: 100%;
}

.login-screen .login.inactive {
  opacity: 0;
  padding-left: 0;
  padding-right: 0;
  width: 0;
  height: 0;
  overflow: hidden;
}

.login-screen .login .back {
  left: 20px;
  position: absolute;
  top: 20px;
}

.login-screen .login .back button {
  align-items: center;
  background-color: transparent;
  border: none;
  color: var(--Main-elements);
  display: flex;
  flex-direction: row;
  font-size: var(--caption2-size);
  justify-content: center;
  margin: 0;
  padding: 5px;
}

.login-screen .login .back .icon {
  height: 15px;
  margin-right: 8px;
  width: 15px;
  fill: var(--secondary-900);
}

.login-screen .login .back .icon path {
  fill: var(--Main-elements);
}

.login-screen .login .title {
  margin: 0 0 40px;
}

.login-screen .login fieldset {
  border: none;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  text-align: start;
  transition: all 0.2s ease-in;
  width: 100%;
}

.login-screen .login fieldset.code {
  max-width: 215px;
}

.login-screen .login legend {
  font-family: inherit;
  font-size: var(--caption2-size);
  line-height: var(--caption2-line-height);
  padding: 0;
}

.login-screen .login .form-field {
  margin-top: 10px;
}

.login-screen .login-btn {
  margin-top: 40px;
}

.login-screen .login .re-send {
  font-size: var(--caption2-size);
  padding-top: 10px;
}

.login-screen .login .re-send button {
  background: transparent;
  border: none;
  color: var(--Main-elements);
  font-size: var(--caption2-size);
  margin: 0;
  padding: 4px;
}

@media screen and (max-width: 768px) {
  .login-screen .form-wrapper {
    width: calc(100% - 20px);
    margin-top: 0;
  }

  .login-screen .login {
    padding: 60px 16px;
  }
}

.form-field {
  text-align: start;
  width: 100%;
}

.form-field.inline {
  display: grid;
}

.form-field .form-field-error,
.form-field .form-field-label {
  font-size: var(--caption2-size);
  line-height: var(--caption2-line-height);
}

.form-field .form-field-label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
}

.form-field.inline .form-field-label {
  margin-bottom: 0;
  margin-right: 15px;
}

.form-field .form-field-label-text {
  cursor: pointer;
  color: var(--secondary-900);
}
.form-field .form-field-label-required {
  color: var(--Warning);
}

.form-field.inline .field-container,
.form-field.inline .form-field-error {
  grid-column-start: 2;
}

.form-field .form-field-error {
  margin-top: 2px;
  color: var(--red-4);
  text-align: center;
}

.form-field-row {
  display: flex;
  margin-left: -5px;
  margin-right: -5px;
}

.form-field:not(:first-child),
.form-field-row:not(:first-child) {
  margin-top: 12px;
}

.form-field-col {
  margin-left: 5px;
  margin-right: 5px;
}

.form-field.form-field-col:not(:first-child) {
  margin-top: 0;
}

.form-field-tooltip {
  position: relative;
  display: inline-block;
  line-height: 0;
}

.form-field-tooltip svg {
  cursor: pointer;
  height: 24px;
  width: 24px;
  fill: var(--blue-7);
}

.form-field-tooltip-body {
  font-size: var(--caption2-size);
  line-height: var(--caption2-line-height);
  visibility: hidden;
  position: absolute;
  width: 250px;
  color: var(--Tertiary-font);
  background-color: var(--grey-11);
  transition: opacity 0.25s linear;
  text-align: center;
  padding: 10px 20px;
  border-radius: 6px;
  z-index: 1;
  opacity: 0;
  box-sizing: border-box;
}

.form-field-tooltip-body::after {
  content: "";
  position: absolute;
  border-width: 5px;
  border-style: solid;
}

.form-field-tooltip-body.tooltip-bottom-end {
  top: calc(135% + 5px);
  right: -5px;
}

.form-field-tooltip-body.tooltip-bottom-end::after {
  bottom: 100%;
  right: 7px;
  border-color: transparent transparent var(--grey-11) transparent;
}

.form-field-tooltip-body ul {
  margin: 0;
  padding: 0;
  list-style-position: inside;
  text-align: start;
}

.form-field-tooltip-body ul li:not(:first-child) {
  margin-top: 2px;
}

.form-field-tooltip:hover .form-field-tooltip-body {
  visibility: visible;
  opacity: 1;
}

@media screen and (max-width: 768px) {
  .form-field.inline .form-field-label {
    margin-right: 5px;
  }

  .form-field-row {
    flex-direction: column;
    margin-left: 0;
    margin-right: 0;
  }

  .form-field-col {
    margin: 0 0 12px;
  }
}

.login-screen {
  flex: 1;
  width: 100%;
}

.login-screen .login-form {
  background-color: var(--Interface-background);
  border-radius: 5px;
  margin: 0 auto;
  padding: 30px;
  width: 510px;
  box-sizing: border-box;
  color: var(--Secondary-elements);
  box-shadow: 0 1px 4px 0 var(--grey-8);
  transition: all 0.2s ease-in;
}

.login-screen .title {
  font-size: 20px;
  line-height: 27px;
  font-weight: 600;
  margin: 0;
}

.login-screen .subtitle {
  margin: 10px 0 0;
}

.login-screen .subtitle-link {
  margin: 20px 0 0 0;
}

.login-screen .link {
  text-decoration: none;
  color: var(--Main-elements);
  margin-left: 10px;
}

.login-screen .link:hover {
  color: var(--Main-elements);
}

.login-screen .btn-group {
  margin-top: 30px;
}

.login-screen .login-form .field {
  border: 1px solid var(--Alternative-elements);
}

@media screen and (max-width: 768px) {
  .login-screen .login-form {
    width: calc(100% - 20px);
  }
}

.register-screen {
  flex: 1;
  width: 100%;
}

.register-screen .register-form {
  background-color: var(--Interface-background);;
  border-radius: 5px;
  margin: 0 auto;
  padding: 30px;
  width: 490px;
  box-sizing: border-box;
  color: var(--Secondary-elements);
  box-shadow: 0 1px 4px 0 var(--grey-8);
  transition: all 0.2s ease-in;
}

.register-screen .title {
  font-size: 20px;
  line-height: 27px;
  font-weight: 600;
  margin: 0;
}

.register-screen .subtitle {
  margin: 10px 0 0;
}

.register-screen .link {
  text-decoration: none;
  color: var(--Main-elements);
  margin-left: 10px;
}

.register-screen .link:hover {
  color: var(--Main-elements);
}

.register-screen .btn-group {
  margin-top: 30px;
}

.register-screen .form-block {
  margin-top: 30px;
}

.register-screen .form-block-title {
  margin: 30px 0 0;
  font-size: var(--h3-size);
  line-height: var(--h3-line-height);
  font-weight: var(--h3-weight);
  text-align: left;
}

.register-screen .form-field-radio-group {
  padding: 12px 0;
  line-height: 0;
}

.register-screen .form-field-row {
  gap: 10px;
}

.register-screen .phone {
  height: 46px;
}

.register-screen .mr-10 {
  margin-right: 10px;
}

.register-screen .register-form .field {
  border: 1px solid var(--Alternative-elements);
}

@media screen and (max-width: 768px) {
  .register-screen .register-form {
    width: calc(100% - 20px);
  }
}

.forgot-password-screen {
  flex: 1;
  width: 100%;
}

.forgot-password-screen .forgot-password-form {
  background-color: var(--Interface-background);
  border-radius: 5px;
  margin: 0 auto;
  padding: 30px;
  width: 480px;
  box-sizing: border-box;
  color: var(--Secondary-elements);
  box-shadow: 0 1px 4px 0 var(--grey-8);
  transition: all 0.2s ease-in;
}

.forgot-password-screen .title {
  font-size: 20px;
  line-height: 27px;
  font-weight: 600;
  margin: 0;
}

.forgot-password-screen .subtitle {
  margin: 10px 0 0;
}

.forgot-password-screen .subtitle-link {
  margin: 20px 0 0 0;
}

.forgot-password-screen .link {
  text-decoration: none;
  color: var(--Main-elements);
  margin-left: 10px;
}

.forgot-password-screen .link:hover {
  color: var(--Main-elements);
}

.forgot-password-screen .btn-group {
  margin-top: 30px;
}
.forgot-password-screen .btn-group .btn {
  width: 150px;
  height: 44px;
}
.forgot-password-screen .btn-group .btn:not(:last-child) {
  margin-right: 10px;
}

@media screen and (max-width: 768px) {
  .forgot-password-screen .forgot-password-form {
    width: calc(100% - 20px);
  }
}

.reset-password-screen {
  flex: 1;
  width: 100%;
}

.reset-password .reset-password-form {
  background-color: var(--Interface-background);
  border-radius: 5px;
  margin: 0 auto;
  padding: 30px;
  width: 490px;
  box-sizing: border-box;
  color: var(--Secondary-elements);
  box-shadow: 0 1px 4px 0 var(--grey-8);
  transition: all 0.2s ease-in;
}

.reset-password .title {
  font-size: 20px;
  line-height: 27px;
  font-weight: 600;
  margin: 0;
}

.reset-password .subtitle {
  margin: 10px 0 0;
  text-align: start;
}

.reset-password .link {
  text-decoration: none;
  color: var(--Main-elements);
  margin-left: 10px;
}

.reset-password .link:hover {
  color: var(--Main-elements);
}

.reset-password .btn-group {
  margin-top: 30px;
}

@media screen and (max-width: 768px) {
  .reset-password .reset-password-form {
    width: calc(100% - 20px);
  }
}

.notification {
  align-items: center;
  background-color: var(--Interface-background);
  border-radius: 6px;
  box-shadow: 0 0 6px 0 var(--secondary-800);
  box-sizing: border-box;
  color: var(--secondary-900);
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0.6em 2em;
  position: fixed;
  text-align: center;
  transition: all 0.25s ease-in-out;
  z-index: -1;
}

.notification.error {
  background-color: var(--red);
  color: var(--Tertiary-font);
  font-weight: bold;
}

.notification.success {
  background-color: var(--Main-elements);
  color: var(--Tertiary-font);
  font-weight: bold;
}

.notification.cancel {
  background-color: var(--grey-11);
  color: var(--Tertiary-font);
  border-radius: 0;
  max-width: 750px;
  width: 100%;
  padding: 14px 58px 14px 24px;
}

.notification .icon-close {
  cursor: pointer;
  position: absolute;
  height: 24px;
  width: 24px;
  right: 16px;
  fill: var(--Tertiary-font);
  opacity: 0.8;
}

.notification.top-left {
  left: 25px;
  top: 25px;
  transform: scale(0);
}

.notification.top-center {
  left: 50%;
  top: 25px;
  transform: translate(-50%, 0) scale(0);
}

.notification.top-right {
  right: 25px;
  top: 25px;
  transform: scale(0);
}

.notification.center {
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%) scale(0);
}

.notification.bottom-right {
  right: 25px;
  bottom: 25px;
  transform: scale(0);
}

.notification.bottom-center {
  left: 50%;
  bottom: 25px;
  transform: translate(-50%, 0) scale(0);
}

.notification.bottom-left {
  left: 25px;
  bottom: 25px;
  transform: scale(0);
}

.notification.active {
  z-index: 3;
}

.notification.top-left.active {
  transform: scale(1);
}

.notification.top-center.active {
  transform: translate(-50%, 0) scale(1);
}

.notification.top-right.active {
  transform: scale(1);
}

.notification.center.acttive {
  transform: translate(-50%, -50%) scale(1);
}

.notification.bottom-right.active {
  transform: scale(1);
}

.notification.bottom-center.active {
  transform: translate(-50%, 0) scale(1);
}

.notification.bottom-left.active {
  transform: scale(1);
}

@media screen and (max-width: 768px) {
  .notification.cancel {
    max-width: 80%;
  }
}

.section-list {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  position: relative;
  width: 100%;
}

.section-list > .spinner {
  display: block;
  height: 16px;
  left: 0;
  position: absolute;
  right: 0;
  top: -16px;
  transition: all 0.2s ease;
}

.section-list > .spinner.active {
  top: 8px;
}

.section-list .list-content {
  flex: 1;
  overflow-x: hidden;
  overflow-y: auto;
  width: 100%;
  padding: 0 10px 10px;
  box-sizing: border-box;
}

.messages-container {
  box-sizing: border-box;
  width: 100%;
  flex: 1;
  overflow-x: hidden;
  overflow-y: auto;
  background-color: var(--Chat-background);
  border: 1px solid var(--Tertiary-elements);
}

.messages-container .spinner.active {
  top: 36px;
}

.messages-container .section {
  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

.messages-container .date {
  background-color: var(--blue-5);
  border-radius: 11px;
  box-sizing: border-box;
  color: var(--Tertiary-font);
  font-size: var(--caption3-size);
  margin: 10px 0 0;
  opacity: 0.75;
  padding: 4px 18px;
  position: -webkit-sticky;
  position: sticky;
  top: 10px;
  z-index: 1;
}

.messages-container .message {
  align-items: flex-start;
  align-self: flex-start;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 5px 0 10px;
  max-width: 95%;
}

.messages-container .my.message {
  align-items: flex-end;
  align-self: flex-end;
  padding: 5px 0 10px;
}

.messages-container .message .info {
  align-items: center;
  box-sizing: border-box;
  color: var(--Secondary-font);
  font-size: var(--caption1-size);
  font-weight: var(--caption1-weight);
  line-height: var(--caption1-line-height);
  display: flex;
  flex-direction: row;
  justify-content: center;
  letter-spacing: 0;
  padding: 0 14px 4px 14px;
  text-align: start;
  width: 100%;
}

.messages-container .message.with-ai-translate:not(.my) {
  padding-bottom: 20px;
}

/* .messages-container .message:not(.my) .info.with-ai-answer {
  padding-right: 50px;
} */

.messages-container .message .info .sender {
  flex: 1;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

.messages-container .message .info .sent-at {
  margin-left: 10px;
  font-size: var(--caption2-size);
  font-weight: var(--caption2-weight);
  line-height: var(--caption2-line-height);
}

.messages-container .message .body {
  background-color: var(--primary-50);
  border-radius: 22px 22px 22px 0;
  color: var(--Primary-font);
  font-size: var(--caption2-size);
  line-height: var(--caption2-line-height);
  letter-spacing: 0;
  box-sizing: border-box;
  padding: 8px 16px 8px 16px;
  text-align: start;
  white-space: pre-wrap;
  word-break: break-word;
  min-width: 150px;
}

.messages-container .message .message-body {
  display: flex;
  align-items: center;
  gap: 12px;
}

.messages-container .message .body + .body,
.messages-container .message .message-body + .message-body,
.messages-container .message .body + .message-body,
.messages-container .message .message-body + .body {
  margin-top: 5px;
}

.messages-container .message.with-ai-translate .body + .body,
.messages-container .message.with-ai-translate .message-body + .message-body,
.messages-container .message.with-ai-translate .body + .message-body,
.messages-container .message.with-ai-translate .message-body + .body {
  margin-top: 27px;
}

.messages-container .message.my.with-ai-translate .body + .body,
.messages-container .message.my.with-ai-translate .message-body + .message-body,
.messages-container .message.my.with-ai-translate .body + .message-body,
.messages-container .message.my.with-ai-translate .message-body + .body {
  margin-top: 5px;
}

.messages-container .message .body > a:any-link {
  text-decoration: underline;
  color: inherit;
}

.messages-container .my.message .body {
  background-color: var(--Outgoing-background);
  border-radius: 22px 22px 0 22px;
  color: var(--Primary-font);
}

.messages-container .message a {
  text-decoration: none;
}

.messages-container .message .body.file {
  text-align: center;
}

.messages-container .message .body.image-file,
.messages-container .message .body.video-file,
.messages-container .message .body.audio-file {
  background-color: initial;
  padding: 0;
}

.messages-container .message .body.image-file img,
.messages-container .message .body.video-file video {
  width: 100%;
}

.messages-container .message img.body,
.messages-container .message audio.body,
.messages-container .message video.body {
  max-height: 300px;
  max-width: 100%;
  padding: 0;
}

.messages-container .message .body .icon.download {
  display: inline-block;
  height: 100px;
  width: 70px;
  fill: var(--secondary-900);
}

.messages-container .my.message .body .icon.download {
  fill: var(--Tertiary-elements);
}

.messages-container .message .message-body {
  position: relative;
  display: flex;
  align-items: center;
  gap: 12px;
}

.messages-container .message-body .ai-quick-answer {
  background: transparent;
  border: none;
  line-height: 0;
  padding: 0;
}

.messages-container .message-body .ai-quick-answer svg {
  width: 24px;
  height: 24px;
  fill: var(--ChatMessageRobotIcon-fill);
}

.messages-container .translate-container {
  position: absolute;
  width: 150px;
  top: calc(100% + 3px);
  right: 14px;
  display: inline-flex;
  justify-content: end;
}

.messages-container .translate-btn {
  position: absolute;
  top: calc(100% + 3px);
  right: 50px;
  display: inline-flex;
  justify-content: end;
  background: transparent;
  border: none;
  padding: 0;
  color: var(--blue-7);
  font-size: var(--caption3-size);
  line-height: 15px;
}

.messages-container .translate-container .translate-langs {
  position: absolute;
  width: 140px;
  top: 18px;
  right: 0;
  padding: 10px 0;
  text-align: start;
  border-radius: 5px;
  background-color: var(--Interface-background);
  box-shadow: 0 10px 26px 0 var(--grey-8);
  transform: scale(0);
  transition: transform 0.2s ease-in-out;
  z-index: 100;
}

.messages-container .translate-container .translate-langs.top {
  top: unset;
  bottom: 0;
}

.messages-container .translate-container .translate-langs.open {
  transform: scale(1);
}

.messages-container .translate-container .translate-langs-label {
  color: var(--blue-7);
  font-size: var(--caption1-size);
  font-weight: var(--caption1-weight);
  line-height: var(--caption1-line-height);
  padding: 0 8px 8px 16px;
}

.messages-container .translate-container .translate-langs-list {
  list-style-type: none;
  margin: 0;
  padding: 0;
}

.messages-container .translate-container .translate-langs-item {
  cursor: pointer;
  padding: 8px 16px;
  font-size: var(--body-size);
  line-height: var(--body-line-height);
  color: var(--Secondary-elements);
}

.messages-container .translate-container .translate-langs-item:hover {
  background-color: var(--grey-2);
}

.messages-container .translate-loader {
  position: absolute;
  top: 50%;
  right: -36px;
  height: 24px;
  width: 24px;
  transform: translateY(-50%);
}

.image-loader {
  align-items: center;
  display: flex;
  height: 300px;
  justify-content: center;
  overflow: hidden;
  position: relative;
  width: 300px;
  border-radius: 8px 8px 0 8px;
}

.image-loader img {
  max-height: 100%;
  max-width: 100%;
}

.image-loader .placeholder {
  align-items: center;
  background-color: var(--Incoming-background);
  display: flex;
  height: 100%;
  justify-content: center;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

.my.image-loader .placeholder {
  align-items: center;
  background-color: var(--Outgoing-background);
  display: flex;
  height: 100%;
  justify-content: center;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

.image-loader .placeholder .image {
  fill: var(--Alternative-elements);
  height: 44px;
  width: 44px;
}

.my.image-loader .placeholder .image {
  fill: var(--Main-elements);
  height: 44px;
  width: 44px;
}

.input-container {
  background: var(--Interface-background);
  display: flex;
  flex-direction: row;
  justify-content: center;
  width: 100%;
  border-top: 1px solid var(--Divider);
}

.input-container .icon {
  height: 24px;
  width: 24px;
}

.input-container button {
  margin: 6px 0;
  background-color: transparent;
  border: none;
  height: 45px;
  padding: 10px;
  width: 45px;
}

.input-container .attachment {
  padding: 0;
}

.input-container .attachment label {
  padding: 11px 12px;
}

.input-container .attachment .icon {
  vertical-align: middle;
}

.input-container .textbox-field {
  position: relative;
  box-sizing: border-box;
  flex: 1;
  background-color: var(--Chat-background);
  border-radius: 20px;
  margin: 10px 0px 10px 6px;
  height: 100%;
  max-height: calc(100% - 20px);
}

.input-container .textbox-input {
  box-sizing: border-box;
  color: var(--secondary-900);
  flex: 1;
  font-family: inherit;
  font-size: var(--body-size);
  height: 100%;
  line-height: var(--body-line-height);
  padding: 7px 16px;
  text-align: start;
  overflow-y: auto;
  word-break: break-word;
  white-space: pre-wrap;
  outline: 0px solid gray;
}

.input-container .textbox-input * {
  font-weight: normal;
  font-style: normal;
  text-transform: none;
}

.input-container .textbox-input.disabled {
  cursor: not-allowed;
}

.input-container .textbox-placeholder {
  position: absolute;
  pointer-events: none;
  color: var(--blue-3);
  top: 50%;
  left: 16px;
  transform: translateY(-50%);
}

.input-container .icon path {
  fill: var(--Main-elements);
}

.input-container .attachment label {
  cursor: inherit;
  font-size: var(--font-size-xxl);
  line-height: 20px;
}

.input-container .textbox-input.with-ai {
  padding-right: 45px;
}

.input-container .textbox-field .rephrase-container {
  position: absolute;
  right: 0;
  bottom: 3px;
}

.input-container .rephrase-btn {
  padding: 0;
  margin: 0 10px 0 0;
  height: 25px;
  width: 25px;
}

.input-container .textbox-field .rephrase-btn.inactive svg {
  fill: var(--Inactive);
}

.input-container .textbox-field .rephrase-tones {
  position: absolute;
  width: 240px;
  bottom: 46px;
  right: 0;
  margin: 0;
  padding: 10px 0;
  border-radius: 5px;
  background-color: var(--Interface-background);
  box-shadow: 0 10px 26px 0 var(--grey-8);
  transform: scale(0);
  transition: transform 0.2s ease-in-out;
  text-align: start;
  list-style-type: none;
}

.input-container .textbox-field .rephrase-tones.open {
  transform: scale(1);
}

.input-container .textbox-field .rephrase-tones.adaptive {
  overflow-y: auto;
  height: 300px;
}

.input-container .textbox-field .rephrase-tones.reversed {
  height: 230px;
}

.input-container .textbox-field .rephrase-tones-item {
  cursor: pointer;
  padding: 8px 16px;
  font-size: var(--body-size);
  line-height: var(--body-line-height);
  color: var(--Secondary-elements);
}

.input-container .textbox-field .rephrase-tones-item:hover {
  background-color: var(--grey-2);
}

@media screen and (max-width: 769px) {
  .input-container {
    padding: 3px 3px 12px 4px;
  }
}

.upload-indicator-wrapper {
  position: relative;
  width: 100%;
}

.upload-indicator {
  box-sizing: border-box;
  overflow: hidden;
  padding: 5px;
  transition: z-index 0.2s ease-in-out;
  width: 100%;
  position: absolute;
  bottom: 0;
  background-color: var(--blue-2);
  box-shadow: 0 -1px 6px 0 var(--blue-3);
  z-index: -1;
}

.upload-indicator.active {
  z-index: 1;
}

.upload-indicator progress {
  border-radius: 2px;
  height: 20px;
  width: 100%;
}

.upload-indicator progress[value] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  border-radius: 2px;
}

.upload-indicator progress[value]::-webkit-progress-bar {
  background-color: transparent;
  border-radius: 2px;
  box-shadow: 0 2px 5px var(--grey-8) inset;
  overflow: hidden;
}

.upload-indicator progress[value]::-webkit-progress-value {
  border-radius: 2px;
  background-color: var(--Main-elements);
  background-image: linear-gradient(
    45deg, var(--grey-6) 25%,
    transparent 25%, transparent 50%,
    var(--grey-6) 50%,
    var(--grey-6) 75%,
    transparent 75%,
    transparent
  );
  background-size: 3rem 3rem;
  -webkit-animation: animate-stripes 2s linear infinite;
  animation: animate-stripes 2s linear infinite;
}

.upload-indicator progress[value]::-moz-progress-bar {
  border-radius: 2px;
  box-shadow: 0 2px 5px var(--grey-8) inset;
  background-color: var(--Main-elements);
  background-image: linear-gradient(
    45deg, var(--grey-6) 25%,
    transparent 25%, transparent 50%,
    var(--grey-6) 50%,
    var(--grey-6) 75%,
    transparent 75%,
    transparent
  );
  background-size: 3rem 3rem;
  -moz-animation: animate-stripes 2s linear infinite;
  animation: animate-stripes 2s linear infinite;
}

.upload-indicator .cancel {
  background-color: var(--Main-elements);
  border-radius: 4px;
  border: 2px solid var(--Main-elements);
  color: var(--Tertiary-font);
  font-size: var(--caption1-size);
  font-weight: var(--caption1-weight);
  letter-spacing: 0;
  line-height: var(--caption1-line-height);
  margin: 5px 0 0;
  min-width: 160px;
  padding: 0.25em 2em;
  text-align: center;
  text-transform: uppercase;
}

.upload-indicator .icon {
  fill: var(--Tertiary-elements);
  height: 24px;
  width: 24px;
}

.upload-indicator .cancel .icon {
  margin-right: 10px;
  vertical-align: middle;
}

@-webkit-keyframes animate-stripes {
  0% { background-position: 0 0, 0 0, 0 0 }
  100% { background-position: -100px 0, 0 0, 0 0 }
}

@-moz-keyframes animate-stripes {
  0% { background-position: 0 0, 0 0, 0 0 }
  100% { background-position: -100px 0, 0 0, 0 0 }
}

@keyframes animate-stripes {
  0% { background-position: 0 0, 0 0, 0 0 }
  100% { background-position: -100px 0, 0 0, 0 0 }
}

.chat-container {
  position: relative;
  background-color: var(--Interface-background);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  flex: 2;
  box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.15);
}

.chat-container.call {
  border-radius: 5px;
  box-shadow: 0 1px 4px 0 var(--grey-8);
  background-color: var(--Interface-background);
  display: flex;
  flex-direction: column;
  margin: 1px 12px 12px;
  overflow: hidden;
  width: 350px;
}

.appointment-screen.appointment-with-assistant .chat-container,
.waiting-room-screen.appointment-with-assistant .chat-container
{
  max-width: 800px;
  width: 100%;
}

.appointment-screen .chat-container header .dialog-info,
.waiting-room-screen .chat-container header .dialog-info
{
  display: flex;
  align-items: center;
  gap: 7px;
}

.chat-container header {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 10px;
}

.chat-container.call header {
  align-items: center;
  box-shadow: 0 0 6px 0 var(--secondary-800);
  box-sizing: border-box;
  display: flex;
  flex-direction: row;
  height: 62px;
  justify-content: flex-start;
  padding: 0 12px;
  z-index: 1;
}

.chat-container header .back {
  background-color: transparent;
  border: none;
  display: none;
  height: 28px;
  padding: 4px;
  width: 28px;
}

.chat-container header .back label {
  cursor: inherit;
}

.chat-container header .back .icon {
  height: 20px;
  width: 20px;
  fill: var(--secondary-900);
}

.chat-container header .dialog-info {
  text-align: start;
  width: 100%;
  overflow: hidden;
  box-sizing: border-box;
}

.chat-container header .dialog-info .avatar {
  display: block;
  width: 36px;
  height: 36px;
}

.chat-container header .dialog-info .dialog-name {
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  font-family: var(--font-family);
  font-weight: 600;
  font-size: 16px;
  line-height: 22px;
  color: var(--Primary-font);
}

.chat-container header .dialog-info .call-time {
  color: var(--blue-7);
  font-size: var(--caption2-size);
}

.chat-container header .dialog-info .radar-circle {
  height: 20px;
  width: 20px;
}

.chat-container header .dialog-info .radar-circle circle {
  animation: ripple 1.5s linear 0s infinite;
  stroke-width: 2px;
}

.chat-container header .dialog-info.radar-circle circle:nth-child(2) {
  animation-delay: 0.5s;
}

.chat-container header .dialog-info .radar-circle circle:nth-child(3) {
  animation-delay: 1s;
}

.chat-container header .dialog-info .content-center {
  display: none;
}

.chat-container header .dialog-info .content-center .please-wait {
  font-family: var(--font-family);
  font-size: 12px;
  font-weight: 400;
  line-height: 15px;
  text-align: center;
  color: var(--secondary-300);
}

.chat-container .btn-leave {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 11px 24px;
  height: 44px;
  min-width: 118px;
  width: auto;
  border-radius: 4px;
  font-weight: var(--body-weight);
  font-size: var(--body-size);
  line-height: var(--body-line-height);
  background-color: inherit;
  color: var(--High);
  border: 1px solid var(--High);
  white-space: nowrap;
}

.chat-container .sub-header {
  display: none;
}

.chat-container .sub-header .content-center-left {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 10px 20px;
  box-sizing: border-box;
}

.chat-container .sub-header .content-center-left .dialog-topic {
  font-family: var(--font-family);
  font-weight: 600;
  font-size: 12px;
  line-height: 15px;
  text-align: left;
  white-space: nowrap;
}

.chat-container .sub-header .content-center-left .dialog-description {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 12px;
  line-height: 15px;
  text-align: left;
  flex-grow: 1;
  margin: 0 10px;
}

.chat-container .sub-header .content-center-left .edit {
  background-color: transparent;
  border: none;
  color: var(--Main-elements);
  cursor: pointer;
  font-size: 12px;
  text-align: right;
  min-width: 23px;
  padding: unset;
}

.chat-container main {
  align-items: center;
  background-color: var(--blue-2);
  display: flex;
  flex-direction: column;
  flex: 1;
  justify-content: flex-start;
  overflow: hidden;
}

.chat-container .notification {
  height: 88px;
  min-width: 436px;
  padding: 16px 24px;
  gap: 11px;
  background-color: var(--Secondary-elements);

  top: 230%;
  left: 50%;
  transform: translate(-50%, -50%);

  font-weight: var(--body-weight);
  font-size: var(--body-size);
  line-height: var(--body-line-height);
  color: var(--Incoming-background);

  position: absolute;
  z-index: 1;
}

.chat-container .caption-header {
  font-weight: var(--h1-weight);
}

.chat-container .caption-description {
  display: flex;
  align-items: center;
  gap: 2px;
}

.chat-container header .dialog-info .caption-description .radar-circle {
  height: 24px;
  width: 24px;
}

.chat-container header .dialog-info .caption-description .radar-circle circle {
  stroke: var(--Incoming-background) !important;
}

@media screen and (max-width: 768px) {
  .chat-container {
    border-radius: 0;
    margin: 0;
    position: fixed;
    transition: right 0.25s ease-in-out;
    width: 100%;
    z-index: 2;
    top: 50px;
    height: calc(100% - 41px);
    margin: 1px 1px 12px 2px;
  }

  .chat-container.call {
    height: 100%;
    width: 100%;

    margin: 0;

    right: -100%;
    top: 0;
  }


  .appointment-screen .chat-container header .dialog-info,
  .waiting-room-screen .chat-container header .dialog-info {
    display: flex;
    flex-flow: column;
    justify-content: flex-end;
    align-items: flex-start;
    min-height: 60px;
    padding: 2px 20px;
    gap: 3px;
    border-bottom: 1px solid var(--Divider);
  }

  .chat-container header {
    display: flex;
    padding: 0;
    flex-flow: column;
    align-items: flex-start;
  }

  .chat-container header .dialog-info .content-center {
    display: flex;
    justify-content: flex-start;
    align-items: center;
  }

  .chat-container header .back {
    display: initial;
    margin-right: 12px;
  }

  .chat-container header .dialog-info .avatar {
    display: none;
  }

  .chat-container .sub-header {
    align-items: center;
    box-sizing: border-box;
    display: flex;
    flex-direction: row;
    height: 32px;
    justify-content: flex-start;
    z-index: 1;
  }

  .offline .chat-container {
    top: 41px;
    height: calc(100% - 41px);
  }

  .main-screen .chat-container.open {
    right: 0;
  }

  .chat-container .btn-leave {
    display: none;
  }

  .chat-container .notification {
    display: none;
  }

  .chat-container .sub-header .content-center-left .dialog-description {
    width: 150px;
  }
}

.camera-modal .form .body {
  padding: 0;
}

.camera-modal .form .footer {
  padding: 0 27px 40px;
}

.camera-modal .list-devices {
  padding: 10px 0;
  margin: 0;
  width: 100%;
}

.camera-modal .list-devices-item {
  list-style-type: none;
  padding: 10px 16px;
  cursor: pointer;
}

.camera-modal .list-devices-item.active {
  background-color: var(--grey-2);
  box-shadow: inset 3px 0 0 0 var(--Main-elements);
}

.camera-modal .list-devices-item:hover {
  background-color: var(--grey-2);
  box-shadow: inset 3px 0 0 0 var(--Main-elements);
}

.controls {
  align-items: flex-start;
  box-sizing: border-box;
  display: flex;
  flex-direction: row;
  justify-content: center;
  gap: 10px;
  padding-bottom: 20px;
  padding-top: 10px;

}

.controls .control-btn {
  background-color: var(--secondary-400);
  border-radius: 5px;
  border: none;
  color: var(--Tertiary-font);
  font-size: var(--font-size-xs);
  height: 44px;
  width: 44px;
  line-height: 13px;
  padding: 0;
}

.controls .control-btn:disabled {
  opacity: 0.6;
}

.controls .control-btn.active {
  background-color: var(--Incoming-background);
}

.controls .control-btn.disable,
.control-btn.active-record {
  background-color: var(--Warning);
}

.controls .control-btn .icon {
  height: 32px;
  width: 32px;
  vertical-align: middle;
}

.controls .control-btn .icon path,
.icon-device path {
  fill: var(--Tertiary-elements);
}

.controls .control-btn.active .icon path {
  fill: var(--Secondary-elements);
}

.controls .control-btn.end-call {
  background-color: var(--Warning);
  font-weight: var(--body-weight);
  font-size: var(--body-size);
  line-height: var(--body-line-height);
  padding: 0 1.2em;
  width: auto;
}

.controls .control-btn.end-call .icon {
  fill: var(--Tertiary-elements);
}

@keyframes pulsating {
  0%    { transform: none; }
  50%   { transform: scale(1.2); }
  100%  { transform: none; }
}

@media screen and (max-width: 768px) {
  .controls {
    padding-top: 15px;
  }
}

.call-screen {
  position: fixed;
  display: flex;
  height: 100%;
  max-height: 100vh;
  width: 100%;
  top: -100%;
  transition: top 0.25s ease-in-out;
  z-index: 100;
  background-color: var(--Secondary-elements);
}

.call-screen.active {
  top: 0;
}

.call-screen .chat-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  background-color: var(--blue-1);
}

.call-screen .chat-room {
  flex: 1;
}

.call-screen-content {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  width: 100%;
  align-items: center;
  justify-content: center;
}

.call-screen .chat {
  background-color: transparent;
  border: none;
  display: none;
  margin: 0;
  padding: 4px;
  position: absolute;
  right: 10px;
  top: 10px;
  z-index: 1;
}

.call-screen .chat.unread::after {
  background-color: var(--red-4);
  border-radius: 50%;
  border: 1px solid var(--blue-1);
  content: '';
  height: 8px;
  position: absolute;
  right: 0;
  top: 0;
  width: 8px;
}

.call-screen .chat .icon {
  fill: var(--Tertiary-elements);
  height: 24px;
  width: 24px;
}

.call-screen .videos {
  align-items: center;
  display: flex;
  flex-direction: column;
  flex: 1;
  justify-content: center;
  overflow: hidden;
  position: relative;
  width: 100%;
}

.call-screen .videos .video-container {
  display: flex;
  flex: 1;
  max-height: 100%;
  position: relative;
  width: 100%;
}

.call-screen .videos .video-container .overlay {
  background: linear-gradient(180deg, var(--Secondary-elements) 0%, transparent 100%);
  box-sizing: border-box;
  color: var(--Tertiary-font);
  font-size: var(--caption2-size);
  left: 0;
  padding: 20px;
  position: absolute;
  right: 0;
  text-align: start;
  top: 0;
}

.call-screen .videos .video-container .overlay p {
  margin: 0 0 5px 0;
}

.call-screen .videos .video-container video {
  max-height: 100%;
  width: 100%;
}

.call-screen .videos #local {
  height: auto;
  max-height: 25%;
  max-width: 25%;
  position: absolute;
  right: 15px;
  top: 15px;
  width: auto;
  background-color: var(--secondary-900);
  box-shadow: 0 9px 20px 0 var(--secondary-800);
}

@media screen and (max-width: 768px) {
  .offline .call-screen.active {
    top: 41px;
    height: calc(100% - 41px);
  }

  .call-screen {
    flex-direction: column;
  }

  .call-screen .chat {
    display: initial;
  }

  .call-screen .header-call {
    display: none;
  }

  .call-screen .videos #local {
    bottom: 0;
    top: auto;
    right: 0;
    max-height: 20%;
    max-width: 20%;
  }

  .call-screen .videos video[id*="remote"] {
    object-fit: contain;
  }
}

.tabs {
  align-items: center;
  display: flex;
  flex-direction: column;
  flex: 1;
  justify-content: flex-start;
  overflow: hidden
}

.tabs .tabs-container {
  align-items: center;
  display: flex;
  flex-direction: row;
  justify-content: center;
  width: 100%;
}

.tabs .tabs-container .tab {
  background-color: var(--Interface-background);
  border: none;
  box-shadow: inset 0 -1px 0 0 var(--Tab-boxShadowColor);
  color: var(--blue-7);
  flex: 1;
  font-size: var(--tab-size);
  letter-spacing: var(--tab-letter-spacing);
  line-height: var(--tab-line-height);
  outline: none;
  padding: 15px;
  text-align: center;
  text-transform: uppercase;
}

.tabs .tabs-container .tab.active {
  background-color: var(--Incoming-background);
  box-shadow: inset 0 -2px 0 0 var(--Main-elements);
  color: var(--Main-elements);
}

.tabs .tab-content {
  display: flex;
  flex-direction: column;
  flex: 1;
  overflow: hidden;
  width: 100%;
}

.tabs .tab-content .tab-content-item {
  display: none;
  flex-direction: column;
  flex: 1;
  overflow: hidden;
  width: 100%;
}

.tabs .tab-content .tab-content-item.active {
  display: flex;
}

.section-item {
  align-items: flex-start;
  border-bottom: 1px solid var(--Divider);
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: start;
}

.section-item .title {
  cursor: pointer;
  align-items: center;
  background-color: var(--Interface-background);
  box-sizing: border-box;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  padding: 0 0 0 10px;
  width: 100%;
}

.section-item .title.disabled {
  cursor: default;
}

.section-item .icon-container {
  display: flex;
}

.section-item .icon {
  fill: var(--secondary-900);
}

.section-item .title .icon.arrow {
  height: 24px;
  transition: transform 0.2s ease-in;
  width: 24px;
}

.section-item .body {
  background-color: var(--Interface-background);
  border: none;
  box-sizing: border-box;
  font-family: inherit;
  font-size: var(--caption2-size);
  height: 0;
  line-height: var(--caption2-line-height);
  outline: none;
  overflow: auto;
  padding: 0 12px;
  resize: none;
  transition: all 0.2s ease-in;
  width: 100%;
  white-space: pre-wrap;
  overflow-wrap: break-word;
}

.section-item.active .icon.arrow {
  transform: rotate(90deg);
}

.section-item.active .body {
  height: 245px;
  padding: 0 0 0 10px;
}

.appointment-details-modal .container {
  background-color: var(--Interface-background);
  border-radius: 6px;
  color: var(--secondary-900);
  font-size: var(--body-size);
  letter-spacing: 0;
  line-height: var(--body-line-height);
  width: 520px;
  max-height: 800px;
  height: 100%;
  overflow: hidden;
}

.appointment-details-modal.appointment-ended .container {
  width: 800px;
}

.appointment-details-modal .back {
  background-color: transparent;
  border: none;
  display: none;
  height: 28px;
  padding: 4px;
  width: 28px;
  margin-right: 15px;
}

.appointment-details-modal .item {
  box-sizing: border-box;
  display: inline-block;
  padding: 6px;
  width: 50%;
}

.appointment-details-modal .item .value {
  text-transform: capitalize;
}

.appointment-details-modal .item .label {
  color: var(--blue-7);
  font-size: var(--font-size-md);
  margin-right: 12px;
}

.appointment-details-modal .back .icon {
  height: 20px;
  width: 20px;
  fill: var(--secondary-900);
}

.appointment-details-modal .header-nav {
  display: flex;
  align-items: center;
  margin-bottom: 20px;
}

.appointment-details-modal .container .tab-wrapper {
  height: calc(100% - 101px);
}

.appointment-details-modal .container .tabs {
  height: 100%;
}

.appointment-details-modal .container .header-card {
  display: flex;
  padding: 12px 20px;
  flex-direction: column;
  align-items: flex-start;
  border-bottom: 1px solid var(--blue-3);
}

.appointment-details-modal .container .sections-wrapper {
  display: flex;
  height: calc(100% - 101px);
}

.appointment-details-modal .container .sections-wrapper .col:first-child {
  border-right: 1px solid var(--blue-3);
}

.appointment-details-modal
  .container
  .sections-wrapper
  .col
  .messages-container {
  height: 100%;
}

.appointment-details-modal .container .header-card .title {
  color: var(--secondary-900);
  line-height: var(--h2-line-height);
  font-size: var(--h2-size);
  font-weight: var(--h2-weight);
  text-align: start;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
}

.appointment-details-modal .container .header-card .header-info {
  display: flex;
  justify-content: space-between;
  width: 100%;
}

.appointment-details-modal .header-card .date-divider {
  margin: 0 15px;
}

.appointment-details-modal .header-card .date-divider::after {
  content: '';
  display: block;
  height: 6px;
  width: 6px;
  border-radius: 50%;
  background-color: var(--secondary-900);
}

.appointment-details-modal .container .header-card .user-info {
  display: flex;
  align-items: center;
  width: 100%;
  overflow: hidden;
}

.appointment-details-modal .container .header-card .user-info .user-name {
  color: var(--secondary-900);
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

.appointment-details-modal .container .header-card .user-info .avatar {
  width: 30px;
  height: 30px;
  margin-right: 10px;
}

.appointment-details-modal .container .title {
  color: var(--blue-7);
  flex: 1;
  font-size: var(--font-size-md);
  line-height: 15px;
  cursor: pointer;
}

.appointment-details-modal .container .col {
  width: 50%;
}

.appointment-details-modal .user-details {
  width: 100%;
}

.offline .appointment-details-modal .icon.download {
  cursor: not-allowed;
  opacity: 0.35;
}

.appointment-details-modal .icon.download {
  height: 12px;
  width: 12px;
}

.appointment-details-modal .injury-list {
  margin: 0;
  padding: 0;
}


.appointment-details-modal .injury-item {
  display: flex;
  flex-direction: column;
  list-style: none;
  padding: 0px 10px 0px 0px;
  gap: 5px;
}

.appointment-details-modal .injury-item-name {
  color: var(--secondary-300);
  font-size: var(--font-size-lg);
  line-height: var(--caption2-line-height);
  align-items: center;
  text-decoration: none;
}

.appointment-details-modal .injury-item-value {
  color: var(--secondary-500);
  font-size: var(--font-size-xl);
  line-height: var(--h3-line-height);
  align-items: center;
  text-decoration: none;
}

@media screen and (max-width: 768px) {
  .offline .appointment-details-modal .container .tabs {
    height: calc(100% - 41px);
  }

  .appointment-details-modal .container,
  .appointment-details-modal.appointment-ended .container {
    width: 100%;
    height: 100%;
    border-radius: 0;
    max-height: none;
  }

  .appointment-details-modal .container .header-card .title {
    line-height: var(--body-line-height);
    font-size: var(--body-size);
    font-weight: bold;
  }

  .appointment-details-modal .header-card .date-divider {
    margin: 0 10px;
  }

  .appointment-details-modal .header-card .date-divider::after {
    height: 3px;
    width: 3px;
  }

  .appointment-details-modal .container .tab-wrapper {
    height: calc(100% - 113px);
  }

  .appointment-details-modal .container .header-card {
    padding: 17px 13px;
  }

  .appointment-details-modal .back {
    display: inline-block;
  }

  .appointment-details-modal .icon-close {
    display: none;
  }
}

.call-modal.active{
  z-index: 900;
}

.call-modal .form {
  width: 200px;
  padding: 70px 70px 60px;
}

.call-modal .info {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
}

.call-modal .info .avatar {
  width: 60px;
  height: 60px;
}

.call-modal .user-name {
  color: var(--secondary-900);
  text-overflow: ellipsis;
  font-size: 16px;
  line-height: 22px;
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  width: 100%;
  margin-top: 15px;
  margin-bottom: 4px;
  text-align: center;
}

.call-modal .calling {
  font-size: var(--caption2-size);
  line-height: var(--caption2-line-height);
  color: var(--Secondary-elements);
}

.call-modal .form .btn-group {
  gap: 88px;
  margin-top: 74px;
}

.call-modal .control-btn-wrapper {
  display: flex;
  flex-direction: column;
  font-size: var(--font-size-sm);
  align-items: center;
  gap: 7px;
}

.call-modal .control-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  border: none;
  padding: 10px;
  height: 56px;
  width: 56px;
  fill: var(--Tertiary-elements);
}

.call-modal .icon {
  height: 100%;
  width: 100%;
}

.call-modal .control-btn.accept {
  padding: 16px;
  background-color: var(--green-4);
}

.call-modal .control-btn.decline {
  background-color: var(--red-6);
}

@media screen and (max-width: 576px) {
  .call-modal .form {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
  }
}

.code-verification .form {
  overflow: hidden;
}

.code-verification .form .body {
  align-items: flex-start;
  padding: 22px 32px;
}

.code-verification .form-field-label {
  font-size: var(--caption2-size);
  line-height: var(--caption2-line-height);
  color: var(--grey-8);
}

.code-verification-body {
  width: 100%;
  box-sizing: border-box;
  margin-top: 10px;
}

.code-verification .re-send {
  font-size: var(--font-size-md);
  padding-top: 10px;
}

.code-verification .re-send button {
  background: transparent;
  border: none;
  color: var(--Main-elements);
  font-size: var(--font-size-md);
  margin: 0;
  padding: 4px;
}

.consultation-topic .form {
  width: 623px;
  overflow: hidden;
}

.consultation-topic .form .body {
  align-items: flex-start;
}

.consultation-topic .field {
  width: 100%;
  resize: none;
}

.consultation-topic .form-field-label {
  font-size: var(--caption2-size);
  line-height: var(--caption2-line-height);
  color: var(--Secondary-elements);
}

.consultation-topic .back {
  background-color: transparent;
  border: none;
  display: none;
  height: 28px;
  padding: 4px;
  width: 28px;
  margin-right: 15px;
}

.consultation-topic .back .icon {
  height: 20px;
  width: 20px;
  fill: var(--secondary-900);
}

.consultation-topic-body {
  width: 100%;
  box-sizing: border-box;
  margin-top: 10px;
}

@media screen and (max-width: 768px) {
  .consultation-topic {
    opacity: 1;
    right: -100%;
    left: unset;
    transition: right 0.25s ease-in-out;
    z-index: 10;
  }

  .consultation-topic.active {
    right: 0;
  }

  .consultation-topic .icon-close {
    display: none;
  }

  .consultation-topic .form {
    width: 100%;
    height: 100%;
    border-radius: 0;
    background-color: var(--blue-1);
    transform: scale(1);
  }

  .consultation-topic .form .body {
    padding: 0;
  }

  .consultation-topic .form-field {
    display: flex;
    justify-content: center;
  }

  .consultation-topic .form-field-input {
    width: 100%;
  }

  .consultation-topic .consultation-topic-header {
    display: flex;
    align-items: center;
    background-color: var(--Interface-background);
    box-shadow: 0 1px 4px 0 var(--grey-8);
    padding: 17px 13px;
    width: 100%;
  }

  .consultation-topic-body {
    padding: 0 15px;
  }

  .consultation-topic .form-field-label {
    font-size: var(--body-size);
    font-weight: var(--body-weigh);
    line-height: var(--body-line-height);
  }

  .consultation-topic .form-field-input {
    margin-top: 15px;
    width: 100%;
  }

  .consultation-topic .back {
    display: inline-block;
  }

  .consultation-topic .form .btn-group {
    flex-direction: column;
    align-items: center;
  }

  .consultation-topic .form .btn-group .btn-join {
    max-width: 350px;
    width: 100%;
  }
}

.modal.time-not-available .form .body {
  padding: 29px 62px 40px;
}

.modal.time-not-available .label {
  font-size: var(--body-size);
  line-height: var(--body-line-height);
  color: var(--Secondary-elements);
  text-align: center;
}

.modal.time-not-available .label:not(:last-child) {
  margin-bottom: 22px;
}

.modal.approve-new-appointment .label,
.modal.approve-new-appointment .user-name,
.modal.approve-new-appointment .date {
  font-size: var(--body-size);
  line-height: var(--body-line-height);
}

.modal.approve-new-appointment .label {
  color: var(--Secondary-elements);
}

.modal.approve-new-appointment .date {
  color: var(--Secondary-elements);
}

.modal.approve-new-appointment .user-name {
  color: var(--secondary-900);
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.modal.approve-new-appointment .user {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: 16px 0;
}

.provider-biography-modal .container {
  background-color: var(--Interface-background);
  border-radius: 6px;
  color: var(--secondary-900);
  font-size: var(--body-size);
  letter-spacing: 0;
  line-height: var(--body-line-height);
  width: 800px;
  max-height: 800px;
  height: 100%;
  overflow-y: auto;
}

.provider-biography-modal .back {
  background-color: transparent;
  border: none;
  display: none;
  height: 28px;
  padding: 4px;
  width: 28px;
  margin-right: 15px;
}

.provider-biography-modal .back .icon {
  height: 20px;
  width: 20px;
  fill: var(--secondary-900);
}

.provider-biography-modal .header-nav {
  display: flex;
  align-items: center;
}

.provider-biography-modal .container .header-card {
  display: flex;
  padding: 20px;
  align-items: flex-start;
  border-bottom: 1px solid var(--blue-3);
}

.provider-biography-modal .container .header-card .header-info {
  display: flex;
  justify-content: space-between;
  width: 100%;
}

.provider-biography-modal .container .header-card .user-info {
  display: flex;
  align-items: center;
  justify-content: center;
}

.provider-biography-modal .container .header-card .user-info .user-name {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--secondary-900);
}

.provider-biography-modal .container .header-card .user-info .avatar {
  width: 60px;
  height: 60px;
  margin-right: 12px;
}

.provider-biography-modal .container .main-card {
  padding: 20px;
}

.provider-biography-modal .container .main-card .provider-info {
  text-align: start;
  font-size: var(--body-size);
  line-height: var(--body-line-height);
  margin: 0;
  white-space: pre-wrap;
  font-family: inherit;
  overflow: hidden;
  text-overflow: ellipsis;
}

@media screen and (max-width: 768px) {
  .provider-biography-modal .container {
    width: 100%;
    height: 100%;
    border-radius: 0;
    max-height: none;
  }

  .provider-biography-modal .container .header-card {
    box-shadow: 0 1px 4px 0 var(--grey-8);
    padding: 17px 13px;
  }

  .provider-biography-modal .back {
    display: inline-block;
  }

  .provider-biography-modal .icon-close {
    display: none;
  }

  .provider-biography-modal .container .header-card .user-info .avatar {
    width: 26px;
    height: 26px;
  }
}

.yourself-about-screen {
  align-self: flex-start;
  background-color: var(--Interface-background);
  border-radius: 5px;
  box-shadow: 0 1px 4px 0 var(--grey-8);
  box-sizing: border-box;
  color: var(--Secondary-elements);
  display: inline-block;
  padding: 60px 20px 50px;
  transition: all 0.2s ease-in;
  width: 490px;
  margin: 60px auto;
}

.yourself-about-screen .title {
  margin: 0 80px 40px;
  font-size: var(--body-size);
  line-height: var(--body-line-height);
  text-align: center;
}

.yourself-about-screen .form-field-radio-group {
  padding: 12px 0;
  line-height: 0;
}

.yourself-about-screen .mr-10 {
  margin-right: 10px;
}

.yourself-about-screen .btn {
  margin-top: 22px;
}

@media screen and (max-width: 768px) {
  .yourself-about-screen {
    width: calc(100% - 20px);
    margin-top: 0;
    padding-top: 30px;
  }

  .yourself-about-screen .title {
    margin: 0 0 20px;
  }

  .yourself-about-screen .form-field-radio-group {
    padding: 0;
  }
}

.conclusion-wrapper {
  display: flex;
  flex: 1;
  align-items: center;
  flex-direction: column;
  transition: flex 0.2s linear;
}

.conclusion-wrapper .conclusion-title {
  margin: 50px 0 0;
  color: inherit;
}

.conclusion-wrapper .conclusion {
  margin: 150px 0;
}

.conclusion-wrapper .conclusion .ready {
  color: inherit;
}

.conclusion-wrapper .btn-group {
  display: flex;
  justify-content: center;
  gap: 16px;
  margin-top: 24px;
}

.conclusion-wrapper .conclusion-description {
  width: 100%;
  max-width: 550px;
}


@media screen and (max-width: 768px) {
  .conclusion-wrapper {
    width: calc(100% - 20px);
    padding: 0 15px 30px;
  }

  .conclusion-wrapper .conclusion {
    margin: 50px 0;
  }

  .conclusion-wrapper .btn-group {
    flex-direction: column;
  }
}

.appointment-description-container {
  align-items: flex-start;
  display: flex;
  flex: 1;
  justify-content: center;
  overflow-x: hidden;
  overflow-y: auto;
  transition: flex 0.2s linear;
  max-width: 300px;
  background: var(--Interface-background);
  border-right: 1px solid var(--Divider);
  padding: 20px;
}

.appointment-description {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  gap: 8px;
}

.appointment-description .description {
  max-width: 564px;
  color: inherit;
}

.appointment-description .description-legend {
  display: flex;
  justify-content: space-between;
  height: 22px;
  align-items: center;
  width: 100%;
}

.appointment-description .description-label {
  font-weight: 600;
  font-size: 16px;
  line-height: 22px;
}

.appointment-description .cancel,
.appointment-description .save {
  display: flex;
  align-items: center;
  background-color: transparent;
  border: none;
  padding: 0 9px;
}

.appointment-description .description-edit {
  min-width: 29px;
  padding: 0;
  border: none;
  color: var(--Main-elements);
  cursor: pointer;

  font-weight: var(--body-weight);
  font-size: var(--body-size);
  line-height: var(--body-line-height);
}

.appointment-description .description-edit:hover {
  color: var(--Main-elements);
  text-decoration: underline;
}

.appointment-description .save:disabled {
  opacity: 0.35;
}

.appointment-description .icon {
  height: 24px;
  width: 24px;
  fill: var(--Secondary-elements);
}

.appointment-description form textarea {
  border: 1px solid var(--blue-3);
  background-color: var(--Interface-background);
  opacity: 1;
  border-radius: 4px;
  box-sizing: border-box;
  font-family: inherit;
  font-size: var(--body-size);
  padding: 10px 12px;
  resize: none;
  width: 100%;
  outline: none;
}

.appointment-description .description {
  width: 100%;
  overflow-wrap: break-word;
  text-align: left;

  font-weight: var(--body-weight);
  font-size: var(--body-size);
  line-height: var(--body-line-height);
}

.appointment-description .btn-group {
  display: flex;
  flex-direction: column;
  margin: 20px 0 40px;
  width: 100%;
}

.appointment-description .btn-group .btn-leave {
  background-color: transparent;
  border: none;
  color: var(--secondary-900);
  font-family: inherit;
  font-size: var(--caption2-size);
  height: 19px;
  letter-spacing: 0;
  line-height: 19px;
  opacity: 0.6;
  padding: 0;
  text-align: center;
}

@keyframes ripple {
  from {
    r: 0;
    stroke: var(--Main-elements);
  }
  to {
    r: 25px;
    stroke: var(--Interface-background);
  }
}

@media screen and (min-width: 769px) {
  .appointment-description-container .btn-chat {
    display: none;
  }
}
@media screen and (max-width: 769px) {
  .appointment-description-container {
    display: none;
  }
}

.appointment-screen {
  display: flex;
  flex: 1;
  align-items: stretch;
  justify-content: center;
  box-sizing: border-box;
  overflow-x: hidden;
  overflow-y: auto;
  width: 100%;
  max-height: calc(100vh - 72px);
  padding: 0 24px 28px;
}

.appointment-screen.loading {
  display: flex;
  align-items: center;
  flex: 1;
  flex-direction: column;
  justify-content: center;
}

.appointment-screen.appointment-with-assistant {
  flex-direction: column;
  align-items: center;
  gap: 35px;
}

@media screen and (max-width: 768px) {
  .appointment-screen.appointment-with-assistant,
  .appointment-screen {
    max-height: unset;
  }
}

.modal.leave-queue .form .title {
  border-bottom: none;
}
.modal.leave-queue .form .body .btn-group .btn{
  width: 170px;
  height: 44px;
}

.appointment-finish-wrapper {
  display: flex;
  flex: 1;
  align-items: center;
  flex-direction: column;
  transition: flex 0.2s linear;
}

.appointment-finish-wrapper .appointment-finish-title {
  margin: 50px 0 0;
  color: inherit;
}

.appointment-finish-wrapper .appointment-finish {
  max-width: 500px;
  margin: 150px 0;
}

.appointment-finish-wrapper .appointment-finish .register-title {
  color: inherit;
}

.appointment-finish-wrapper .btn-group {
  display: flex;
  justify-content: center;
  gap: 16px;
  margin-top: 24px;
  white-space: nowrap;
}

.appointment-finish-wrapper .btn-group .btn {
  width: 200px;
  height: 44px;
  padding: 11px;
  white-space: nowrap;
}

.appointment-finish-wrapper .appointment-finish-description {
  width: 100%;
  max-width: 550px;
}


@media screen and (max-width: 768px) {
  .appointment-finish-wrapper {
    width: calc(100% - 30px);
    padding: 0 15px 30px;
  }

  .appointment-finish-wrapper .appointment-finish {
    margin: 50px 0;
  }

  .appointment-finish-wrapper .btn-group {
    flex-direction: column;
    white-space: nowrap;
  }
}

.provider-list {
  background-color: var(--Interface-background);
  border-radius: 5px 0 0 5px;
  border-right: 1px solid var(--blue-3);
  box-shadow: 0 1px 4px 0 var(--grey-8);
  overflow-y: auto;
  width: 280px;
  margin-left: 12px;
  margin-top: 1px;
}

.provider-list-wide {
  flex: 1;
  max-width: 430px;
}

.provider-list .header-block {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 28px;
  margin: 12px 20px 0 12px;
}

.provider-list .title,
.provider-list .find-agent-field .form-field-label-text {
  font-size: var(--caption2-size);
  line-height: var(--caption2-line-height);
  font-size: var(--font-size-lg);
  line-height: 19px;
  color: var(--blue-7);
}

.provider-list .icon {
  height: 24px;
  width: 24px;
}

.provider-list .find-agent-field {
  padding: 12px 12px 20px;
  box-sizing: border-box;
}

.provider-list .find-agent-field.field .field {
  resize: none;
}

.provider-list .find-agent-controls {
  position: relative;
  margin: 0 12px;
}

.provider-list .find-agent-reset {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  padding: 0;
  border: none;
  font-size: var(--font-size-xl);
  line-height: 22px;
  background: none;
  color: var(--Main-elements);
  display: flex;
  align-items: center;
}

.provider-list .find-agent-reset svg {
  width: 19px;
  height: 19px;
  fill: var(--Main-elements);
  transform: rotate(30deg);
}

.provider-list .find-agent-reset span {
  margin-left: 5px;
}

.provider-list .provider-search {
  display: flex;
  background-color: var(--Interface-background);
  justify-content: space-between;
  align-items: center;
  border-radius: 4px;
  border: 1px solid var(--blue-3);
  box-sizing: border-box;
  height: 45px;
  margin: 12px;
  padding-right: 10px;
}

.provider-list .provider-search input {
  width: 100%;
  border: none;
  outline: none;
  font-size: var(--body-size);
  line-height: var(--body-line-height);
}

.provider-list .provider-search input::placeholder {
  color: var(--blue-3);
}

.provider-list .provider-search .icon {
  fill: var(--blue-3);
  margin: 10px;
}

.provider-list .providers {
  margin-top: 20px;
  list-style: none;
  padding: 0;
}

.provider-list .provider-item {
  cursor: pointer;
  display: flex;
  align-items: center;
  padding: 10px 12px;
}

.provider-list .provider-item .avatar {
  width: 26px;
  height: 26px;
}

.provider-list .provider-item.active {
  background-color: var(--Main-elements);
}

.provider-list .provider-item.active .provider-name {
  color: var(--Tertiary-font);
}

.provider-list .provider-name {
  margin-left: 8px;
  font-size: var(--body-size);
  line-height: var(--body-line-height);
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  color: inherit;
}

@media screen and (max-width: 768px) {
  .provider-list {
    background-color: var(--Interface-background);
    box-shadow: none;
    border: none;
    width: 100%;
    margin: 0;
  }

  .provider-list .provider-item.active {
    background-color: inherit;
  }

  .provider-list .provider-item.active .provider-name {
    color: inherit;
  }
}

.provider-details {
  background-color: var(--Interface-background);
  border-radius: 0 5px 5px 0;
  box-shadow: 0 1px 4px 0 var(--grey-8);
  padding: 20px 25px 40px;
  margin: 1px 0 0 1px;
  box-sizing: border-box;
  color: inherit;
}

.provider-info.open .provider-details {
  border-radius: 5px;
}

.provider-info.open .provider-details {
  border-radius: 5px;
}

.provider-details.loading {
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
}

.provider-details .provider-header {
  display: flex;
  align-items: center;
}

.provider-details .back {
  background-color: transparent;
  border: none;
  display: none;
  height: 28px;
  padding: 4px;
  width: 28px;
  margin-right: 15px;
}

.provider-details .back .icon {
  height: 20px;
  width: 20px;
  fill: var(--secondary-900);
}

.provider-details .provider-avatar {
  width: 60px;
  height: 60px;
}

.provider-details .provider-name,
.provider-details .provider-name-skeleton {
  margin-left: 12px;
}

.provider-details .provider-name {
  font-size: var(--h2-size);
  font-weight: var(--h2-weight);
  line-height: var(--h2-line-height);
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

.provider-details .provider-content {
  margin-top: 10px;
}

.provider-details .provider-description {
  text-align: start;
  font-size: var(--body-size);
  line-height: var(--body-line-height);
  margin: 0;
  white-space: pre-wrap;
  font-family: inherit;
  max-height: 198px;
  overflow: hidden;
  text-overflow: ellipsis;
}

.provider-details .biography-controls {
  display: flex;
  justify-content: left;
  margin-top: 20px;
}

.provider-details .biography-more {
  background: none;
  outline: none;
  border: none;
  box-shadow: none;
  font-size: var(--body-size);
  letter-spacing: 0;
  color: var(--Main-elements);
  padding: 0;
}

.provider-details .btn-group {
  display: flex;
  gap: 16px;
  text-align: start;
  margin-top: 30px;
}

@media screen and (max-width: 768px) {
  .provider-details {
    padding: 0;
    background-color: var(--blue-1);
    box-shadow: none;
  }

  .provider-details .provider-header {
    background-color: var(--Interface-background);
    box-shadow: 0 1px 4px 0 var(--grey-8);
    padding: 17px 13px;
  }

  .provider-details .back {
    display: inline-block;
  }

  .provider-details .provider-avatar {
    width: 26px;
    height: 26px;
  }

  .provider-details .provider-name {
    font-size: var(--body-size);
    font-weight: normal;
    line-height: var(--body-line-height);
  }

  .provider-details .provider-content {
    margin: 16px 8px;
    padding: 12px 12px 50px;
    background-color: var(--Interface-background);
    border-radius: 5px;
    box-shadow: 0 1px 4px 0 var(--grey-8);
  }
}

.list {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  position: relative;
  width: 100%;
}

.list .spinner {
  display: block;
  height: 16px;
  left: 0;
  position: absolute;
  right: 0;
  top: -16px;
  transition: all 0.2s ease;
}

.list .spinner.active {
  top: 8px;
}

.list .list-content {
  flex: 1;
  overflow-x: hidden;
  overflow-y: auto;
  width: 100%;
}

.appointment-card {
  margin-top: 12px;
  justify-content: space-between;
  cursor: pointer;
  display: flex;
  color: var(--secondary-900);
}

.appointment-card .info {
  align-items: self-start;
  display: flex;
  flex-direction: column;
  width: 100%;
  overflow: hidden;
}

.appointment-card .info .title {
  margin: 0;
  font-size: var(--body-size);
  font-weight: bold;
  text-align: start;
  display: flex;
  align-items: center;
}
.appointment-card .info .title + .description {
  margin-top: 12px;
}

.appointment-card .info .date-divider {
  margin: 0 15px;
}

.appointment-card .info .date-divider::after {
  content: '';
  display: block;
  height: 3px;
  width: 3px;
  border-radius: 50%;
  background-color: var(--secondary-900);
}

.appointment-card .info .user-info {
  display: flex;
  align-items: center;
  width: 100%;
}

.appointment-card .user-info .avatar {
  width: 30px;
  height: 30px;
  margin: 10px 10px 10px 0;
}

.appointment-card .user-info .user-name {
  color: var(--secondary-900);
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

.appointment-card .info .description {
  font-size: var(--caption2-size);
  text-align: start;
  margin: 0;
  position: relative;
  max-height: 42px;
  white-space: pre-wrap;
}

.appointment-card .info .description::after {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0), var(--grey-2) 100%);
}

.appointment-card .icon {
  width: 24px;
  height: 24px;
  padding: 3px 0 15px 0;
  align-self: flex-end;
  fill: var(--secondary-900);
}

.appointment-card .icon-top {
  align-self: flex-start;
  margin-top: 4px;
}

@media screen and (max-width: 768px) {
  .appointment-card .icon {
    align-self: flex-start;
    margin-top: 4px;
  }

  .appointment-card .info .description {
    max-height: 76px;
  }
}

.my-upcoming-appointments {
  display: flex;
  flex-direction: column;
  padding: 20px 0 0 25px;
  overflow: hidden;
}

.my-upcoming-appointments .info .description::after {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0), var(--blue-1) 100%);
}

.my-upcoming-appointments .mua-title {
  color: var(--blue-7);
  font-size: var(--caption2-size);
  line-height: var(--caption2-line-height);
  text-align: start;
}

.my-upcoming-appointments .mua-empty {
  text-align: center;
  padding: 10px;
  font-weight: 600;
}

.providers-screen {
  box-sizing: border-box;
  width: 100%;
  display: flex;
  flex: 1;
  justify-content: center;
  max-height: calc(100vh - 72px);
}

.providers-screen .provider-info {
  display: flex;
  flex-direction: column;
  flex: 1;
  max-width: 600px;
  margin-right: 7px;
  padding-right: 5px;
  overflow: hidden;
}

.providers-screen .provider-info-wide {
  max-width: 800px;
}

@media screen and (max-width: 768px) {
  .providers-screen {
    max-height: unset;
  }

  .providers-screen .provider-info {
    position: fixed;
    right: -100%;
    top: 0;
    transition: right 0.25s ease-in-out;
    width: 100%;
    max-width: 100%;
    z-index: 3;
    height: 100%;
    background-color: var(--blue-1);
    margin: 0;
    padding: 0;
  }

  .providers-screen .provider-info.open {
      right: 0;
  }

  .offline .providers-screen .provider-info.open {
    top: 41px;
  }
}

.avatar-upload {
  display: flex;
  align-items: center;
}

.avatar-upload label {
  display: inline-block;
}

.avatar-upload input {
  position: absolute;
  z-index: -1;
  opacity: 0;
}

.avatar-upload input:not(:disabled) + .avatar-upload-photo {
  cursor: pointer;
}

.avatar-upload .avatar-upload-photo {
  width: 76px;
  height: 76px;
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  border: 1px solid var(--blue-3);
  background-color: var(--Interface-background);
}

.avatar-upload .avatar-upload-plus {
  position: relative;
}

.avatar-upload .avatar-upload-plus::before,
.avatar-upload .avatar-upload-plus::after {
  content: "";
  position: absolute;
  background-color: var(--Secondary-elements);
}

.avatar-upload .avatar-upload-plus::before {
  width: 2px;
  height: 18px;
}

.avatar-upload .avatar-upload-plus::after {
  width: 18px;
  height: 2px;
}

.avatar-upload input:focus + .avatar-upload-photo {
  box-shadow: 0 4px 11px 4px var(--primary-100);
}

.avatar-upload .avatar-upload-btn {
  margin: 0 15px;
}

.profile-screen {
  margin: 0 auto 30px;
  max-width: 800px;
  width: 100%;
  box-sizing: border-box;
  padding: 0 12px;
}

.profile-screen-form {
  align-self: flex-start;
  background-color: var(--Interface-background);
  border-radius: 5px;
  box-shadow: 0 1px 4px 0 var(--grey-8);
  box-sizing: border-box;
  color: var(--grey-13);
  display: inline-block;
  padding: 20px 25px 50px;
  transition: all 0.2s ease-in;
  width: 100%;
}

.profile-screen-header {
  display: flex;
  align-items: center;
}

.profile-screen .title {
  text-align: start;
  margin: 0 0 16px;
  font-size: var(--h2-size);
  font-weight: var(--h2-weight);
  line-height: var(--h2-line-height);
}

.profile-screen .back {
  background-color: transparent;
  border: none;
  height: 28px;
  padding: 4px;
  width: 28px;
  margin-right: 15px;
}

.profile-screen .back .icon {
  height: 20px;
  width: 20px;
  fill: var(--secondary-900);
}

.profile-screen .form-field-radio-group {
  padding: 12px 0;
  line-height: 0;
}

.profile-screen .mr-10 {
  margin-right: 10px;
}

.profile-screen .mt-40 {
  margin-top: 40px;
}

.profile-screen .btn-group {
  display: flex;
  justify-content: center;
  gap: 16px;
  margin-top: 40px;
}

@media screen and (max-width: 768px) {
  .offline .profile-screen {
    top: 41px;
    height: calc(100% - 41px);
  }

  .profile-screen {
    position: fixed;
    top: 0;
    z-index: 50;
    height: 100%;
    overflow: auto;
    padding: 0;
  }

  .profile-screen-form {
    padding: 0;
  }

  .profile-screen-header {
    background-color: var(--Interface-background);
    box-shadow: 0 1px 4px 0 var(--grey-8);
    padding: 17px 13px;
  }

  .profile-screen .header-title {
    margin: 0;
    font-size: var(--body-size);
    line-height: var(--body-line-height);
    font-weight: var(--body-weight);
  }

  .profile-screen-body {
    padding: 20px 15px;
  }
}

.appointment-register {
  display: flex;
  flex-direction: column;
  background-color: var(--Interface-background);
  border-radius: 5px;
  box-shadow: 0 1px 4px 0 var(--grey-8);
  color: var(--Secondary-elements);
  max-width: 800px;
  max-height: calc(100vh - 80px);
  width: 100%;
  margin: 0 auto;
  text-align: left;
}

.appointment-register .register-header {
  padding: 20px 25px;
  border-bottom: 1px solid var(--blue-3);
}

.appointment-register .register-card {
  margin: 30px 25px;
}

.appointment-register .back {
  background-color: transparent;
  border: none;
  display: none;
  height: 28px;
  padding: 4px;
  width: 28px;
  margin-right: 15px;
}

.appointment-register .back .icon {
  height: 20px;
  width: 20px;
  fill: var(--secondary-900);
}

.appointment-register .register-header .title {
  font-size: var(--h2-size);
  font-weight: var(--h2-weight);
  line-height: var(--h2-line-height);
}

.appointment-register .date-filter {
  margin-top: 25px;
}

.appointment-register .date-filter-field {
  display: inline-flex;
  align-items: center;
}

.appointment-register .date-filter-field:first-child {
  margin-right: 40px;
}

.appointment-register .date-filter-input {
  max-width: 150px;
}

.appointment-register .register-loader {
  text-align: center;
  padding: 10px 0;
  line-height: 0;
}

.appointment-register .register-empty {
  text-align: center;
  padding: 10px;
  font-weight: 600;
}

@media screen and (max-width: 768px) {
  .offline .appointment-register {
    top: 41px;
  }

  .appointment-register {
    position: absolute;
    max-height: 100%;
    top: 0;
    z-index: 3;
  }

  .appointment-register .register-header {
    padding: 17px 13px;
  }

  .appointment-register .register-header-nav {
    display: flex;
    align-items: center;
  }

  .appointment-register .register-header .title {
    font-size: var(--body-size);
    font-weight: var(--body-weight);
    line-height: var(--body-line-height);
  }

  .appointment-register .date-filter {
    margin-top: 20px;
  }

  .appointment-register .date-filter-field:first-child {
    margin-right: 10px;
  }

  .appointment-register .date-filter-input {
    font-size: var(--caption2-size);
    line-height: var(--caption2-line-height);
    max-width: 111px;
    padding: 10px 5px;
  }

  .appointment-register .date-filter-field:last-child .DayPickerInput-Overlay {
    left: auto;
    right: 0;
  }

  .appointment-register .date-filter-label {
    margin-right: 5px;
  }

  .appointment-register .back {
    display: inline-block;
  }

  .appointment-register .register-card {
    margin: 20px 12px;
  }
}

.calendar {
  border-radius: 0;
  border: none;
  padding: 0;
  width: auto;
}

.calendar.field {
  background-color: transparent;
}

.calendar.field .icon {
  fill: var(--secondary-400);
}

.calendar.show-overlay .icon {
  fill: var(--Main-elements);
}

.calendar .DayPickerInput-Overlay {
  top: 25px;
  left: 0;
}

.daily-schedule {
  text-align: center;
}

.daily-schedule .ds-controls {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.daily-schedule .ds-calendar {
  position: absolute;
  left: 0;
}

.daily-schedule .ds-btn-update {
  border: none;
  padding: 0;
  font-size: var(--body-size);
  line-height: var(--body-line-height);
  background: none;
  position: absolute;
  right: 0;
  color: var(--Main-elements);
  display: flex;
  align-items: center;
}

.daily-schedule .ds-btn-update:disabled .ds-btn-update-label {
  color: var(--blue-7);
}

.daily-schedule .ds-btn-update:disabled .ds-icon-update {
  fill: var(--blue-7);
}

.daily-schedule .ds-btn-update-label {
  margin-left: 5px;
}

.daily-schedule .ds-icon-update {
  fill: var(--Main-elements);
}

.daily-schedule .ds-date-name {
  font-size: var(--body-size);
  line-height: var(--body-line-height);
  width: 250px;
  margin: 0 5px;
  text-align: center;
}

.daily-schedule .ds-nav-btn {
  background-color: transparent;
  border: none;
  outline: none;
  padding: 0 5px;
  fill: var(--secondary-900);
}

.daily-schedule .ds-nav-btn.hide {
  visibility: hidden;
}

.daily-schedule .ds-icon {
  width: 24px;
  height: 24px;
  vertical-align: middle;
}

.daily-schedule .ds-icon-prev {
  transform: rotate(180deg);
}

.daily-schedule .ds-event-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 20px;
}

.daily-schedule .ds-event-item {
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  padding: 9px 12px;
  border-radius: 4px;
  box-sizing: border-box;
  color: var(--Tertiary-font);
  background-color: var(--Success);
  width: calc((100% / 4) - 8px);
}

.daily-schedule .ds-event-item.selected {
  background-color: var(--Incoming-background);
  border: 1px solid var(--secondary-900);
  color: var(--secondary-900);
  padding: 7px 11px;
}

.daily-schedule .ds-event-item.disabled,
.offline .daily-schedule .ds-event-item:not(.disabled) {
  cursor: not-allowed;
}

.daily-schedule .ds-event-item.disabled {
  background-color: var(--blue-6);
}

.offline .daily-schedule .ds-event-item:not(.disabled) {
  opacity: 0.6;
}

.daily-schedule .ds-event-input {
  display: none;
}

.daily-schedule .ds-event-time {
  font-size: var(--body-size);
  line-height: var(--body-line-height);
}

.daily-schedule .ds-event-divider {
  padding: 0 2px;
}

.daily-schedule .schedule-empty {
  text-align: center;
  padding: 10px;
  font-weight: 600;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  .daily-schedule .ds-date-name {
    width: 175px;
  }

  .daily-schedule .ds-event-list {
    gap: 5px;
  }

  .daily-schedule .ds-event-item {
    padding: 6px 13px;
    width: calc((100% / 4) - 4px);
  }

  .daily-schedule .ds-event-time {
    font-size: var(--caption3-size);
    line-height: var(--caption3-line-height);
    text-align: center;
  }

  .daily-schedule .ds-event-divider {
    display: none;
  }

  .daily-schedule .ds-event-start,
  .daily-schedule .ds-event-end {
    display: block;
  }

  .daily-schedule .ds-btn-update-label {
    display: none;
  }
}

.create-appointment-screen {
  padding: 20px 25px 30px;
  margin: 0 auto 30px;
  max-width: 800px;
  width: 100%;
  box-sizing: border-box;
  background-color: var(--CreateAppointmentScreen-backgroundColor);
  border-radius: 5px;
  box-shadow: var(--CreateAppointmentScreen-boxShadow);
  color: var(--Secondary-elements);
}

.create-appointment-screen .cas-header {
  display: flex;
  align-items: center;
}

.create-appointment-screen .cas-header .back {
  background-color: transparent;
  border: none;
  display: none;
  height: 28px;
  padding: 4px;
  width: 28px;
  margin-right: 15px;
}

.create-appointment-screen .cas-header .back .icon {
  height: 20px;
  width: 20px;
  fill: var(--secondary-900);
}

.create-appointment-screen .cas-header .cas-avatar {
  width: 60px;
  height: 60px;
}

.create-appointment-screen .cas-header .cas-name {
  margin-left: 12px;
  font-size: var(--h2-size);
  font-weight: var(--h2-weight);
  line-height: var(--h2-line-height);
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

.create-appointment-screen .cas-provider {
  margin-top: 10px;
}

.create-appointment-screen .cas-provider .cas-description {
  text-align: start;
  font-size: var(--body-size);
  line-height: var(--body-line-height);
  margin: 0 0 33px;
  white-space: pre-wrap;
  font-family: inherit;
}

.create-appointment-screen .cas-provider .btn-group {
  display: flex;
  justify-content: center;
  gap: 16px;
  margin-top: 30px;
}

@media screen and (max-width: 768px) {
  .offline .create-appointment-screen {
    top: 41px;
  }

  .create-appointment-screen {
    position: fixed;
    top: 0;
    z-index: 5;
    height: 100%;
    overflow: auto;
    padding: 0;
    background-color: var(--blue-1);
    box-shadow: none;
  }

  .create-appointment-screen .cas-header {
    background-color: var(--Interface-background);
    box-shadow: 0 1px 4px 0 var(--grey-8);
    padding: 17px 13px;
  }

  .create-appointment-screen .cas-header .back {
    display: inline-block;
  }

  .create-appointment-screen .cas-header .cas-avatar {
    width: 26px;
    height: 26px;
  }

  .create-appointment-screen .cas-header .cas-name {
    font-size: var(--body-size);
    font-weight: normal;
    line-height: var(--body-line-height);
  }

  .create-appointment-screen .cas-provider {
    margin: 16px 12px;
    padding: 12px 12px 50px;
    background-color: var(--CreateAppointmentScreen-backgroundColor);
    border-radius: 5px;
    box-shadow: var(--CreateAppointmentScreen-boxShadow);
  }

  .create-appointment-screen .cas-provider .cas-description {
    margin-bottom: 25px;
  }

  .create-appointment-screen .cas-consultation {
    margin: 30px 12px;
  }
}

.modal.entrance-queue-notification .form .body {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  box-sizing: border-box;
  padding-bottom: 20px;
}

.modal.entrance-queue-notification .text-container {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.modal.entrance-queue-notification .text-container .label:first-child {
  margin-bottom: 0;
}

.modal.entrance-queue-notification .text-container .label:nth-child(2) {
  margin-bottom: 20px;
}

.modal.entrance-queue-notification .text-container .label:last-child {
  margin-bottom: 0px;
}

.modal.entrance-queue-notification .btn-group {
  margin-top: 20px;
}

.modal.entrance-queue-notification.btn-group .proceed-btn{
  height: 44px;
  width: 286px;
}

.edit-consultation-topic .form {
  width: 660px;
}

.edit-consultation-topic .field {
  resize: none;
}

@media screen and (max-width: 768px) {
  .edit-consultation-topic .form {
    width: 330px;
  }
}

.main-screen {
  align-items: flex-start;
  box-sizing: border-box;
  display: flex;
  flex-direction: row;
  flex: 1;
  justify-content: center;
  width: 100%;
  overflow: auto;
}

.main-screen .loading-content {
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  flex: 1;
}

.main-screen .screen-wrapper {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 100vh;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .main-screen {
    overflow: unset;
  }

  .offline .main-screen {
    margin-top: 41px;
  }

  .main-screen .screen-wrapper {
    min-height: unset;
  }
}

.history-appointment {
  height: 481px;
  background-color: var(--Interface-background);
  border-radius: 8px;
  padding: 12px 34px 0 22px;

  .register-header {
    padding: 12px 0 12px 0;
    text-align: left;
  }

  .register-header .title {
    font-size: var(--h2-size);
    font-weight: var(--h2-weight);
    line-height: var(--h2-line-height);
  }
}

.upcoming-appointments,
.past-appointments {
  border-radius: 8px;
  padding: 12px 0 0 0;

  .no-data {
    display: flex;
    flex-flow: column;
    min-height: 300px;
    justify-content: center;
    align-items: center;
    .message-header {
      font-weight: var(--h2-weight);
      font-size: var(--h2-size);
      line-height: var(--h1-line-height);
    }

    span {
      font-weight: var(--body-weight);
      font-size: var(--body-size);
      line-height: var(--h1-line-height);
    }
  }
}

.appointments-more {
  font-size: var(--h3-size);
  font-weight: var(--h2-weight);
  line-height: var(--h2-line-height);
  cursor: pointer;
}

.history-appointment {
  background-color: var(--Interface-background);
  border-radius: 8px;
  padding: 12px 34px 0 22px;

  .register-header {
    padding: 12px 0 12px 0;
    text-align: left;
  }

  .register-header .title {
    font-size: var(--h2-size);
    font-weight: var(--h2-weight);
    line-height: var(--h2-line-height);
  }
}

@media screen and (max-width: 768px) {
  .upcoming-appointments,
  .past-appointments {
    .no-data {
      .message-header {
        font-weight: var(--h3-size);
        font-size: var(--h2-size);
        line-height: var(--h1-line-height);
      }

      span {
        font-weight: var(--body-weight);
        font-size: var(--caption3-size);
        line-height: var(--h1-line-height);
      }
    }
  }
  .register-header {
    padding: 10px 0 14px 0;
    text-align: left;
  }

  .history-appointment {
    padding: 17px 16px 0 16px;
  }
}


.tabs-btn {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  flex: 1;
  justify-content: flex-start;
  overflow: hidden
}

.tabs-btn .tabs-container {
  align-items: center;
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  height: 49px;
  background-color: var(--bg-color-tabs);
  border-radius: 8px;
  gap: 21px;
}

.tabs-btn .tabs-container .tab {
  border: none;
  height: 39px;
  color: var(--Primary-font);
  background-color: var(--bg-color-tabs);
  font-size: var(--tab-size);
  font-weight: var(--h3-weight);
  line-height: var(--h2-line-height);
  text-align: center;
  padding: 9px 16px 11px 16px;
  margin: 0 6px 0 6px;
  white-space: nowrap;
}

.tabs-btn .tabs-container .tab.active {
  background-color: var(--Interface-background);
  border-radius: 8px;
}

.tabs-btn .tab-content {
  display: flex;
  flex-direction: column;
  flex: 1;
  overflow: hidden;
  width: 100%;
}

.tabs-btn .tab-content .tab-content-item {
  display: none;
  flex-direction: column;
  flex: 1;
  overflow: hidden;
  width: 100%;
}

.tabs-btn .tab-content .tab-content-item.active {
  display: flex;
}

@media screen and (max-width: 768px) {
  .tabs-btn .tabs-container, .tabs-btn {
    width: 100%;
    justify-content: space-around;
  }
  .tabs-btn .tabs-container .tab {
    width: 144px;
    padding: 0;
  }
}

.dashboard-screen {
  display: flex;
  flex: 1;
  align-items: stretch;
  justify-content: center;
  box-sizing: border-box;
  overflow-x: hidden;
  overflow-y: auto;
  width: 100%;
  /*max-height: calc(100vh - 72px);*/
  padding: 0 24px 28px;
  color: var(--Primary-font);

  margin: 0 auto;
  gap: 31px;

  .ai-assist-left {
    align-items: start;

    .ai-assist {
      width: 255px;
      min-height: 143px;
      display: flex;
      flex-flow: column;
      justify-content: center;
      align-content: center;
      background-color: var(--Interface-background);
      padding: 10px 10px 0 10px;
      border-radius: 8px;
      gap: 28px;

      span {
        padding: 13px 10px 0 10px;
      }
    }
  }

  .appointments {
    width: 905px;
    display: flex;
    flex-direction: column;
    gap: 36px;
  }
  .ai-assist.btn, .btn-chat-ai {
    border: 1px solid var(--Main-elements);
    background-color: var(--Interface-background);
    color: var(--Main-elements);
    font-size: var(--link-size);
    font-weight: var(--link-weight);
    line-height: var(--link-line-height);
    display: flex;
    flex-flow: row;
    gap: 13px;
    justify-content: center;
    align-items: center;
    margin: 0 10px 23px 10px;

    .icon-chat-ai path {
      fill: var(--Main-elements);
    }
  }

  .btn-chat-ai {
    background-color: unset;
  }
}



.dashboard-screen.loading {
  display: flex;
  align-items: center;
  flex: 1;
  flex-direction: column;
  justify-content: center;
}

.dashboard-screen.appointment-with-assistant {
  flex-direction: column;
  align-items: center;
  gap: 35px;
}

@media screen and (max-width: 768px) {
  .dashboard-screen.appointment-with-assistant,
  .dashboard-screen {
    max-height: unset;

    .appointments {
      min-width: 328px;
      gap: 12px;
    }

    .btn-chat-ai {
      margin: unset;
      height: 33px;
    }
    .button.m-button-sm {
      min-width: 55px;
      height: 38px;
    }
  }
}

.waiting-network-container {
  background-color: var(--grey-11);
  box-shadow: 0 0 6px 0 var(--secondary-800);
  box-sizing: border-box;
  color: var(--Tertiary-font);
  position: fixed;
  text-align: center;
  transition: all 0.25s ease-in-out;
  top: 25px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1000;
}

.waiting-network-container, .waiting-network {
  border-radius: 6px;
}

.waiting-network {
  padding: 0.6em 1em;
  display: flex;
  align-items: center;
  justify-content: center;
}

.waiting-network-container .spinner {
  margin: 0 10px 0 0;
}

@media screen and (max-width: 768px) {
  .waiting-network-container {
    background-color: #FFF;
    width: 100%;
    transform: none;
    top: 0;
    left: 0;
  }

  .waiting-network {
    background-color: var(--grey-11);
  }

  .waiting-network-container, .waiting-network {
    border-radius: 0;
  }
}

.language-modal .form .body {
  padding: 0;
}

.language-modal .form .footer {
  padding: 0 27px 40px;
}

.language-modal .list-lang {
  padding: 10px 0;
  margin: 0;
  width: 100%;
}

.language-modal .list-lang-item {
  list-style-type: none;
  padding: 10px 16px;
  cursor: pointer;
}

.language-modal .list-lang-item.active {
  color: inherit;
  background-color: var(--grey-2);
  box-shadow: inset 3px 0 0 0 var(--Main-elements);
}

.language-modal .list-lang-item:hover {
  background-color: var(--grey-2);
  box-shadow: inset 3px 0 0 0 var(--Main-elements);
}

