body.dark header .header__right .right__profile .profile__info .info__name{color:#fff}
body.dark header .header__right .right__profile .profile__info .info__email{color:rgba(255,255,255,.6)}
body.dark .modal__content input,body.dark .modal__content textarea,body.dark .modal__content select{color:#fff}
body.dark .modal__content input::placeholder,body.dark .modal__content textarea::placeholder{color:rgba(255,255,255,.6)}
body.dark #okv-session-not-found-modal .modal__text,
[data-theme="dark"] #okv-session-not-found-modal .modal__text{color:rgba(255,255,255,.78)}
body.dark input[data-kt-docs-table-filter="search"]{color:#fff;caret-color:#fff;-webkit-text-fill-color:#fff}
body.dark input[data-kt-docs-table-filter="search"]::placeholder{color:rgba(255,255,255,.6)}
body.dark header .header__actions .actions__language .language__dropdown{background:rgba(255,255,255,.12);box-shadow:0 18px 40px rgba(0,0,0,.45)}
body.dark header .header__actions .actions__language .language__dropdown .dropdown__btn{color:rgba(255,255,255,.75)}
html:not(.okv-language-ready)[lang^="en"] header .header__actions .actions__language .language__btn,
html:not(.okv-language-ready)[lang^="en"] header .actions__language .language__btn{
  width:20px;
  height:20px;
  min-width:20px;
  background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2232%22%20height%3D%2232%22%20viewBox%3D%220%200%2032%2032%22%3E%3Crect%20x%3D%221%22%20y%3D%224%22%20width%3D%2230%22%20height%3D%2224%22%20rx%3D%224%22%20ry%3D%224%22%20fill%3D%22%23fff%22%3E%3C%2Frect%3E%3Cpath%20d%3D%22M1.638%2C5.846H30.362c-.711-1.108-1.947-1.846-3.362-1.846H5c-1.414%2C0-2.65%2C.738-3.362%2C1.846Z%22%20fill%3D%22%23a62842%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M2.03%2C7.692c-.008%2C.103-.03%2C.202-.03%2C.308v1.539H31v-1.539c0-.105-.022-.204-.03-.308H2.03Z%22%20fill%3D%22%23a62842%22%3E%3C%2Fpath%3E%3Cpath%20fill%3D%22%23a62842%22%20d%3D%22M2%2011.385H31V13.231H2z%22%3E%3C%2Fpath%3E%3Cpath%20fill%3D%22%23a62842%22%20d%3D%22M2%2015.077H31V16.923000000000002H2z%22%3E%3C%2Fpath%3E%3Cpath%20fill%3D%22%23a62842%22%20d%3D%22M1%2018.769H31V20.615H1z%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M1%2C24c0%2C.105%2C.023%2C.204%2C.031%2C.308H30.969c.008-.103%2C.031-.202%2C.031-.308v-1.539H1v1.539Z%22%20fill%3D%22%23a62842%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M30.362%2C26.154H1.638c.711%2C1.108%2C1.947%2C1.846%2C3.362%2C1.846H27c1.414%2C0%2C2.65-.738%2C3.362-1.846Z%22%20fill%3D%22%23a62842%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M5%2C4h11v12.923H1V8c0-2.208%2C1.792-4%2C4-4Z%22%20fill%3D%22%23102d5e%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M27%2C4H5c-2.209%2C0-4%2C1.791-4%2C4V24c0%2C2.209%2C1.791%2C4%2C4%2C4H27c2.209%2C0%2C4-1.791%2C4-4V8c0-2.209-1.791-4-4-4Zm3%2C20c0%2C1.654-1.346%2C3-3%2C3H5c-1.654%2C0-3-1.346-3-3V8c0-1.654%2C1.346-3%2C3-3H27c1.654%2C0%2C3%2C1.346%2C3%2C3V24Z%22%20opacity%3D%22.15%22%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M27%2C5H5c-1.657%2C0-3%2C1.343-3%2C3v1c0-1.657%2C1.343-3%2C3-3H27c1.657%2C0%2C3%2C1.343%2C3%2C3v-1c0-1.657-1.343-3-3-3Z%22%20fill%3D%22%23fff%22%20opacity%3D%22.2%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E");
  background-position:center;
  background-repeat:no-repeat;
  background-size:20px 20px;
}
html:not(.okv-language-ready)[lang^="en"] header .header__actions .actions__language .language__btn > svg,
html:not(.okv-language-ready)[lang^="en"] header .actions__language .language__btn > svg{width:20px;height:20px;opacity:0}
.actions__language,.actions__language *{user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}
.actions__language ::selection{background:transparent;color:inherit}
.actions__language ::-moz-selection{background:transparent;color:inherit}
@media screen and (min-width: 780px){section.profile .profile__header .header__tab{padding:12px 32px;font-size:13px}header .header__right{margin-right:-4px}}
section.profile .profile__header .header__selector{
  display:flex;
  align-items:center;
  gap:2px;
  padding:3px;
  border-radius:12px;
  background:rgba(255,255,255,.45);
  flex:none;
}
section.profile .profile__header .header__selector .header__tab{
  width:auto;
  min-width:150px;
  padding:0 18px;
  border-radius:10px;
}
section.profile .profile__header .header__selector .header__tab.active{
  background:#fff;
  box-shadow:0 8px 20px rgba(14,117,131,.08);
}
body.dark section.profile .profile__header .header__selector{
  background:rgba(255,255,255,.08);
}
body.dark section.profile .profile__header .header__selector .header__tab.active{
  background:rgba(255,255,255,.18);
  box-shadow:none;
}
@media screen and (max-width: 779px){
  section.profile .profile__header .header__selector{
    width:100%;
  }
  section.profile .profile__header .header__selector .header__tab{
    min-width:0;
    flex:1 1 0;
    width:auto;
    padding:0 12px;
  }
}
section.profile .profile__patients .patients__header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}
section.profile .profile__patients .patients__header .header__scope-switch{
  display:flex;
  align-items:center;
  gap:24px;
  flex-wrap:wrap;
  min-width:0;
  border-bottom:1px solid rgba(14,117,131,.2);
}
section.profile .profile__patients .patients__header .header__scope-link{
  color:rgba(0,0,0,.6);
  font-size:18px;
  font-weight:450;
  line-height:normal;
  padding-bottom:10px;
  margin-bottom:-1px;
  border-bottom:1px solid transparent;
  transition:color .18s ease,border-color .18s ease;
}
section.profile .profile__patients .patients__header .header__scope-link.active{
  color:#000;
  font-weight:600;
  border-bottom-color:#0E7583;
}
section.profile .profile__patients .patients__header .header__scope-link:hover{
  color:#000;
  border-bottom-color:rgba(14,117,131,.45);
}
body.dark section.profile .profile__patients .patients__header .header__scope-link{
  color:rgba(255,255,255,.6);
}
body.dark section.profile .profile__patients .patients__header .header__scope-switch{
  border-bottom-color:rgba(255,255,255,.14);
}
body.dark section.profile .profile__patients .patients__header .header__scope-link.active{
  color:#fff;
  border-bottom-color:#2FD4EF;
}
body.dark section.profile .profile__patients .patients__header .header__scope-link:hover{
  color:#fff;
  border-bottom-color:rgba(47,212,239,.55);
}
@media screen and (max-width: 768px){
  section.profile .profile__patients .patients__header{
    align-items:stretch;
  }
  section.profile .profile__patients .patients__header .header__scope-switch{
    gap:16px;
  }
  section.profile .profile__patients .patients__header .header__scope-link{
    font-size:16px;
    padding-bottom:8px;
  }
}

:root{
  --okv-font-sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}

html, body{
  font-family: var(--okv-font-sans) !important;
}

html{
  scrollbar-gutter: stable;
}

body *{
  font-family: inherit !important;
}

.okv-flag{
  display: inline-block;
  position: relative;
  width: 20px;
  height: 20px;
  border: 0;
  box-shadow: none;
  flex: 0 0 auto;
  background: transparent;
}
.okv-flag::before{
  content: "";
  position: absolute;
  left: 1px;
  top: 2px;
  width: 18px;
  height: 15px;
  border-radius: 3px;
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.15);
}
.okv-flag--ru::before{
  background: linear-gradient(to bottom, #fff 0 33.333%, #1435a1 33.333% 66.666%, #c53a28 66.666% 100%);
}
.okv-flag--en::before{
  background:
    linear-gradient(to bottom, #b22234 0 7.69%, #fff 7.69% 15.38%, #b22234 15.38% 23.07%, #fff 23.07% 30.76%, #b22234 30.76% 38.45%, #fff 38.45% 46.14%, #b22234 46.14% 53.83%, #fff 53.83% 61.52%, #b22234 61.52% 69.21%, #fff 69.21% 76.9%, #b22234 76.9% 84.59%, #fff 84.59% 92.28%, #b22234 92.28% 100%);
}

[lang^="ru"] .lang-en{
  display: none !important;
}

[lang^="en"] .lang-ru{
  display: none !important;
}

@media (min-width: 1400px){
  section.profile .container{
    max-width: 1550px;
  }
}

section.profile .profile__header{
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px;
  flex-wrap: nowrap !important;
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

section.profile .profile__header::-webkit-scrollbar{
  display: none;
}

section.profile .profile__header > .header__tab,
section.profile .profile__header .header__tabs .header__tab{
  flex: 0 0 auto !important;
  white-space: nowrap !important;
}

section.profile .profile__header .header__tabs{
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 12px;
  flex-wrap: nowrap !important;
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

section.profile .profile__header .header__tabs::-webkit-scrollbar{
  display: none;
}

@media (max-width: 1161px){
  section.profile .profile__header{
    justify-content: flex-start !important;
    gap: 4px;
  }

  section.profile .profile__header .header__tabs{
    width: 100% !important;
    gap: 4px;
    position: static !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    margin: 0 !important;
  }

  section.profile .profile__header .header__burger{
    display: none !important;
  }
}

/* Internal app pages keep one header state; sticky/fixed state caused visible horizontal jumps. */
body.okv-profile-shell:not(.landing-page) > header,
body:not(.landing-page):has(section.profile) > header{
  position: absolute !important;
  top: 10px !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  background: transparent !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

body.okv-profile-shell:not(.landing-page) > header.fixed,
body:not(.landing-page):has(section.profile) > header.fixed{
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  background: rgba(255,255,255,.72) !important;
  border-bottom: 0 !important;
  box-shadow: 0 20px 48px rgba(14,117,131,.08) !important;
  -webkit-backdrop-filter: blur(18px) !important;
  backdrop-filter: blur(18px) !important;
}

body.dark.okv-profile-shell:not(.landing-page) > header.fixed,
[data-theme="dark"] body.okv-profile-shell:not(.landing-page) > header.fixed,
body.dark:not(.landing-page):has(section.profile) > header.fixed,
[data-theme="dark"] body:not(.landing-page):has(section.profile) > header.fixed{
  background: rgba(13,20,21,.72) !important;
  box-shadow: 0 20px 48px rgba(0,0,0,.22) !important;
}

body.okv-profile-shell:not(.landing-page).with-fixed-header .header-spacer,
body.okv-profile-shell:not(.landing-page) .header-spacer,
body:not(.landing-page):has(section.profile).with-fixed-header .header-spacer,
body:not(.landing-page):has(section.profile) .header-spacer{
  height: 0 !important;
  display: none !important;
}

/* Section navigation: lightweight continuity between full-page tabs. */
@view-transition{
  navigation: auto;
}

::view-transition-old(root),
::view-transition-new(root){
  animation: none;
}

::view-transition-old(okv-profile-content),
::view-transition-new(okv-profile-content){
  animation-duration: .18s;
  animation-timing-function: ease;
}

section.profile > .container > :not(.profile__header){
  view-transition-name: okv-profile-content;
}

body:not(.landing-page) section.profile > .container > :not(.profile__header){
  animation: okv-section-enter .2s ease both;
  will-change: opacity, transform;
}

body:not(.landing-page) section.profile .profile__header{
  min-height: 48px;
  transition: opacity .12s ease;
}

body:not(.landing-page) .profile__header .header__tab,
body:not(.landing-page) header .left__links a,
body:not(.landing-page) .header__scope-link{
  transition: color .18s ease, background-color .18s ease, border-color .18s ease, box-shadow .18s ease, opacity .18s ease;
}

body:not(.landing-page) .profile__header .header__tab.active{
  transition-duration: .22s;
}

body.dark .okv-doctors .dt-footer,
body.dark .okv-patients .dt-footer,
body.dark .okv-projects .dt-footer,
body.dark .okv-orders .dt-footer,
body.dark .okv-laboratory .dt-footer,
[data-theme="dark"] .okv-doctors .dt-footer,
[data-theme="dark"] .okv-patients .dt-footer,
[data-theme="dark"] .okv-projects .dt-footer,
[data-theme="dark"] .okv-orders .dt-footer,
[data-theme="dark"] .okv-laboratory .dt-footer,
body.dark .okv-doctors .dt-footer__right,
body.dark .okv-patients .dt-footer__right,
body.dark .okv-projects .dt-footer__right,
body.dark .okv-orders .dt-footer__right,
body.dark .okv-laboratory .dt-footer__right,
[data-theme="dark"] .okv-doctors .dt-footer__right,
[data-theme="dark"] .okv-patients .dt-footer__right,
[data-theme="dark"] .okv-projects .dt-footer__right,
[data-theme="dark"] .okv-orders .dt-footer__right,
[data-theme="dark"] .okv-laboratory .dt-footer__right,
body.dark .okv-doctors .dt-paging,
body.dark .okv-patients .dt-paging,
body.dark .okv-projects .dt-paging,
body.dark .okv-orders .dt-paging,
body.dark .okv-laboratory .dt-paging,
[data-theme="dark"] .okv-doctors .dt-paging,
[data-theme="dark"] .okv-patients .dt-paging,
[data-theme="dark"] .okv-projects .dt-paging,
[data-theme="dark"] .okv-orders .dt-paging,
[data-theme="dark"] .okv-laboratory .dt-paging,
body.dark .okv-doctors .dt-paging nav,
body.dark .okv-patients .dt-paging nav,
body.dark .okv-projects .dt-paging nav,
body.dark .okv-orders .dt-paging nav,
body.dark .okv-laboratory .dt-paging nav,
[data-theme="dark"] .okv-doctors .dt-paging nav,
[data-theme="dark"] .okv-patients .dt-paging nav,
[data-theme="dark"] .okv-projects .dt-paging nav,
[data-theme="dark"] .okv-orders .dt-paging nav,
[data-theme="dark"] .okv-laboratory .dt-paging nav{
  overflow: visible !important;
}

body.dark .okv-doctors .dt-paging,
body.dark .okv-patients .dt-paging,
body.dark .okv-projects .dt-paging,
body.dark .okv-orders .dt-paging,
body.dark .okv-laboratory .dt-paging,
[data-theme="dark"] .okv-doctors .dt-paging,
[data-theme="dark"] .okv-patients .dt-paging,
[data-theme="dark"] .okv-projects .dt-paging,
[data-theme="dark"] .okv-orders .dt-paging,
[data-theme="dark"] .okv-laboratory .dt-paging{
  padding: 0 !important;
  margin: 0 !important;
}

body.dark .okv-doctors .dt-footer,
body.dark .okv-patients .dt-footer,
body.dark .okv-projects .dt-footer,
body.dark .okv-orders .dt-footer,
body.dark .okv-laboratory .dt-footer,
[data-theme="dark"] .okv-doctors .dt-footer,
[data-theme="dark"] .okv-patients .dt-footer,
[data-theme="dark"] .okv-projects .dt-footer,
[data-theme="dark"] .okv-orders .dt-footer,
[data-theme="dark"] .okv-laboratory .dt-footer{
  padding-right: 30px !important;
  padding-bottom: 30px !important;
  box-sizing: border-box;
}

body.dark .okv-doctors .dt-paging button.current,
body.dark .okv-doctors .dt-paging .dt-paging-button.current,
body.dark .okv-patients .dt-paging button.current,
body.dark .okv-patients .dt-paging .dt-paging-button.current,
body.dark .okv-projects .dt-paging button.current,
body.dark .okv-projects .dt-paging .dt-paging-button.current,
body.dark .okv-orders .dt-paging button.current,
body.dark .okv-orders .dt-paging .dt-paging-button.current,
body.dark .okv-laboratory .dt-paging button.current,
body.dark .okv-laboratory .dt-paging .dt-paging-button.current,
[data-theme="dark"] .okv-doctors .dt-paging button.current,
[data-theme="dark"] .okv-doctors .dt-paging .dt-paging-button.current,
[data-theme="dark"] .okv-patients .dt-paging button.current,
[data-theme="dark"] .okv-patients .dt-paging .dt-paging-button.current,
[data-theme="dark"] .okv-projects .dt-paging button.current,
[data-theme="dark"] .okv-projects .dt-paging .dt-paging-button.current,
[data-theme="dark"] .okv-orders .dt-paging button.current,
[data-theme="dark"] .okv-orders .dt-paging .dt-paging-button.current,
[data-theme="dark"] .okv-laboratory .dt-paging button.current,
[data-theme="dark"] .okv-laboratory .dt-paging .dt-paging-button.current{
  box-shadow:
    inset 0 0 0 1px rgba(0,0,0,.35),
    0 0 0 1px rgba(14,117,131,.26),
    0 0 22px rgba(14,117,131,.48) !important;
  filter: drop-shadow(0 0 10px rgba(14,117,131,.34));
}

body.dark .okv-doctors .dt-paging button:hover,
body.dark .okv-doctors .dt-paging .dt-paging-button:hover,
body.dark .okv-patients .dt-paging button:hover,
body.dark .okv-patients .dt-paging .dt-paging-button:hover,
body.dark .okv-projects .dt-paging button:hover,
body.dark .okv-projects .dt-paging .dt-paging-button:hover,
body.dark .okv-orders .dt-paging button:hover,
body.dark .okv-orders .dt-paging .dt-paging-button:hover,
body.dark .okv-laboratory .dt-paging button:hover,
body.dark .okv-laboratory .dt-paging .dt-paging-button:hover,
[data-theme="dark"] .okv-doctors .dt-paging button:hover,
[data-theme="dark"] .okv-doctors .dt-paging .dt-paging-button:hover,
[data-theme="dark"] .okv-patients .dt-paging button:hover,
[data-theme="dark"] .okv-patients .dt-paging .dt-paging-button:hover,
[data-theme="dark"] .okv-projects .dt-paging button:hover,
[data-theme="dark"] .okv-projects .dt-paging .dt-paging-button:hover,
[data-theme="dark"] .okv-orders .dt-paging button:hover,
[data-theme="dark"] .okv-orders .dt-paging .dt-paging-button:hover,
[data-theme="dark"] .okv-laboratory .dt-paging button:hover,
[data-theme="dark"] .okv-laboratory .dt-paging .dt-paging-button:hover{
  box-shadow:
    inset 0 0 0 1px rgba(0,0,0,.35),
    0 0 0 1px rgba(14,117,131,.32),
    0 0 18px rgba(14,117,131,.42) !important;
  filter: drop-shadow(0 0 8px rgba(14,117,131,.28));
}

html.okv-page-leaving body:not(.landing-page) section.profile > .container > :not(.profile__header){
  opacity: .72;
  transform: translateY(4px);
  transition: opacity .12s ease, transform .12s ease;
}

@keyframes okv-section-enter{
  from {
    opacity: .78;
    transform: translateY(5px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: reduce){
  ::view-transition-old(root),
  ::view-transition-new(root),
  body:not(.landing-page) section.profile > .container > :not(.profile__header){
    animation: none !important;
  }

  html.okv-page-leaving body:not(.landing-page) section.profile > .container > :not(.profile__header){
    transform: none;
    transition: none;
  }
}

/* Landing (index): step cards use `.content__tagline`, but main.css doesn't theme it (unreadable in dark theme). */
section.favorites .favorite__block.green .block__content .content__tagline{
  color: #fff;
}
body.dark section.favorites .favorite__block .block__content .content__tagline{
  color: rgba(255,255,255,.7);
}
body.dark section.favorites .favorite__block.green .block__content .content__tagline{
  color: rgba(255,255,255,.92);
}

/* Create-lens modal: template cards should not expand from long text */
#modal_create-lins .form-auth__zones{
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
#modal_create-lins .form-auth__zones .zones__block{
  min-width: 0;
  overflow: hidden;
}
#modal_create-lins .form-auth__zones .zones__block .block__title{
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  overflow-wrap: anywhere;
  word-break: break-word;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
#modal_create-lins .form-auth__zones .zones__block .block__desc{
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow-wrap: anywhere;
  word-break: break-word;
}

/* Create-lens modal: enforce custom checkbox square size */
#modal_create-lins .form-group input[type="checkbox"]{
  display: none;
}
#modal_create-lins .form-group label{
  display: flex;
  align-items: flex-start;
}
#modal_create-lins .form-group label::before{
  content: "";
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
  display: inline-block;
  box-sizing: border-box;
}
#modal_create-lins .form-group.is-invalid label::before{
  border-color: #C62525;
  box-shadow: 0 0 0 3px rgba(198,37,37,.12);
}
#modal_create-lins .form-group__error{
  color: #C62525;
  font-size: 13px;
  line-height: 1.35;
  margin: 8px 0 0 34px;
}

/* Dark theme: keep the checkmark visible (main.css uses `background:` shorthand which resets background-image). */
#modal_create-lins .form-group input[type="checkbox"]:checked + label::before{
  background-image: url(../img/check.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 12px 12px;
}
body.dark #modal_create-lins .form-group input[type="checkbox"]:checked + label::before{
  background-image: url(../img/check-white.svg);
}

/* Help page: keep consistent spacing between text lines in sections. */
.help-article .article__section{
  display:flex !important;
  flex-direction:column !important;
  gap:12px !important;
}
.help-article .article__section h3{
  margin-bottom:0 !important;
}
.help-article .article__section ul{
  display:flex !important;
  flex-direction:column !important;
  gap:14px !important;
}
.help-article .article__section li{
  margin:0 !important;
  line-height:1.65 !important;
  position:relative;
  padding-left:16px;
  color:inherit;
}
.help-article .article__section li::before{
  content:"";
  position:absolute;
  left:0;
  top:0.72em;
  width:6px;
  height:6px;
  border-radius:999px;
  background:rgba(14,117,131,.55);
}
body.dark .help-article .article__section li::before{
  background:rgba(119,217,229,.6);
}
.help-article .article__units{
  line-height:1.65 !important;
}
.help-article .article__units span + span{
  margin-top:4px;
}

/* Units: keep them readable in dark theme. */
.block__value .unit{
  margin-left: 4px;
  opacity: 0.85;
}
body.dark .block__value .unit{
  color: rgba(255,255,255,.85);
  opacity: 0.9;
}

/* Patient lens form: style duplicate select like action button (Select2). */
#btn-duplicate + .select2-container{
  width: auto !important;
}
#btn-duplicate + .select2-container .select2-selection--single{
  display: flex !important;
  align-items: center;
  justify-content: center;
  padding: 15px 20px;
  border-radius: 10px;
  border: none;
  background: #0E7583;
  box-shadow: 0px 12px 69.2px 0px rgba(14, 117, 131, 0.40);
  height: auto;
}
#btn-duplicate + .select2-container .select2-selection--single:hover{
  background: #000;
}
#btn-duplicate + .select2-container .select2-selection__rendered{
  color: #fff !important;
  padding-left: 0;
  padding-right: 28px;
  line-height: normal;
  white-space: nowrap;
}
#btn-duplicate + .select2-container .select2-selection__rendered .select2-selection__placeholder{
  color: #fff !important;
  opacity: 1;
}
#btn-duplicate + .select2-container .select2-selection__arrow{
  height: 100%;
  top: 0;
  right: 8px;
}
#btn-duplicate + .select2-container .select2-selection__arrow b{
  border-color: #fff transparent transparent transparent;
}
body.dark #btn-duplicate + .select2-container .select2-selection--single:hover{
  background: #000;
}

/* Patient lens form (dark): show glow on all action buttons. */
body.dark section.profile .profile__patient .patient__lens-form .block__actions .actions__btn.green{
  box-shadow: 0px 12px 69.2px 0px rgba(14, 117, 131, 0.40);
}
html[data-theme="dark"] section.profile .profile__patient .patient__lens-form .block__actions .actions__btn.green{
  box-shadow: 0px 12px 69.2px 0px rgba(14, 117, 131, 0.40);
}

/* Patient lens form (light): match Select2 "Duplicate" glow for all green action buttons. */
body.light section.profile .profile__patient .patient__lens-form .block__actions .actions__btn.green{
  box-shadow: 0px 12px 69.2px 0px rgba(14, 117, 131, 0.40);
}
html[data-theme="light"] section.profile .profile__patient .patient__lens-form .block__actions .actions__btn.green{
  box-shadow: 0px 12px 69.2px 0px rgba(14, 117, 131, 0.40);
}

/* Patient/project modals: Select2 country/city styled like native inputs. */
#patient_country + .select2-container,
#patient_city + .select2-container,
#project_patient_country + .select2-container,
#project_patient_city + .select2-container{
  width: 100% !important;
}
#patient_country + .select2-container .select2-selection--single,
#patient_city + .select2-container .select2-selection--single,
#project_patient_country + .select2-container .select2-selection--single,
#project_patient_city + .select2-container .select2-selection--single{
  height: 58px;
  border-radius: 18px;
  border: 1px solid rgba(14,117,131,.2);
  background: #fff;
  display: flex;
  align-items: center;
  padding: 0 18px;
}
#patient_country + .select2-container .select2-selection--single:hover,
#patient_city + .select2-container .select2-selection--single:hover,
#project_patient_country + .select2-container .select2-selection--single:hover,
#project_patient_city + .select2-container .select2-selection--single:hover{
  border-color: rgba(14,117,131,.45);
}
#patient_country + .select2-container .select2-selection__rendered,
#patient_city + .select2-container .select2-selection__rendered,
#project_patient_country + .select2-container .select2-selection__rendered,
#project_patient_city + .select2-container .select2-selection__rendered{
  padding: 0;
  line-height: 1;
  font-size: 16px;
  color: #0d1415;
}
#patient_country + .select2-container .select2-selection__placeholder,
#patient_city + .select2-container .select2-selection__placeholder,
#project_patient_country + .select2-container .select2-selection__placeholder,
#project_patient_city + .select2-container .select2-selection__placeholder{
  color: rgba(13,20,21,.45);
}
#patient_country + .select2-container .select2-selection__arrow,
#patient_city + .select2-container .select2-selection__arrow,
#project_patient_country + .select2-container .select2-selection__arrow,
#project_patient_city + .select2-container .select2-selection__arrow{
  height: 100%;
  top: 0;
  right: 10px;
}
#patient_country + .select2-container .select2-selection__arrow b,
#patient_city + .select2-container .select2-selection__arrow b,
#project_patient_country + .select2-container .select2-selection__arrow b,
#project_patient_city + .select2-container .select2-selection__arrow b{
  border-color: rgba(13,20,21,.5) transparent transparent transparent;
}

.select2-dropdown{
  border-radius: 16px;
  border: 1px solid rgba(14,117,131,.15);
  box-shadow: 0 16px 40px rgba(14,117,131,.15);
}
.select2-search--dropdown{
  padding: 10px 12px;
}
.select2-search--dropdown .select2-search__field{
  border-radius: 12px;
  border: 1px solid rgba(14,117,131,.2);
  padding: 10px 12px;
  font-size: 14px;
}
.select2-results__options{
  max-height: 180px;
  overflow-x: hidden;
  overflow-y: auto;
}
.select2-results__option{
  padding: 10px 14px;
  border-radius: 12px;
  margin: 2px 6px;
  font-size: 14px;
  line-height: 1.25;
}
.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable{
  background: rgba(14,117,131,.12);
  color: #0e7583;
}

body.dark #patient_country + .select2-container .select2-selection--single,
body.dark #patient_city + .select2-container .select2-selection--single,
body.dark #project_patient_country + .select2-container .select2-selection--single,
body.dark #project_patient_city + .select2-container .select2-selection--single{
  background: #101718;
  border: 1px solid rgba(255,255,255,.12);
}
body.dark #patient_country + .select2-container .select2-selection__rendered,
body.dark #patient_city + .select2-container .select2-selection__rendered,
body.dark #project_patient_country + .select2-container .select2-selection__rendered,
body.dark #project_patient_city + .select2-container .select2-selection__rendered{
  color: #fff;
}
body.dark #patient_country + .select2-container .select2-selection__placeholder,
body.dark #patient_city + .select2-container .select2-selection__placeholder,
body.dark #project_patient_country + .select2-container .select2-selection__placeholder,
body.dark #project_patient_city + .select2-container .select2-selection__placeholder{
  color: rgba(255,255,255,.5);
}
body.dark .select2-dropdown{
  background: #101718;
  border: 1px solid rgba(255,255,255,.1);
}
body.dark .select2-search--dropdown .select2-search__field{
  background: #0d1415;
  color: #fff;
  border: 1px solid rgba(255,255,255,.12);
}
body.dark .select2-results__option{
  color: #fff;
}

/* Projects: keep the existing-patient Select2 menu above the add-project modal. */
#modal_add-project .modal__content{
  overflow: visible;
}
#modal_add-project #project_patient_select + .select2-container{
  width: 100% !important;
}
#modal_add-project .select2-container--open,
#modal_add-project .select2-dropdown{
  z-index: 100004;
}

/* Restore DataTable row separators for patients/projects. */
.okv-patients #myTable.dataTable > tbody > tr,
.okv-projects #myTable.dataTable > tbody > tr{
  box-shadow: inset 0 -1px rgba(14,117,131,.12) !important;
}
.okv-patients #myTable.dataTable > tbody > tr:hover,
.okv-projects #myTable.dataTable > tbody > tr:hover{
  box-shadow: inset 0 -2px #0E7583 !important;
}
body.dark .okv-patients #myTable.dataTable > tbody > tr,
body.dark .okv-projects #myTable.dataTable > tbody > tr{
  box-shadow: inset 0 -1px rgba(255,255,255,.12) !important;
}
/* Ensure row separators like doctors page. */
.okv-patients #myTable.dataTable > tbody > tr > *,
.okv-projects #myTable.dataTable > tbody > tr > *,
.okv-patients #myTable.dataTable.display > tbody > tr > *,
.okv-projects #myTable.dataTable.display > tbody > tr > *{
  border-bottom: 1px solid rgba(14,117,131,.15) !important;
}
body.dark .okv-patients #myTable.dataTable > tbody > tr > *,
body.dark .okv-projects #myTable.dataTable > tbody > tr > *,
body.dark .okv-patients #myTable.dataTable.display > tbody > tr > *,
body.dark .okv-projects #myTable.dataTable.display > tbody > tr > *{
  border-bottom: 1px solid rgba(255,255,255,.12) !important;
}

/* Patients/projects/laboratory: reserve content space and fade between loading/content states. */
.okv-patients .profile__patients,
.okv-projects .profile__patients,
.okv-laboratory .profile__laboratory{
  min-height: 620px;
}
.okv-patients .dataTableContainer,
.okv-projects .dataTableContainer{
  position: relative;
  min-height: 520px;
  transition: opacity .22s ease;
}
.okv-patients .dataTableContainer::before,
.okv-projects .dataTableContainer::before,
.okv-patients .patients-mobile-list::before,
.okv-projects .patients-mobile-list::before{
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  opacity: 1;
  transition: opacity .22s ease, visibility .22s ease;
  border-radius: 14px;
  background:
    linear-gradient(90deg, transparent, rgba(255,255,255,.58), transparent) 0 0 / 220px 100% no-repeat,
    linear-gradient(rgba(14,117,131,.09), rgba(14,117,131,.09)) 0 0 / 100% 54px no-repeat,
    repeating-linear-gradient(
      to bottom,
      rgba(14,117,131,.075) 0,
      rgba(14,117,131,.075) 44px,
      transparent 44px,
      transparent 72px
    );
  animation: okv-skeleton-sheen 1.25s ease-in-out infinite;
}
.okv-laboratory .laboratory__grid{
  position: relative;
  min-height: 640px;
  --okv-lab-skeleton-card: rgba(14,117,131,.055);
  --okv-lab-skeleton-shine: rgba(255,255,255,.58);
}
.okv-laboratory .laboratory__grid::before,
.okv-laboratory .laboratory__grid::after{
  content: none;
}
.okv-laboratory .laboratory__skeleton{
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-auto-rows: 300px;
  gap: 24px;
  transition: opacity .22s ease, visibility .22s ease;
  opacity: 1;
  visibility: visible;
}
.okv-laboratory .laboratory__skeleton-card{
  min-width: 0;
  min-height: 0;
  border-radius: 10px;
  border: 1px solid rgba(14,117,131,.12);
  background:
    linear-gradient(90deg, transparent, var(--okv-lab-skeleton-shine), transparent) -220px 0 / 220px 100% no-repeat,
    var(--okv-lab-skeleton-card);
  animation: okv-skeleton-sheen 1.25s ease-in-out infinite;
}
body.dark .okv-patients .dataTableContainer::before,
body.dark .okv-projects .dataTableContainer::before,
body.dark .okv-patients .patients-mobile-list::before,
body.dark .okv-projects .patients-mobile-list::before,
body.dark .okv-laboratory .laboratory__grid::before,
html[data-theme="dark"] .okv-patients .dataTableContainer::before,
html[data-theme="dark"] .okv-projects .dataTableContainer::before,
html[data-theme="dark"] .okv-patients .patients-mobile-list::before,
html[data-theme="dark"] .okv-projects .patients-mobile-list::before,
html[data-theme="dark"] .okv-laboratory .laboratory__grid::before{
  background:
    linear-gradient(90deg, transparent, rgba(255,255,255,.08), transparent) 0 0 / 220px 100% no-repeat,
    linear-gradient(rgba(255,255,255,.07), rgba(255,255,255,.07)) 0 0 / 100% 54px no-repeat,
    repeating-linear-gradient(
      to bottom,
      rgba(255,255,255,.055) 0,
      rgba(255,255,255,.055) 44px,
      transparent 44px,
      transparent 72px
    );
}
body.dark .okv-laboratory .laboratory__grid,
html[data-theme="dark"] .okv-laboratory .laboratory__grid{
  --okv-lab-skeleton-card: rgba(255,255,255,.055);
  --okv-lab-skeleton-shine: rgba(255,255,255,.08);
}
.okv-patients:not(.is-content-ready) .dataTableContainer > :not(.doctors-page-size__menu),
.okv-projects:not(.is-content-ready) .dataTableContainer > :not(.doctors-page-size__menu),
.okv-patients.is-loading .dataTableContainer > :not(.doctors-page-size__menu),
.okv-projects.is-loading .dataTableContainer > :not(.doctors-page-size__menu){
  opacity: 0;
}
.okv-laboratory .profile__laboratory:not(.is-content-ready) .laboratory__grid > :not(.laboratory__skeleton),
.okv-laboratory .profile__laboratory.is-loading .laboratory__grid > :not(.laboratory__skeleton),
.okv-laboratory .profile__laboratory:not(.is-content-ready) .dt-footer,
.okv-laboratory .profile__laboratory.is-loading .dt-footer{
  opacity: 0;
}
.okv-patients.is-content-ready:not(.is-loading) .dataTableContainer > *,
.okv-projects.is-content-ready:not(.is-loading) .dataTableContainer > *{
  opacity: 1;
  transition: opacity .22s ease;
}
.okv-laboratory .profile__laboratory.is-content-ready:not(.is-loading) .laboratory__grid > *,
.okv-laboratory .profile__laboratory.is-content-ready:not(.is-loading) .dt-footer{
  opacity: 1;
  transition: opacity .22s ease;
}
.okv-patients.is-content-ready:not(.is-loading) .dataTableContainer::before,
.okv-projects.is-content-ready:not(.is-loading) .dataTableContainer::before,
.okv-patients.is-content-ready:not(.is-loading) .patients-mobile-list::before,
.okv-projects.is-content-ready:not(.is-loading) .patients-mobile-list::before,
.okv-laboratory .profile__laboratory.is-content-ready:not(.is-loading) .laboratory__skeleton{
  opacity: 0;
  visibility: hidden;
}
.okv-laboratory .profile__laboratory.is-content-ready:not(.is-loading) .laboratory__skeleton-card{
  animation-play-state: paused;
}

@keyframes okv-skeleton-sheen{
  0% { background-position: -220px 0, 0 0; }
  100% { background-position: calc(100% + 220px) 0, 0 0; }
}

@media screen and (max-width: 768px){
  .okv-patients .profile__patients,
  .okv-projects .profile__patients,
  .okv-laboratory .profile__laboratory{
    min-height: 520px;
  }
  .okv-laboratory .laboratory__grid{
    min-height: 648px;
  }
  .okv-laboratory .laboratory__skeleton{
    grid-template-columns: 1fr;
    grid-auto-rows: 200px;
  }
  .okv-patients .patients-mobile-list,
  .okv-projects .patients-mobile-list{
    position: relative;
    min-height: 420px;
  }
  .okv-patients .dataTableContainer,
  .okv-projects .dataTableContainer{
    min-height: 0;
  }
  .okv-patients:not(.is-content-ready) .patients-mobile-list > *,
  .okv-projects:not(.is-content-ready) .patients-mobile-list > *,
  .okv-patients.is-loading .patients-mobile-list > *,
  .okv-projects.is-loading .patients-mobile-list > *{
    opacity: 0;
  }
  .okv-patients.is-content-ready:not(.is-loading) .patients-mobile-list > *,
  .okv-projects.is-content-ready:not(.is-loading) .patients-mobile-list > *{
    opacity: 1;
    transition: opacity .22s ease;
  }
}

@media (prefers-reduced-motion: reduce){
  .okv-patients .dataTableContainer,
  .okv-projects .dataTableContainer,
  .okv-laboratory .laboratory__grid,
  .okv-patients .dataTableContainer::before,
  .okv-projects .dataTableContainer::before,
  .okv-patients .patients-mobile-list::before,
  .okv-projects .patients-mobile-list::before,
  .okv-laboratory .laboratory__grid::before,
  .okv-laboratory .laboratory__grid::after,
  .okv-laboratory .laboratory__skeleton-card,
  .okv-patients.is-content-ready:not(.is-loading) .dataTableContainer > *,
  .okv-projects.is-content-ready:not(.is-loading) .dataTableContainer > *,
  .okv-patients.is-content-ready:not(.is-loading) .patients-mobile-list > *,
  .okv-projects.is-content-ready:not(.is-loading) .patients-mobile-list > *,
  .okv-laboratory .profile__laboratory.is-content-ready:not(.is-loading) .laboratory__grid > *,
  .okv-laboratory .profile__laboratory.is-content-ready:not(.is-loading) .dt-footer{
    transition: none;
    animation: none;
  }
}

/* Header auth controls: keep the slot stable while /get-me decides which button is visible. */
header .header__right .right__btn,
.footer__btn#mobile_logout{
  transition: opacity .18s ease, background-color .18s ease, color .18s ease;
}
header .header__right{
  min-height: 48px;
}
@media screen and (min-width: 1162px){
  body:not(.landing-page) header .header__right{
    position: relative;
    min-width: 560px;
    padding-right: 160px;
  }
  body:not(.landing-page) header .header__right .right__profile{
    min-width: 0;
    max-width: 300px;
  }
  body:not(.landing-page) header .header__right .right__profile .profile__info{
    min-width: 0;
  }
  body:not(.landing-page) header .header__right .right__profile .info__name,
  body:not(.landing-page) header .header__right .right__profile .info__email{
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  body:not(.landing-page) header .header__right > #logout,
  body:not(.landing-page) header .header__right > .account-menu--header{
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 146px;
  }
  body:not(.landing-page) header .header__right > #logout{
    min-height: 52px;
    padding-left: 0;
    padding-right: 0;
  }
  body:not(.landing-page) header .header__right > .account-menu--header #logout{
    width: 100%;
    min-height: 52px;
  }
}

/* Pricing: align like in design (button left, price right). */
section.tarif-preview .tarif-preview__grid .grid__block .block__footer{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: nowrap;
}
section.tarif-preview .tarif-preview__grid .grid__block .block__footer .footer__btn{
  flex: 0 0 auto;
  white-space: nowrap;
}
section.tarif-preview .tarif-preview__grid .grid__block .block__footer .footer__price{
  flex: 1 1 auto;
  min-width: 0;
  margin-left: auto;
  text-align: right;
}

section.profile .profile__content{
  grid-template-columns: minmax(300px, 340px) minmax(500px, 1fr) minmax(340px, 380px);
  align-items: start;
}
section.profile .profile__content .content__left{
  grid-column: 1;
  grid-row: 1;
}
section.profile .profile__content .content__content{
  grid-column: 2;
  grid-row: 1;
}
section.profile .profile__content .profile__aside{
  grid-column: 3;
  grid-row: 1;
  display: flex;
  flex-direction: column;
  gap: 24px;
  min-width: 0;
}
section.profile .profile__content .profile__aside .left__invoices,
section.profile .profile__content .profile__aside .left__invites{
  padding: 32px;
}
@media screen and (min-width: 1181px){
  section.profile .profile__content{
    align-items: stretch;
  }
  section.profile .profile__content .content__left,
  section.profile .profile__content .content__content,
  section.profile .profile__content .profile__aside{
    align-self: stretch;
    min-height: 0;
  }
  section.profile .profile__content .content__left,
  section.profile .profile__content .content__content{
    display: flex;
    flex-direction: column;
  }
  section.profile .profile__content .content__left .left__profile,
  section.profile .profile__content .content__content .content__subscription{
    flex: 1 1 auto;
  }
  section.profile .profile__content .profile__aside{
    height: 100%;
  }
  section.profile .profile__content .profile__aside > *:not(:first-child):last-child{
    margin-top: auto;
  }
}
.left__invoices .invoices__top{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 22px;
}
.left__invoices .invoices__title{
  margin-bottom: 0 !important;
}
.invoice-expand-btn,
.invoice-preview-more{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid rgba(14,117,131,.22);
  border-radius: 10px;
  background: rgba(14,117,131,.08);
  color: #0E7583;
  font: inherit;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
}
.invoice-expand-btn{
  width: 40px;
  height: 40px;
  padding: 0;
}
.invoice-expand-btn span{
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}
.invoice-expand-btn svg{
  width: 18px;
  height: 18px;
  fill: currentColor;
}
.invoice-preview-list{
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.invoice-preview-card{
  padding: 14px 0;
  border-bottom: 1px solid rgba(14,117,131,.14);
}
.invoice-preview-card:last-child{
  border-bottom: 0;
}
.invoice-preview-card__head{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}
.invoice-preview-card__name{
  color: #000;
  font-size: 16px;
  font-weight: 650;
  line-height: 1.25;
}
.invoice-preview-card__status{
  max-width: 140px;
  padding: 5px 9px;
  border-radius: 999px;
  background: rgba(14,117,131,.1);
  color: #0E7583;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.15;
  text-align: right;
}
.invoice-preview-card__grid{
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 12px;
}
.invoice-preview-card__grid b{
  display: block;
  margin-top: 3px;
  color: #000;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.25;
}
.invoice-preview-card__label{
  color: rgba(0,0,0,.55);
  font-size: 12px;
  font-weight: 500;
  line-height: 1.2;
}
.invoice-preview-more{
  width: 100%;
  min-height: 38px;
  margin-top: 14px;
  padding: 9px 12px;
}
.invoice-preview-empty{
  color: rgba(0,0,0,.62);
  font-size: 15px;
  line-height: 1.4;
}
.invoice-actions{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 6px;
}
.invoice-actions:empty{
  display: none;
}
.invoice-actions a,
.invoice-refresh{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 7px 10px;
  border: 1px solid rgba(14,117,131,.24);
  border-radius: 8px;
  background: rgba(14,117,131,.08);
  color: #0E7583;
  font: inherit;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  cursor: pointer;
}
.invoice-modal{
  padding: 24px;
}
.invoice-modal__content{
  width: min(1100px, calc(100vw - 48px));
  max-height: min(760px, calc(100vh - 48px));
  padding: 34px;
  border-radius: 18px;
  overflow: hidden;
}
.invoice-modal__close{
  position: absolute;
  top: 22px;
  right: 22px;
  width: 40px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  border-radius: 10px;
  background: rgba(14,117,131,.1);
  color: #0E7583;
  cursor: pointer;
}
.invoice-modal__close svg{
  width: 20px;
  height: 20px;
  fill: currentColor;
}
.invoice-modal__header{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  padding-right: 54px;
  margin-bottom: 26px;
}
.invoice-modal__title{
  color: #000;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.15;
}
.invoice-modal__subtitle{
  margin-top: 6px;
  color: rgba(0,0,0,.58);
  font-size: 15px;
  line-height: 1.35;
}
.invoice-modal__table-wrap{
  max-height: calc(min(760px, 100vh - 48px) - 150px);
  overflow: auto;
  padding-bottom: 2px;
}
.invoice-modal__table{
  min-width: 760px;
}
.invoice-modal__row{
  display: grid;
  grid-template-columns: minmax(300px,1.6fr) minmax(120px,.7fr) minmax(120px,.75fr) minmax(140px,.85fr);
  gap: 18px;
  align-items: center;
  min-height: 68px;
  padding: 14px 0;
  border-bottom: 1px solid rgba(14,117,131,.12);
}
.invoice-modal__row--head{
  position: sticky;
  top: 0;
  z-index: 2;
  min-height: auto;
  padding-top: 0;
  background: #fff;
  color: rgba(0,0,0,.55);
  font-size: 13px;
  font-weight: 600;
}
.invoice-modal__invoice{
  min-width: 0;
}
.invoice-modal__invoice strong{
  display: block;
  margin-bottom: 4px;
  color: #000;
  font-size: 15px;
  line-height: 1.2;
}
.invoice-modal__payment-id{
  display: flex;
  align-items: baseline;
  gap: 6px;
  min-width: 0;
  color: rgba(0,0,0,.5);
  font-size: 12px;
  line-height: 1.25;
}
.invoice-id--full{
  max-width: 100%;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent !important;
  box-shadow: none !important;
  appearance: none;
  -webkit-appearance: none;
  color: rgba(0,0,0,.58) !important;
  font: inherit;
  font-size: 12px !important;
  line-height: 1.25;
  text-align: left;
  cursor: pointer;
}
.invoice-id--full:focus-visible{
  outline: 2px solid rgba(14,117,131,.35);
  outline-offset: 3px;
}
.invoice-modal__empty{
  padding: 24px 0;
  color: rgba(0,0,0,.62);
}
body.dark .invoice-expand-btn,
[data-theme="dark"] .invoice-expand-btn,
body.dark .invoice-preview-more,
[data-theme="dark"] .invoice-preview-more,
body.dark .invoice-modal__close,
[data-theme="dark"] .invoice-modal__close{
  border-color: rgba(47,212,239,.25);
  background: rgba(47,212,239,.12);
  color: #9be2eb;
}
body.dark .invoice-preview-card,
[data-theme="dark"] .invoice-preview-card,
body.dark .invoice-modal__row,
[data-theme="dark"] .invoice-modal__row{
  border-bottom-color: rgba(255,255,255,.12);
}
body.dark .invoice-modal__row:not(.invoice-modal__row--head) > div,
[data-theme="dark"] .invoice-modal__row:not(.invoice-modal__row--head) > div{
  color: rgba(255,255,255,.9);
}
body.dark .invoice-preview-card__name,
body.dark .invoice-preview-card__grid b,
body.dark .invoice-modal__title,
body.dark .invoice-modal__invoice strong,
[data-theme="dark"] .invoice-preview-card__name,
[data-theme="dark"] .invoice-preview-card__grid b,
[data-theme="dark"] .invoice-modal__title,
[data-theme="dark"] .invoice-modal__invoice strong{
  color: #fff;
}
body.dark .invoice-preview-card__label,
body.dark .invoice-modal__subtitle,
body.dark .invoice-modal__empty,
body.dark .invoice-preview-empty,
body.dark .invoice-id--full,
body.dark .invoice-modal__payment-id,
[data-theme="dark"] .invoice-preview-card__label,
[data-theme="dark"] .invoice-modal__subtitle,
[data-theme="dark"] .invoice-modal__empty,
[data-theme="dark"] .invoice-preview-empty,
[data-theme="dark"] .invoice-id--full,
[data-theme="dark"] .invoice-modal__payment-id{
  color: rgba(255,255,255,.6) !important;
}
body.dark .invoice-modal__payment-id .invoice-id--full,
[data-theme="dark"] .invoice-modal__payment-id .invoice-id--full{
  background: transparent !important;
  color: rgba(255,255,255,.72) !important;
}
body.dark .invoice-preview-card__status,
[data-theme="dark"] .invoice-preview-card__status{
  background: rgba(47,212,239,.12);
  color: #9be2eb;
}
body.dark .invoice-modal__row--head,
[data-theme="dark"] .invoice-modal__row--head{
  background: #101718;
  color: rgba(255,255,255,.6);
}
body.dark .invoice-actions a,
body.dark .invoice-refresh,
[data-theme="dark"] .invoice-actions a,
[data-theme="dark"] .invoice-refresh{
  border-color: rgba(47,212,239,.25);
  background: rgba(47,212,239,.12);
  color: #9be2eb;
}
@media screen and (max-width: 640px){
  .invoice-modal{
    padding: 12px;
  }
  .invoice-modal__content{
    width: calc(100vw - 24px);
    max-height: calc(100vh - 24px);
    padding: 24px 18px;
    border-radius: 14px;
  }
  .invoice-modal__title{
    font-size: 22px;
  }
  .invoice-modal__table-wrap{
    max-height: calc(100vh - 150px);
  }
}

@media screen and (max-width: 1180px){
  section.profile .profile__content{
    grid-template-columns: minmax(300px, 380px) minmax(0, 1fr);
  }
  section.profile .profile__content .content__left{
    grid-column: 1;
  }
  section.profile .profile__content .content__content{
    grid-column: 2;
  }
  section.profile .profile__content .profile__aside{
    grid-column: 1 / -1;
    grid-row: 2;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media screen and (max-width: 920px){
  section.profile .profile__content{
    grid-template-columns: 1fr;
  }
  section.profile .profile__content .content__left,
  section.profile .profile__content .content__content,
  section.profile .profile__content .profile__aside{
    grid-column: 1;
    grid-row: auto;
  }
  section.profile .profile__content .profile__aside{
    display: flex;
  }
}

section.profile .profile__content .content__content .content__subscription .subscriptions__plans .plans__block .block__footer{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  flex-wrap: nowrap;
}
section.profile .profile__content .content__content .content__subscription .subscriptions__plans .plans__block .block__footer .billing-cta-group{
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  flex: 0 1 auto;
}
section.profile .profile__content .content__content .content__subscription .subscriptions__plans .plans__block .block__footer .billing-cta-group > .footer__btn{
  flex: 0 0 auto;
  margin-right: 0;
}
section.profile .profile__content .content__content .content__subscription .subscriptions__plans .plans__block .block__footer .footer__btn{
  flex: 0 0 auto;
  white-space: nowrap;
  margin-right: 24px; /* fallback when flex gap is tight/unsupported */
}
section.profile .profile__content .content__content .content__subscription .subscriptions__plans .plans__block .block__footer .footer__price{
  flex: 1 1 auto;
  min-width: 0;
  margin-left: auto;
  padding-left: 0;
  text-align: right;
}
section.profile .profile__content .content__content .content__subscription .subscription__auto-renew{
  margin: 16px 0 22px;
  padding: 16px 18px;
  border: 1px solid rgba(14,117,131,.16);
  border-radius: 18px;
  background: rgba(14,117,131,.05);
}
section.profile .profile__content .content__content .content__subscription .auto-renew__toggle{
  display: flex;
  align-items: center;
  gap: 14px;
  cursor: pointer;
}
section.profile .profile__content .content__content .content__subscription .auto-renew__toggle input{
  display: none;
}
section.profile .profile__content .content__content .content__subscription .auto-renew__slider{
  position: relative;
  width: 50px;
  height: 28px;
  border-radius: 999px;
  background: rgba(0,0,0,.16);
  transition: background .2s ease;
  flex: 0 0 auto;
}
section.profile .profile__content .content__content .content__subscription .auto-renew__slider::after{
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #fff;
  transition: transform .2s ease;
}
section.profile .profile__content .content__content .content__subscription .auto-renew__toggle input:checked + .auto-renew__slider{
  background: #0E7583;
}
section.profile .profile__content .content__content .content__subscription .auto-renew__toggle input:checked + .auto-renew__slider::after{
  transform: translateX(22px);
}
section.profile .profile__content .content__content .content__subscription .auto-renew__label{
  font-size: 16px;
  font-weight: 500;
  color: #000;
}
section.profile .profile__content .content__content .content__subscription .auto-renew__meta{
  margin-top: 12px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
section.profile .profile__content .content__content .content__subscription .auto-renew__status,
section.profile .profile__content .content__content .content__subscription .auto-renew__hint{
  font-size: 14px;
  line-height: 1.45;
  color: rgba(0,0,0,.72);
}
section.profile .profile__content .content__content .content__subscription .auto-renew__hint--error{
  color: #C62525;
}
section.profile .profile__content .content__content .content__subscription .subscription__actions{
  margin: 0 0 22px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
section.profile .profile__content .content__content .content__subscription .subscription__actions .footer__btn.red{
  appearance: none;
  border: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 16px 20px;
  border-radius: 10px;
  background: #C62525;
  box-shadow: 0 12px 69.2px 0 rgba(198,37,37,.28);
  color: #fff;
  cursor: pointer;
  font: inherit;
  font-size: 18px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  transition: .3s all;
  text-decoration: none;
  white-space: nowrap;
}
section.profile .profile__content .content__content .content__subscription .subscription__actions .footer__btn.red:hover{
  background: #8f1a1a;
}
body.dark section.profile .profile__content .content__content .content__subscription .subscription__auto-renew{
  background: rgba(14,117,131,.12);
  border-color: rgba(255,255,255,.12);
}
body.dark section.profile .profile__content .content__content .content__subscription .auto-renew__slider{
  background: rgba(255,255,255,.22);
}
body.dark section.profile .profile__content .content__content .content__subscription .auto-renew__label{
  color: #fff;
}
body.dark section.profile .profile__content .content__content .content__subscription .auto-renew__status,
body.dark section.profile .profile__content .content__content .content__subscription .auto-renew__hint{
  color: rgba(255,255,255,.76);
}
body.dark section.profile .profile__content .content__content .content__subscription .auto-renew__hint--error{
  color: #FF8A8A;
}
body.dark section.profile .profile__content .content__content .content__subscription .subscription__actions .footer__btn.red{
  background: #C62525;
  color: #fff;
}

section.profile .profile__content .left__invites .invites__footer .clinic-leave-btn{
  appearance: none;
  border: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 16px 20px;
  border-radius: 10px;
  background: #C62525;
  box-shadow: 0 12px 69.2px 0 rgba(198,37,37,.28);
  color: #fff;
  cursor: pointer;
  font: inherit;
  font-size: 18px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  transition: .3s all;
  text-decoration: none;
  white-space: nowrap;
}

section.profile .profile__content .left__invites .invites__footer .clinic-leave-btn,
section.profile .profile__content .left__invites .invites__footer .clinic-leave-btn span{
  color: #fff !important;
}

section.profile .profile__content .left__invites .invites__footer .clinic-leave-btn:hover{
  background: #8F1A1A;
  opacity: 1;
}

section.profile .profile__content .left__invites .invites__footer .clinic-leave-btn:focus-visible{
  outline: 3px solid rgba(198,37,37,.3);
  outline-offset: 3px;
}

body.dark section.profile .profile__content .left__invites .invites__footer .clinic-leave-btn,
[data-theme="dark"] section.profile .profile__content .left__invites .invites__footer .clinic-leave-btn{
  background: #C62525;
  color: #fff;
}

body.dark section.profile .profile__content .left__invites .invites__footer .clinic-leave-btn:hover,
[data-theme="dark"] section.profile .profile__content .left__invites .invites__footer .clinic-leave-btn:hover{
  background: #A51F1F;
}

body.dark section.profile .profile__content .left__invoices .table__content .content__block .block__column,
body.dark section.profile .profile__content .left__invoices .table__content .content__block .block__column span,
body.dark section.profile .profile__content .left__invoices .table__content .content__block .block__column button,
[data-theme="dark"] section.profile .profile__content .left__invoices .table__content .content__block .block__column,
[data-theme="dark"] section.profile .profile__content .left__invoices .table__content .content__block .block__column span,
[data-theme="dark"] section.profile .profile__content .left__invoices .table__content .content__block .block__column button{
  color: #fff !important;
}

/* Landing (index): "steps" cards reuse `favorite__block` but are placed inside `section.tablet`,
   so main.css dark-theme rules scoped to `section.favorites` don't apply. */
body.dark section.tablet .favorite__block{
  background: #1d2b2c;
}
body.dark section.tablet .favorite__block .content__title{
  color: #fff;
}
body.dark section.tablet .favorite__block .content__tagline,
body.dark section.tablet .favorite__block .content__desc{
  color: rgba(255,255,255,.7);
}
body.dark section.tablet .favorite__block.green .content__tagline,
body.dark section.tablet .favorite__block.green .content__desc{
  color: rgba(255,255,255,.92);
}

section.tablet .container img{
  max-width: 1118px;
}

section.tablet .tablet__block.first{
  text-align: center;
}

section.tablet .tablet__block.two{
  text-align: center;
}

/* Clinic tables (patients/projects): remove focus "boxes" on row click (table rows are focusable via tabindex). */
.okv-patients #myTable tbody tr.patient-row-link:focus,
.okv-patients #myTable tbody tr.patient-row-link:focus-visible,
.okv-patients #myTable tbody tr.patient-row-link:focus-within,
.okv-projects #myTable tbody tr.project-row-link:focus,
.okv-projects #myTable tbody tr.project-row-link:focus-visible,
.okv-projects #myTable tbody tr.project-row-link:focus-within{
  outline: none !important;
}
.okv-patients #myTable tbody tr.patient-row-link:focus > *,
.okv-patients #myTable tbody tr.patient-row-link:focus-visible > *,
.okv-patients #myTable tbody tr.patient-row-link:focus-within > *,
.okv-projects #myTable tbody tr.project-row-link:focus > *,
.okv-projects #myTable tbody tr.project-row-link:focus-visible > *,
.okv-projects #myTable tbody tr.project-row-link:focus-within > *{
  outline: none !important;
  box-shadow: none !important;
}
.okv-patients #myTable tbody tr:focus > *,
.okv-patients #myTable tbody tr:focus-visible > *,
.okv-patients #myTable tbody tr:focus-within > *,
.okv-patients #myTable tbody tr:active > *,
.okv-projects #myTable tbody tr:focus > *,
.okv-projects #myTable tbody tr:focus-visible > *,
.okv-projects #myTable tbody tr:focus-within > *,
.okv-projects #myTable tbody tr:active > *{
  outline: none !important;
  box-shadow: none !important;
  border-color: transparent !important;
  border: 0 !important;
}
.okv-patients #myTable tbody td:active,
.okv-patients #myTable tbody td:focus,
.okv-patients #myTable tbody td:focus-visible,
.okv-patients #myTable tbody td:focus-within,
.okv-patients #myTable tbody th:active,
.okv-patients #myTable tbody th:focus,
.okv-patients #myTable tbody th:focus-visible,
.okv-patients #myTable tbody th:focus-within,
.okv-projects #myTable tbody td:active,
.okv-projects #myTable tbody td:focus,
.okv-projects #myTable tbody td:focus-visible,
.okv-projects #myTable tbody td:focus-within,
.okv-projects #myTable tbody th:active,
.okv-projects #myTable tbody th:focus,
.okv-projects #myTable tbody th:focus-visible,
.okv-projects #myTable tbody th:focus-within,
.okv-patients #myTable tbody td.dt-cell-selected,
.okv-patients #myTable tbody th.dt-cell-selected,
.okv-projects #myTable tbody td.dt-cell-selected,
.okv-projects #myTable tbody th.dt-cell-selected{
  outline: none !important;
  box-shadow: none !important;
  border-color: transparent !important;
  border: 0 !important;
}
.okv-patients #myTable tbody tr:active > td,
.okv-patients #myTable tbody tr:active > th,
.okv-patients #myTable tbody tr:focus > td,
.okv-patients #myTable tbody tr:focus > th,
.okv-patients #myTable tbody tr:focus-visible > td,
.okv-patients #myTable tbody tr:focus-visible > th,
.okv-patients #myTable tbody tr:focus-within > td,
.okv-patients #myTable tbody tr:focus-within > th,
.okv-projects #myTable tbody tr:active > td,
.okv-projects #myTable tbody tr:active > th,
.okv-projects #myTable tbody tr:focus > td,
.okv-projects #myTable tbody tr:focus > th,
.okv-projects #myTable tbody tr:focus-visible > td,
.okv-projects #myTable tbody tr:focus-visible > th,
.okv-projects #myTable tbody tr:focus-within > td,
.okv-projects #myTable tbody tr:focus-within > th{
  outline: none !important;
  box-shadow: none !important;
  border-color: transparent !important;
  border: 0 !important;
}
.okv-patients #myTable tbody td,
.okv-patients #myTable tbody th,
.okv-projects #myTable tbody td,
.okv-projects #myTable tbody th{
  -webkit-tap-highlight-color: transparent;
}
.okv-patients #myTable :focus,
.okv-patients #myTable :focus-visible,
.okv-projects #myTable :focus,
.okv-projects #myTable :focus-visible{
  outline: none !important;
  box-shadow: none !important;
}
.okv-patients #myTable tbody tr.selected,
.okv-patients #myTable tbody tr.selected > *,
.okv-projects #myTable tbody tr.selected,
.okv-projects #myTable tbody tr.selected > *{
  background-color: transparent !important;
  outline: none !important;
  box-shadow: none !important;
}
.okv-patients #myTable tbody td.selected,
.okv-patients #myTable tbody th.selected,
.okv-projects #myTable tbody td.selected,
.okv-projects #myTable tbody th.selected,
.okv-patients #myTable tbody tr.dt-row-selected,
.okv-projects #myTable tbody tr.dt-row-selected,
.okv-patients #myTable tbody tr.dt-row-selected > *,
.okv-projects #myTable tbody tr.dt-row-selected > *,
.okv-patients #myTable tbody tr.dt-rowSelected,
.okv-projects #myTable tbody tr.dt-rowSelected,
.okv-patients #myTable tbody tr.dt-rowSelected > *,
.okv-projects #myTable tbody tr.dt-rowSelected > *{
  background-color: transparent !important;
  outline: none !important;
  box-shadow: none !important;
  border-color: transparent !important;
}
.okv-patients #myTable tbody td.selected,
.okv-projects #myTable tbody td.selected,
.okv-patients #myTable tbody th.selected,
.okv-projects #myTable tbody th.selected{
  border: 0 !important;
}
.okv-patients #myTable tbody td.focus,
.okv-patients #myTable tbody th.focus,
.okv-projects #myTable tbody td.focus,
.okv-projects #myTable tbody th.focus,
.okv-patients #myTable tbody td.dt-hasFocus,
.okv-patients #myTable tbody th.dt-hasFocus,
.okv-projects #myTable tbody td.dt-hasFocus,
.okv-projects #myTable tbody th.dt-hasFocus{
  outline: none !important;
  box-shadow: none !important;
}
.okv-patients #myTable tbody td:focus,
.okv-patients #myTable tbody td:focus-visible,
.okv-patients #myTable tbody th:focus,
.okv-patients #myTable tbody th:focus-visible,
.okv-projects #myTable tbody td:focus,
.okv-projects #myTable tbody td:focus-visible,
.okv-projects #myTable tbody th:focus,
.okv-projects #myTable tbody th:focus-visible,
.okv-patients #myTable tbody td.focus,
.okv-patients #myTable tbody th.focus,
.okv-projects #myTable tbody td.focus,
.okv-projects #myTable tbody th.focus,
.okv-patients #myTable tbody td.dt-hasFocus,
.okv-patients #myTable tbody th.dt-hasFocus,
.okv-projects #myTable tbody td.dt-hasFocus,
.okv-projects #myTable tbody th.dt-hasFocus{
  border-color: transparent !important;
  border: 0 !important;
}

/* Landing page (favorites): constrain step images (new assets are large). */
section.favorites .favorite__block > img,
section.favorites .favorite__block img{
  flex: 0 0 auto;
  display: block;
  width: clamp(240px, 28vw, 360px);
  height: auto;
  max-width: 100%;
  max-height: 260px;
  border-radius: 24px;
  object-fit: contain;
  object-position: center;
}

@media screen and (max-width: 557px){
  section.favorites .favorite__block > img,
  section.favorites .favorite__block img{
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
  }
}

/* Pricing: consistent inner layout (month/year pairs + note). */
.footer__price[data-plan-price]{
  padding-right: 12px; /* breathing room from card edge */
}

/* Subscription (Individual): price + note in one row. */
.footer__price[data-plan-price] .okv-price__wrap.okv-price__wrap--with-note{
  gap: 10px;
}

.footer__price[data-plan-price] .okv-price__note.okv-price__note--inline{
  display: inline-flex;
  align-items: baseline;
  margin: 0;
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
  max-width: none;
  font-size: 11px;
  line-height: 1.1;
  opacity: 0.75;
}
.footer__price[data-plan-price] b{
  margin-bottom: 0 !important; /* override main.css negative margin */
  line-height: 1.05;
}
.footer__price[data-plan-price] [data-price-for]{
  display: block;
}
.footer__price[data-plan-price] .okv-price__wrap{
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: baseline;
  justify-content: flex-end;
  gap: 14px;
}
.footer__price[data-plan-price] .okv-price__pair{
  display: inline-flex;
  align-items: baseline;
  gap: 6px;
  white-space: nowrap;
}
.footer__price[data-plan-price] .okv-price__wrap--actions{
  align-items: flex-start;
  justify-content: flex-end;
  gap: 26px;
}
.footer__price[data-plan-price] .okv-price__option{
  flex-direction: column;
  align-items: center;
  gap: 12px;
  text-align: center;
}
.footer__price[data-plan-price] .okv-price__option .footer__btn{
  margin-right: 0 !important;
}
.footer__price[data-plan-price] .okv-price__option:first-child:nth-last-child(2),
.footer__price[data-plan-price] .okv-price__option:first-child:nth-last-child(2) ~ .okv-price__option{
  min-width: 132px;
}
.footer__price[data-plan-price] .okv-price__unit{
  white-space: nowrap;
  font-size: 12px;
  opacity: 0.85;
}
.footer__price[data-plan-price] .okv-price__note{
  display: block;
  margin-top: 8px;
  font-size: 12px;
  line-height: 1.25;
  opacity: 0.75;
  max-width: 220px;
}

/* Price sizes: a bit smaller and cleaner than default 40px. */
.footer__price[data-plan-price] .okv-price__pair b{
  font-size: 30px !important;
}
.footer__price[data-plan-price] .okv-price__wrap .okv-price__pair:nth-child(2) b{
  font-size: 28px !important;
}

@media (max-width: 700px){
  section.tarif-preview .tarif-preview__grid .grid__block .block__footer,
  section.profile .profile__content .content__content .content__subscription .subscriptions__plans .plans__block .block__footer{
    flex-wrap: nowrap;
    flex-direction: row;
    gap: 12px;
  }

  section.profile .profile__content .content__content .content__subscription .subscriptions__plans .plans__block .block__footer{
    gap: 26px;
  }

  section.profile .profile__content .content__content .content__subscription .subscriptions__plans .plans__block .block__footer .billing-cta-group{
    gap: 10px;
  }

  section.profile .profile__content .content__content .content__subscription .subscriptions__plans .plans__block .block__footer .footer__btn{
    margin-right: 12px;
  }

  section.tarif-preview .tarif-preview__grid .grid__block .block__footer .footer__btn,
  section.profile .profile__content .content__content .content__subscription .subscriptions__plans .plans__block .block__footer .footer__btn{
    padding: 12px 14px;
    font-size: 15px;
    gap: 8px;
  }

  .footer__price[data-plan-price] .okv-price__pair b{
    font-size: 26px !important;
  }

  .footer__price[data-plan-price] .okv-price__wrap .okv-price__pair:nth-child(2) b{
    font-size: 24px !important;
  }

  .footer__price[data-plan-price] .okv-price__note{
    max-width: 180px;
  }
}

@media (max-width: 560px){
  section.profile .profile__content .content__content .content__subscription .subscriptions__plans .plans__block .block__footer{
    gap: 22px;
  }

  section.profile .profile__content .content__content .content__subscription .subscriptions__plans .plans__block .block__footer .billing-cta-group{
    width: 100%;
  }

  section.tarif-preview .tarif-preview__grid .grid__block .block__footer .footer__btn,
  section.profile .profile__content .content__content .content__subscription .subscriptions__plans .plans__block .block__footer .footer__btn{
    padding: 10px 12px;
    font-size: 14px;
    gap: 8px;
  }

  .footer__price[data-plan-price] .okv-price__wrap{
    gap: 10px;
  }

  .footer__price[data-plan-price] .okv-price__wrap--actions{
    gap: 14px;
  }

  .footer__price[data-plan-price] .okv-price__unit{
    font-size: 11px;
  }

  .footer__price[data-plan-price] .okv-price__pair b{
    font-size: 22px !important;
  }

  .footer__price[data-plan-price] .okv-price__wrap .okv-price__pair:nth-child(2) b{
    font-size: 20px !important;
  }

  .footer__price.footer__price--note[data-plan-price] .okv-price__note{
    font-size: 10px;
  }
}

@media (max-width: 500px){
  section.tarif-preview .tarif-preview__grid .grid__block .block__footer,
  section.profile .profile__content .content__content .content__subscription .subscriptions__plans .plans__block .block__footer{
    flex-direction: row;
  }
}

@media (max-width: 420px){
  .footer__price[data-plan-price] .okv-price__wrap{
    flex-wrap: nowrap; /* never move price to next line */
    gap: 10px;
  }
  .footer__price[data-plan-price] .okv-price__wrap--actions{
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
  }
  .footer__price[data-plan-price] .okv-price__option{
    align-items: stretch;
  }
  .footer__price[data-plan-price] .okv-price__pair b{ font-size: 18px !important; }
  .footer__price[data-plan-price] .okv-price__wrap .okv-price__pair:nth-child(2) b{ font-size: 16px !important; }

  .footer__price.footer__price--note[data-plan-price] .okv-price__note{
    font-size: 9px;
  }
}

/* Hide the disabled placeholder option in the dropdown results. */
#select2-btn-duplicate-results .select2-results__option[aria-disabled="true"]{
  display: none;
}

/* Account menu dropdown (Profile/Admin/Logout) */
.account-menu{
  position: relative;
  display: inline-flex;
  align-items: center;
}
.account-menu__toggle{
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
body:not(.landing-page) header .header__right > #logout::after,
body:not(.landing-page) header .header__right > .account-menu--header #logout::after{
  content:"";
  display:inline-block;
  width:7px;
  height:7px;
  border-right:1.5px solid currentColor;
  border-bottom:1.5px solid currentColor;
  transform:rotate(45deg) translateY(-2px);
  flex:0 0 auto;
  margin-left:2px;
  opacity:0;
}
.account-menu__toggle--with-caret::after{
  opacity:1 !important;
}
.account-menu__caret{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-left: 6px;
  flex: 0 0 auto;
}
.account-menu__dropdown{
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  min-width: 220px;
  background: #fff;
  border-radius: 14px;
  padding: 8px;
  box-shadow: 0 14px 40px rgba(0,0,0,0.12);
  border: 1px solid rgba(0,0,0,0.08);
  z-index: 2500;
  display: none;
}
.account-menu.active .account-menu__dropdown{
  display: block;
}
.account-menu__item{
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  padding: 10px 12px;
  border-radius: 12px;
  color: inherit;
  background: transparent;
  text-decoration: none;
  border: 0;
  cursor: pointer;
  font: inherit;
}
.account-menu__item:hover,
.account-menu__item:active{
  background: rgba(14,117,131,0.10);
}
.account-menu__item--danger{
  color: #C62525;
}
.account-menu__item--danger:hover,
.account-menu__item--danger:active{
  background: rgba(198,37,37,0.08);
}
body.dark .account-menu__dropdown{
  background: #0D1E20;
  border-color: #2F353B;
  box-shadow: 0 18px 60px rgba(0,0,0,0.45);
}
body.dark .account-menu__item{
  color: rgba(255,255,255,0.86);
}
body.dark .account-menu__item:hover,
body.dark .account-menu__item:active{
  background: rgba(14,117,131,0.18);
  color: #fff;
}
body.dark .account-menu__item--danger{
  color: #ff7b7b;
}

/* Password visibility toggle + requirements in auth modals */
.form-auth__control--password{
  position: relative;
  display: flex;
  align-items: center;
}
.form-auth__control--password input{
  width: 100%;
  padding-right: 46px;
}
.password-toggle{
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  width: 32px;
  height: 32px;
  border-radius: 8px;
  border: 0;
  background: transparent;
  color: rgba(0,0,0,0.6);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: color 0.2s ease, background 0.2s ease;
}
.password-toggle svg{
  width: 18px;
  height: 18px;
}
.password-toggle .icon-eye-off{
  display: none;
}
.password-toggle.is-visible .icon-eye{
  display: none;
}
.password-toggle.is-visible .icon-eye-off{
  display: block;
}
.password-toggle:hover{
  color: #0E7583;
  background: rgba(14,117,131,0.08);
}
.password-toggle:focus-visible{
  outline: 2px solid rgba(14,117,131,0.35);
  outline-offset: 2px;
}

.form-auth__requirements{
  margin-top: 12px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.form-auth__requirements .requirements__title{
  font-size: 14px;
  font-weight: 600;
  color: rgba(0,0,0,0.7);
}
.form-auth__requirements .requirements__list{
  margin: 0;
  padding-left: 18px;
  list-style: disc;
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 13px;
  line-height: 1.4;
  color: rgba(0,0,0,0.6);
}
.form-auth__requirements .requirements__list li.is-valid{
  color: #0E7583;
}
.form-auth__requirements .requirements__list li.is-invalid{
  color: #C62525;
}
.form-auth__requirements .requirements__list li.is-valid::marker{
  color: #0E7583;
}
.form-auth__requirements .requirements__list li.is-invalid::marker{
  color: #C62525;
}

body.dark .password-toggle{
  color: rgba(255,255,255,0.6);
}
body.dark .password-toggle:hover{
  color: #0E7583;
  background: rgba(14,117,131,0.18);
}
body.dark .form-auth__requirements .requirements__title{
  color: rgba(255,255,255,0.7);
}
body.dark .form-auth__requirements .requirements__list{
  color: rgba(255,255,255,0.55);
}
body.dark .form-auth__requirements .requirements__list li.is-valid,
body.dark .form-auth__requirements .requirements__list li.is-valid::marker{
  color: #6fe1e4;
}
body.dark .form-auth__requirements .requirements__list li.is-invalid,
body.dark .form-auth__requirements .requirements__list li.is-invalid::marker{
  color: #ff7b7b;
}

/* Force row separators for patients/projects tables (override any resets). */
.okv-patients #myTable tbody > tr,
.okv-projects #myTable tbody > tr{
  box-shadow: inset 0 -1px rgba(14,117,131,.1) !important;
  transition: box-shadow .15s ease;
}
.okv-patients #myTable tbody > tr:hover,
.okv-projects #myTable tbody > tr:hover{
  box-shadow: inset 0 -2px #0E7583 !important;
}
.okv-patients #myTable tbody > tr > *,
.okv-projects #myTable tbody > tr > *{
  border-bottom: 1px solid rgba(14,117,131,.15) !important;
}
body.dark .okv-patients #myTable tbody > tr,
body.dark .okv-projects #myTable tbody > tr{
  box-shadow: inset 0 -1px rgba(255,255,255,.12) !important;
}
body.dark .okv-patients #myTable tbody > tr > *,
body.dark .okv-projects #myTable tbody > tr > *{
  border-bottom: 1px solid rgba(255,255,255,.12) !important;
}

.form-auth__oauth{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin:2px 0 18px;
}

.oauth-btn{
  width:100%;
  min-height:48px;
  border-radius:14px;
  border:1px solid rgba(14,117,131,.18);
  background:#fff;
  color:#0d1415;
  font:inherit;
  font-weight:500;
  cursor:pointer;
  transition:border-color .2s ease, background .2s ease, color .2s ease;
}

.oauth-btn:hover{
  border-color:#0e7583;
  background:rgba(14,117,131,.08);
}

.oauth-btn--vk{
  border-color:rgba(0,119,255,.28);
}

.oauth-btn--yandex{
  border-color:rgba(252,63,29,.28);
}

body.dark .oauth-btn{
  background:#0d1e20;
  border-color:rgba(255,255,255,.18);
  color:#fff;
}

body.dark .oauth-btn:hover{
  border-color:#0e7583;
  background:rgba(14,117,131,.28);
}

.okv-cookie-banner{
  position:fixed;
  left:24px;
  right:24px;
  bottom:24px;
  z-index:9999;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  max-width:1120px;
  margin:0 auto;
  padding:16px 18px 16px 22px;
  border:1px solid rgba(14,117,131,.16);
  border-radius:18px;
  background:rgba(255,255,255,.96);
  color:#0d1e20;
  box-shadow:0 18px 48px rgba(13,30,32,.16);
  backdrop-filter:blur(12px);
  transform:translateY(0);
  opacity:1;
  transition:opacity .18s ease, transform .18s ease;
}

.okv-cookie-banner.is-hiding{
  opacity:0;
  transform:translateY(12px);
}

.okv-cookie-banner__text{
  min-width:0;
  font-size:15px;
  line-height:1.45;
  font-weight:450;
}

.okv-cookie-banner__button{
  flex:0 0 auto;
  min-width:92px;
  min-height:44px;
  padding:0 22px;
  border:0;
  border-radius:12px;
  background:#0E7583;
  color:#fff;
  font:inherit;
  font-size:15px;
  font-weight:600;
  line-height:1;
  cursor:pointer;
  transition:background .18s ease, transform .18s ease;
}

.okv-cookie-banner__button:hover{
  background:#000;
  transform:translateY(-1px);
}

.okv-cookie-banner__button:focus-visible{
  outline:3px solid rgba(14,117,131,.3);
  outline-offset:2px;
}

body.dark .okv-cookie-banner,
[data-theme="dark"] .okv-cookie-banner{
  border-color:rgba(255,255,255,.12);
  background:rgba(13,30,32,.96);
  color:#fff;
  box-shadow:0 18px 48px rgba(0,0,0,.42);
}

body.dark .okv-cookie-banner__button,
[data-theme="dark"] .okv-cookie-banner__button{
  background:#0E7583;
  color:#fff;
}

body.dark .okv-cookie-banner__button:hover,
[data-theme="dark"] .okv-cookie-banner__button:hover{
  background:#fff;
  color:#0d1e20;
}

@media screen and (max-width: 640px){
  .okv-cookie-banner{
    left:12px;
    right:12px;
    bottom:12px;
    flex-direction:column;
    align-items:stretch;
    gap:14px;
    padding:16px;
    border-radius:16px;
  }

  .okv-cookie-banner__text{
    font-size:14px;
  }

  .okv-cookie-banner__button{
    width:100%;
  }
}

/* Landing refresh: softer surfaces, glass, and scroll motion. */
:root{
  --landing-ink:#111820;
  --landing-muted:rgba(17,24,32,.66);
  --landing-teal:#0E7583;
  --landing-surface:rgba(255,255,255,.74);
  --landing-soft:rgba(14,117,131,.08);
  --landing-line:rgba(14,117,131,.12);
  --landing-shadow:0 28px 80px rgba(12,38,45,.12);
}

html{
  scroll-behavior:smooth;
}

body.landing-page{
  display:flow-root;
  background:
    radial-gradient(circle at 18% 8%, rgba(14,117,131,.11), transparent 30%),
    radial-gradient(circle at 84% 22%, rgba(122,196,202,.18), transparent 32%),
    linear-gradient(180deg, #fbfdfd 0%, #f7faf9 46%, #fff 100%);
  color:var(--landing-ink);
}

body.landing-page.dark,
[data-theme="dark"] body.landing-page{
  --landing-ink:#f5fbfb;
  --landing-muted:rgba(245,251,251,.68);
  --landing-surface:rgba(20,27,31,.72);
  --landing-soft:rgba(111,225,228,.1);
  --landing-line:rgba(255,255,255,.1);
  --landing-shadow:0 30px 90px rgba(0,0,0,.38);
  background:
    radial-gradient(circle at 20% 8%, rgba(14,117,131,.22), transparent 31%),
    radial-gradient(circle at 84% 20%, rgba(111,225,228,.12), transparent 30%),
    linear-gradient(180deg, #0d1114 0%, #11181b 46%, #0b0f11 100%);
}

body.landing-page header{
  transition:background .35s ease, box-shadow .35s ease, top .35s ease, transform .35s ease;
}

body.landing-page header.fixed{
  background:rgba(255,255,255,.72);
  border-bottom:1px solid rgba(14,117,131,.08);
  box-shadow:0 18px 54px rgba(13,30,32,.08);
}

body.landing-page.dark header.fixed,
[data-theme="dark"] body.landing-page header.fixed{
  background:rgba(14,19,22,.72);
  border-bottom-color:rgba(255,255,255,.08);
  box-shadow:0 18px 54px rgba(0,0,0,.34);
}

body.landing-page header .header__left .left__links a,
body.landing-page header .header__right .right__btn,
body.landing-page header .header__actions .actions__language .language__btn,
body.landing-page header .header__actions .actions__theme{
  transition:color .22s ease, background .22s ease, border-color .22s ease, transform .22s ease, box-shadow .22s ease;
}

body.landing-page header .header__right .right__btn{
  border:1px solid rgba(14,117,131,.1);
  box-shadow:0 10px 28px rgba(13,30,32,.07);
}

body.landing-page header .header__right .right__btn:hover,
body.landing-page header .header__actions .actions__language .language__btn:hover,
body.landing-page header .header__actions .actions__theme:hover{
  transform:translateY(-1px);
}

body.landing-page section.intro{
  margin-top:178px;
}

body.landing-page section.intro .container{
  min-height:520px;
}

body.landing-page section.intro .intro__content h1{
  max-width:660px;
  color:var(--landing-ink);
  font-size:clamp(42px, 5vw, 72px);
  line-height:1.02;
  letter-spacing:0;
  margin-bottom:22px;
}

body.landing-page section.intro .intro__content h1 span,
body.landing-page section.tarif-preview .tarif-preview__header span{
  display:inline-block;
  padding:.02em .18em .08em;
  border-radius:18px;
  background:linear-gradient(135deg, #0E7583 0%, #43aab2 100%);
  box-shadow:0 18px 46px rgba(14,117,131,.26);
}

body.landing-page section.intro .intro__content .content__desc{
  max-width:580px;
  color:var(--landing-muted);
  font-size:19px;
  line-height:1.62;
  margin-bottom:34px;
}

body.landing-page section.intro .intro__content .content__actions .actions__btn,
body.landing-page section.tarif-preview .tarif-preview__grid .grid__block .block__footer .footer__btn{
  border-radius:999px;
  min-height:54px;
  transition:transform .24s ease, box-shadow .24s ease, background .24s ease, color .24s ease, border-color .24s ease;
}

body.landing-page section.intro .intro__content .content__actions .actions__btn:hover,
body.landing-page section.tarif-preview .tarif-preview__grid .grid__block .block__footer .footer__btn:hover{
  transform:translateY(-2px);
}

body.landing-page section.intro .intro__content .content__actions .actions__btn.green,
body.landing-page section.tarif-preview .tarif-preview__grid .grid__block .block__footer .footer__btn{
  background:linear-gradient(135deg, #0E7583 0%, #0b5f6a 100%);
  box-shadow:0 18px 48px rgba(14,117,131,.28);
}

body.landing-page.dark section.intro .intro__content .content__actions .actions__btn.green:hover,
[data-theme="dark"] body.landing-page section.intro .intro__content .content__actions .actions__btn.green:hover,
body.landing-page.dark section.tarif-preview .tarif-preview__grid .grid__block .block__footer .footer__btn:hover,
[data-theme="dark"] body.landing-page section.tarif-preview .tarif-preview__grid .grid__block .block__footer .footer__btn:hover{
  color:#fff;
}

body.landing-page.dark section.intro .intro__content .content__actions .actions__btn.green:hover svg path,
[data-theme="dark"] body.landing-page section.intro .intro__content .content__actions .actions__btn.green:hover svg path,
body.landing-page.dark section.tarif-preview .tarif-preview__grid .grid__block .block__footer .footer__btn:hover svg path,
[data-theme="dark"] body.landing-page section.tarif-preview .tarif-preview__grid .grid__block .block__footer .footer__btn:hover svg path{
  fill:#fff;
}

body.landing-page section.intro .intro__content .content__actions .actions__btn:not(.green){
  border:1px solid var(--landing-line);
  background:var(--landing-surface);
  backdrop-filter:blur(18px);
  box-shadow:0 14px 36px rgba(13,30,32,.08);
}

body.landing-page section.intro .picture{
  overflow:visible;
  border-radius:34px;
  filter:drop-shadow(0 34px 82px rgba(12,38,45,.18));
  transform:translateZ(0);
}

body.landing-page section.intro .picture__video-wrapper{
  border:1px solid rgba(255,255,255,.7);
  border-radius:34px;
  box-shadow:0 28px 80px rgba(12,38,45,.14);
  transition:transform .45s cubic-bezier(.2,.8,.2,1), box-shadow .45s ease;
}

body.landing-page section.intro .picture__video-wrapper:hover{
  transform:translateY(-8px) scale(1.01);
  box-shadow:0 36px 100px rgba(12,38,45,.2);
}

body.landing-page .picture__play{
  backdrop-filter:blur(18px);
  box-shadow:0 18px 44px rgba(10,24,37,.28);
}

body.landing-page section.tablet{
  margin-top:150px;
  margin-bottom:150px;
}

body.landing-page section.tablet .container img{
  filter:drop-shadow(0 34px 80px rgba(13,30,32,.16));
}

body.landing-page section.tablet .tablet__block,
body.landing-page section.favorites .favorite__block,
body.landing-page section.tarif-preview .tarif-preview__grid .grid__block,
body.landing-page .why__card{
  border:1px solid var(--landing-line);
  background:var(--landing-surface);
  box-shadow:var(--landing-shadow);
  backdrop-filter:blur(24px);
  transition:transform .38s cubic-bezier(.2,.8,.2,1), box-shadow .38s ease, border-color .38s ease, background .38s ease;
}

body.landing-page section.tablet .tablet__block{
  color:var(--landing-ink);
  background:rgba(14,117,131,.74);
}

body.landing-page section.tablet .tablet__block.first svg{
  top:calc(100% + 4px);
}

body.landing-page section.tablet .tablet__block.three svg{
  bottom:140px;
  left:50%;
  transform:translateX(-50%);
}

body.landing-page section.tablet.tablet-sequence .container > img{
  opacity:0;
  transform:translateY(24px) scale(.992);
  transition:opacity .75s cubic-bezier(.2,.8,.2,1), transform .9s cubic-bezier(.2,.8,.2,1);
  will-change:opacity, transform;
}

body.landing-page section.tablet.tablet-sequence.tablet-device-visible .container > img{
  opacity:1;
  transform:translateY(0) scale(1);
}

body.landing-page section.tablet.tablet-sequence .tablet__block{
  border-color:transparent;
  background:rgba(14,117,131,0);
  box-shadow:none;
  backdrop-filter:none;
  transition:transform .42s cubic-bezier(.2,.8,.2,1), background .55s ease, box-shadow .55s ease, border-color .55s ease;
}

body.landing-page section.tablet.tablet-sequence .tablet__block .block__title,
body.landing-page section.tablet.tablet-sequence .tablet__block .block__desc{
  opacity:0;
  transform:translateY(8px);
  transition:opacity .52s cubic-bezier(.2,.8,.2,1), transform .52s cubic-bezier(.2,.8,.2,1);
}

body.landing-page section.tablet.tablet-sequence .tablet__block > svg{
  opacity:0;
  transition:opacity .55s cubic-bezier(.2,.8,.2,1);
}

body.landing-page section.tablet.tablet-sequence.tablet-lines-visible .tablet__block > svg{
  opacity:1;
}

body.landing-page section.tablet.tablet-sequence.tablet-blocks-visible .tablet__block{
  border-color:var(--landing-line);
  background:rgba(14,117,131,.74);
  box-shadow:var(--landing-shadow);
  backdrop-filter:blur(24px);
}

body.landing-page section.tablet.tablet-sequence.tablet-blocks-visible .tablet__block .block__title,
body.landing-page section.tablet.tablet-sequence.tablet-blocks-visible .tablet__block .block__desc{
  opacity:1;
  transform:translateY(0);
}

body.landing-page section.tablet.tablet-sequence:not(.tablet-blocks-visible) .tablet__block:hover{
  transform:none;
  border-color:transparent;
  box-shadow:none;
}

body.landing-page section.tablet .tablet__block:hover,
body.landing-page section.favorites .favorite__block:hover,
body.landing-page section.tarif-preview .tarif-preview__grid .grid__block:hover,
body.landing-page .why__card:hover{
  transform:translateY(-6px);
  border-color:rgba(14,117,131,.28);
  box-shadow:0 34px 94px rgba(12,38,45,.16);
}

body.landing-page section.favorites .favorite__block{
  border-radius:28px;
  background:rgba(255,255,255,.68);
}

body.landing-page section.favorites .favorite__block.green{
  background:linear-gradient(135deg, rgba(14,117,131,.76), rgba(45,151,158,.68));
  border-color:rgba(255,255,255,.32);
}

body.landing-page section.favorites .favorite__block .block__content .content__title,
body.landing-page section.tarif-preview .tarif-preview__grid .grid__block .block__header .header__title{
  color:var(--landing-ink);
}

body.landing-page section.favorites .favorite__block .block__content .content__desc,
body.landing-page section.favorites .favorite__block .block__content .content__tagline,
body.landing-page section.tarif-preview .tarif-preview__grid .grid__block .block__header .header__desc{
  color:var(--landing-muted);
  line-height:1.5;
}

body.landing-page section.favorites .favorite__block.green .block__content .content__title,
body.landing-page section.favorites .favorite__block.green .block__content .content__desc,
body.landing-page section.favorites .favorite__block.green .block__content .content__tagline{
  color:#fff;
}

body.landing-page section.favorites .favorite__block img{
  border-radius:22px;
  transition:transform .38s ease;
}

body.landing-page section.favorites .favorite__block:hover img{
  transform:scale(1.025);
}

body.landing-page section.tarif-preview{
  margin-bottom:118px;
}

body.landing-page section.tarif-preview .tarif-preview__header{
  color:var(--landing-ink);
  font-size:clamp(34px, 4vw, 58px);
  line-height:1.08;
}

body.landing-page section.tarif-preview .tarif-preview__grid .grid__block{
  border-radius:30px;
  background:rgba(255,255,255,.72);
}

body.landing-page section.tarif-preview .tarif-preview__grid .grid__block .block__tabs{
  border:1px solid var(--landing-line);
  border-radius:999px;
  background:rgba(14,117,131,.07);
}

body.landing-page section.tarif-preview .tarif-preview__grid .grid__block .block__tabs .tabs__tab{
  border-radius:999px;
  transition:background .22s ease, color .22s ease, box-shadow .22s ease;
}

body.landing-page section.tarif-preview .tarif-preview__grid .grid__block .block__tabs .tabs__tab:hover,
body.landing-page section.tarif-preview .tarif-preview__grid .grid__block .block__tabs .tabs__tab.active{
  background:#fff;
  box-shadow:0 8px 22px rgba(13,30,32,.08);
}

body.landing-page .why{
  padding:28px 0 92px;
}

body.landing-page .why__card{
  border-radius:30px;
}

body.landing-page .why__title{
  color:var(--landing-ink);
}

body.landing-page .why__text{
  color:var(--landing-muted);
}

body.landing-page.dark section.favorites .favorite__block,
[data-theme="dark"] body.landing-page section.favorites .favorite__block,
body.landing-page.dark section.tarif-preview .tarif-preview__grid .grid__block,
[data-theme="dark"] body.landing-page section.tarif-preview .tarif-preview__grid .grid__block,
body.landing-page.dark .why__card,
[data-theme="dark"] body.landing-page .why__card{
  background:rgba(20,27,31,.72);
  border-color:rgba(255,255,255,.1);
}

body.landing-page.dark section.favorites .favorite__block.green,
[data-theme="dark"] body.landing-page section.favorites .favorite__block.green{
  background:linear-gradient(135deg, rgba(14,117,131,.78), rgba(31,117,124,.62));
}

body.landing-page.dark section.tarif-preview .tarif-preview__grid .grid__block .block__tabs,
[data-theme="dark"] body.landing-page section.tarif-preview .tarif-preview__grid .grid__block .block__tabs{
  background:rgba(255,255,255,.06);
}

body.landing-page.dark section.tarif-preview .tarif-preview__grid .grid__block .block__tabs .tabs__tab:hover,
body.landing-page.dark section.tarif-preview .tarif-preview__grid .grid__block .block__tabs .tabs__tab.active,
[data-theme="dark"] body.landing-page section.tarif-preview .tarif-preview__grid .grid__block .block__tabs .tabs__tab:hover,
[data-theme="dark"] body.landing-page section.tarif-preview .tarif-preview__grid .grid__block .block__tabs .tabs__tab.active{
  background:rgba(255,255,255,.13);
  color:#fff;
}

body.landing-page .landing-reveal{
  opacity:0;
  transform:translateY(34px) scale(.985);
  transition:opacity .7s cubic-bezier(.2,.8,.2,1), transform .7s cubic-bezier(.2,.8,.2,1);
  will-change:opacity, transform;
}

body.landing-page .landing-reveal.is-visible{
  opacity:1;
  transform:translateY(0) scale(1);
}

body.landing-page section.tablet .tablet__block.landing-reveal{
  transform:none;
  transition:opacity .55s cubic-bezier(.2,.8,.2,1), transform .42s cubic-bezier(.2,.8,.2,1), box-shadow .38s ease, border-color .38s ease, background .38s ease;
  will-change:opacity, transform;
}

body.landing-page section.tablet .tablet__block.landing-reveal.is-visible{
  transform:none;
}

body.landing-page section.tablet .tablet__block.landing-reveal.is-visible:hover{
  transform:translateY(-6px);
}

body.landing-page section.tablet .container > img.landing-reveal{
  transform:translateY(18px) scale(.992);
  transition:opacity .75s cubic-bezier(.2,.8,.2,1), transform .9s cubic-bezier(.2,.8,.2,1);
  will-change:opacity, transform;
}

body.landing-page section.tablet .container > img.landing-reveal.is-visible{
  transform:translateY(0) scale(1);
}

body.landing-page section.tablet .tablet__block.landing-reveal > svg{
  opacity:0;
  transition:opacity .55s cubic-bezier(.2,.8,.2,1);
  transition-delay:0s;
}

body.landing-page section.tablet .tablet__block.landing-reveal.is-visible > svg{
  opacity:1;
  transition-delay:.7s;
}

@media (prefers-reduced-motion: reduce){
  html{
    scroll-behavior:auto;
  }

  body.landing-page *,
  body.landing-page *::before,
  body.landing-page *::after{
    transition-duration:.001ms !important;
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
  }

  body.landing-page .landing-reveal{
    opacity:1;
    transform:none;
  }

  body.landing-page section.tablet.tablet-sequence .container > img,
  body.landing-page section.tablet.tablet-sequence .tablet__block > svg,
  body.landing-page section.tablet.tablet-sequence .tablet__block .block__title,
  body.landing-page section.tablet.tablet-sequence .tablet__block .block__desc{
    opacity:1;
    transform:none;
  }

  body.landing-page section.tablet.tablet-sequence .tablet__block{
    border-color:var(--landing-line);
    background:rgba(14,117,131,.74);
    box-shadow:var(--landing-shadow);
    backdrop-filter:blur(24px);
  }
}

@media screen and (max-width: 1210px){
  body.landing-page section.intro{
    margin-top:110px;
  }

  body.landing-page section.intro .container{
    min-height:auto;
  }

  body.landing-page section.intro .intro__content{
    align-items:center;
    text-align:center;
  }

  body.landing-page section.intro .intro__content .content__actions{
    justify-content:center;
  }
}

@media screen and (max-width: 640px){
  body.landing-page section.intro .intro__content h1{
    font-size:36px;
    line-height:1.08;
  }

  body.landing-page section.intro .intro__content .content__desc{
    font-size:16px;
    line-height:1.55;
  }

  body.landing-page section.intro .intro__content .content__actions,
  body.landing-page .billing-cta-group{
    width:100%;
  }

  body.landing-page section.intro .intro__content .content__actions .actions__btn{
    width:100%;
  }

  body.landing-page section.intro .picture,
  body.landing-page section.intro .picture__video-wrapper{
    border-radius:24px;
  }

  body.landing-page section.tablet{
    margin-top:80px;
    margin-bottom:86px;
  }

  body.landing-page section.tarif-preview .tarif-preview__grid .grid__block .block__tabs{
    border-radius:18px;
  }

  body.landing-page section.tarif-preview .tarif-preview__grid .grid__block .block__tabs .tabs__tab{
    border-radius:14px;
  }
}

@media screen and (max-width: 768px){
  body.landing-page .container{
    width:100%;
    padding-left:18px;
    padding-right:18px;
  }

  body.landing-page{
    overflow-x:hidden;
    background:
      radial-gradient(circle at 20% 0%, rgba(14,117,131,.12), transparent 34%),
      linear-gradient(180deg, #fbfdfd 0%, #f7faf9 54%, #fff 100%);
  }

  body.landing-page header{
    top:0;
    min-height:68px;
    background:rgba(255,255,255,.72);
    border-bottom:1px solid rgba(14,117,131,.08);
    backdrop-filter:blur(18px);
  }

  body.landing-page.dark header,
  [data-theme="dark"] body.landing-page header{
    background:rgba(14,19,22,.72);
    border-bottom-color:rgba(255,255,255,.08);
  }

  body.landing-page section.intro{
    margin-top:94px;
  }

  body.landing-page section.intro .container{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:24px;
    min-height:auto;
  }

  body.landing-page section.intro .intro__content{
    order:1;
    width:100%;
    max-width:560px;
    align-items:center;
    text-align:center;
  }

  body.landing-page section.intro .picture{
    order:2;
    width:100%;
    max-width:560px;
    margin:0;
    filter:drop-shadow(0 22px 48px rgba(12,38,45,.14));
  }

  body.landing-page section.intro .picture__video-wrapper{
    width:100%;
    aspect-ratio:16 / 10;
    border-radius:24px;
  }

  body.landing-page section.intro .picture__video{
    width:100%;
    height:100%;
    object-fit:cover;
  }

  body.landing-page .picture__play{
    width:64px;
    height:64px;
  }

  body.landing-page .picture__control-cluster{
    right:14px;
    bottom:14px;
    padding:8px;
  }

  body.landing-page .picture__control-btn{
    width:36px;
    height:36px;
  }

  body.landing-page section.intro .intro__content h1{
    max-width:520px;
    font-size:clamp(31px, 9vw, 44px);
    line-height:1.08;
    margin-bottom:16px;
  }

  body.landing-page section.intro .intro__content h1 span,
  body.landing-page section.tarif-preview .tarif-preview__header span{
    border-radius:14px;
    padding:.02em .16em .07em;
  }

  body.landing-page section.intro .intro__content .content__desc{
    max-width:520px;
    font-size:16px;
    line-height:1.55;
    margin-bottom:26px;
  }

  body.landing-page section.intro .intro__content .content__actions{
    width:100%;
    justify-content:center;
    gap:10px;
  }

  body.landing-page section.intro .intro__content .content__actions .actions__btn{
    width:100%;
    max-width:360px;
    min-height:52px;
    padding:14px 18px;
    font-size:16px;
  }

  body.landing-page section.tablet{
    margin-top:74px;
    margin-bottom:82px;
  }

  body.landing-page section.tablet .container{
    display:flex;
    flex-direction:column;
    gap:14px;
  }

  body.landing-page section.tablet .container img{
    order:-1;
    width:min(100%, 560px);
    filter:drop-shadow(0 18px 42px rgba(13,30,32,.12));
  }

  body.landing-page section.tablet .tablet__block{
    width:100%;
    max-width:560px;
    min-height:auto;
    padding:22px 20px;
    border-radius:22px;
  }

  body.landing-page section.favorites{
    margin-bottom:76px;
  }

  body.landing-page section.favorites .container,
  body.landing-page section.favorites .container__grid{
    gap:14px;
  }

  body.landing-page section.favorites .favorite__block{
    min-height:auto;
    padding:22px 20px;
    gap:18px;
    border-radius:22px;
    align-items:flex-start;
  }

  body.landing-page section.favorites .favorite__block .block__content{
    gap:8px;
  }

  body.landing-page section.favorites .favorite__block .block__content .content__title{
    font-size:17px;
    line-height:1.25;
    overflow-wrap:anywhere;
  }

  body.landing-page section.favorites .favorite__block .block__content .content__tagline,
  body.landing-page section.favorites .favorite__block .block__content .content__desc{
    font-size:14px;
    line-height:1.48;
  }

  body.landing-page section.favorites .favorite__block img{
    width:100%;
    max-height:220px;
    object-fit:cover;
    border-radius:18px;
  }

  body.landing-page section.tarif-preview{
    margin-bottom:74px;
  }

  body.landing-page section.tarif-preview .tarif-preview__header{
    font-size:clamp(28px, 8vw, 38px);
    line-height:1.12;
    margin-bottom:26px;
  }

  body.landing-page section.tarif-preview .tarif-preview__grid{
    gap:14px;
  }

  body.landing-page section.tarif-preview .tarif-preview__grid .grid__block{
    padding:22px 18px;
    border-radius:22px;
    gap:16px;
  }

  body.landing-page section.tarif-preview .tarif-preview__grid .grid__block .block__header{
    padding-bottom:16px;
    min-width:0;
  }

  body.landing-page section.tarif-preview .tarif-preview__grid .grid__block .block__header .header__title,
  body.landing-page section.tarif-preview .tarif-preview__grid .grid__block .block__header .header__desc,
  body.landing-page section.tarif-preview .tarif-preview__grid .grid__block .block__info .block__message{
    min-width:0;
    overflow-wrap:anywhere;
  }

  body.landing-page section.tarif-preview .tarif-preview__grid .grid__block .block__tabs{
    grid-template-columns:1fr;
    border-radius:18px;
  }

  body.landing-page section.tarif-preview .tarif-preview__grid .grid__block .block__tabs .tabs__tab{
    min-height:44px;
    padding:12px 14px;
    border-radius:14px;
  }

  body.landing-page section.tarif-preview .tarif-preview__grid .grid__block .block__info{
    gap:10px;
  }

  body.landing-page section.tarif-preview .tarif-preview__grid .grid__block .block__info .info__block{
    font-size:14px;
    line-height:1.45;
  }

  body.landing-page section.tarif-preview .tarif-preview__grid .grid__block .block__footer{
    align-items:stretch;
    gap:16px;
  }

  body.landing-page section.tarif-preview .tarif-preview__grid .grid__block .block__footer .footer__btn{
    width:100%;
    min-height:52px;
    font-size:16px;
  }

  body.landing-page section.tarif-preview .tarif-preview__grid .grid__block .block__footer .footer__price{
    width:100%;
    align-items:flex-start;
    text-align:left;
  }

  body.landing-page .okv-price__wrap{
    align-items:flex-start;
    gap:6px;
  }

  body.landing-page .okv-price__pair b{
    font-size:30px;
    line-height:1.05;
  }

  body.landing-page .okv-price__unit,
  body.landing-page .okv-price__note{
    font-size:13px;
    line-height:1.35;
  }

  body.landing-page .why{
    padding:0 0 58px;
  }

  body.landing-page .why__card{
    padding:24px 20px;
    border-radius:22px;
  }

  body.landing-page .why__title{
    font-size:22px;
    line-height:1.25;
  }

  body.landing-page .why__text{
    font-size:15px;
    line-height:1.55;
  }

  body.landing-page footer{
    margin-bottom:42px;
  }

  body.landing-page footer .container{
    flex-direction:column;
    align-items:center;
    text-align:center;
    gap:18px;
  }

  body.landing-page footer .footer__copy{
    align-items:center;
    font-size:15px;
  }

  body.landing-page footer .footer__links{
    gap:12px;
  }

  body.landing-page footer .footer__links a{
    font-size:15px;
  }
}

@media screen and (max-width: 1120px){
  body.landing-page{
    overflow-x:hidden;
  }

  body.landing-page section.favorites .container,
  body.landing-page section.favorites .container__grid{
    grid-template-columns:1fr !important;
  }

  body.landing-page section.favorites .favorite__block{
    width:100%;
    min-width:0;
    min-height:auto;
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-start;
    gap:18px;
    overflow:hidden;
  }

  body.landing-page section.favorites .favorite__block .block__content{
    width:100%;
    min-width:0;
  }

  body.landing-page section.favorites .favorite__block .block__content .content__title,
  body.landing-page section.favorites .favorite__block .block__content .content__tagline,
  body.landing-page section.favorites .favorite__block .block__content .content__desc{
    overflow-wrap:anywhere;
  }

  body.landing-page section.favorites .favorite__block > img,
  body.landing-page section.favorites .favorite__block img{
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    max-height:320px;
    object-fit:contain;
    flex:0 0 auto;
  }

  body.landing-page section.tarif-preview .tarif-preview__grid{
    grid-template-columns:1fr;
  }

  body.landing-page section.tarif-preview .tarif-preview__grid .grid__block{
    min-width:0;
    overflow:hidden;
  }

  body.landing-page section.tarif-preview .tarif-preview__grid .grid__block .block__footer{
    flex-direction:column !important;
    flex-wrap:nowrap !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    gap:16px !important;
  }

  body.landing-page section.tarif-preview .tarif-preview__grid .grid__block .block__footer .footer__btn{
    width:100%;
    margin:0 !important;
  }

  body.landing-page section.tarif-preview .tarif-preview__grid .grid__block .block__footer .footer__price{
    width:100%;
    max-width:100%;
    padding-left:0;
    text-align:left;
    align-items:flex-start;
    justify-content:flex-start;
    white-space:normal;
    min-width:0;
  }

  body.landing-page .footer__price[data-plan-price],
  body.landing-page .footer__price[data-plan-price] [data-price-for]{
    width:100%;
    max-width:100%;
    min-width:0;
    white-space:normal;
  }

  body.landing-page .footer__price[data-plan-price] .okv-price__wrap{
    width:100%;
    max-width:100%;
    min-width:0;
    flex-wrap:wrap !important;
    justify-content:flex-start;
    gap:8px 16px;
  }

  body.landing-page .footer__price[data-plan-price] .okv-price__pair{
    min-width:0;
    white-space:nowrap;
  }

  body.landing-page .footer__price[data-plan-price] .okv-price__pair b{
    font-size:28px !important;
    line-height:1.05;
  }

  body.landing-page .footer__price[data-plan-price] .okv-price__wrap .okv-price__pair:nth-child(2) b{
    font-size:26px !important;
  }

  body.landing-page .footer__price[data-plan-price] .okv-price__note{
    max-width:100%;
    white-space:normal;
  }
}

@media screen and (max-width: 768px){
  body.landing-page section.favorites .favorite__block > img,
  body.landing-page section.favorites .favorite__block img{
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    max-height:none;
    object-fit:contain !important;
  }
}

@media screen and (max-width: 420px){
  body.landing-page .container{
    padding-left:14px;
    padding-right:14px;
  }

  body.landing-page section.intro{
    margin-top:82px;
  }

  body.landing-page section.intro .intro__content h1{
    font-size:30px;
  }

  body.landing-page section.intro .intro__content .content__desc{
    font-size:15px;
  }

  body.landing-page section.intro .picture__video-wrapper{
    aspect-ratio:4 / 3;
  }

  body.landing-page section.tablet .tablet__block,
  body.landing-page section.favorites .favorite__block,
  body.landing-page section.tarif-preview .tarif-preview__grid .grid__block,
  body.landing-page .why__card{
    border-radius:18px;
  }

  body.landing-page section.tarif-preview .tarif-preview__header{
    font-size:27px;
  }
}

/* Hide legacy scrollbar arrow buttons in every modal without removing scroll. */
.modal::-webkit-scrollbar-button,
.modal *::-webkit-scrollbar-button,
.modal__content::-webkit-scrollbar-button,
.modal__content *::-webkit-scrollbar-button {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
}
.modal,
.modal__content,
.modal * {
  scrollbar-width: thin;
}

html body[class] {
  --okv-pagination-accent: #0e7583;
  --okv-pagination-accent-soft: rgba(14,117,131,.09);
  --okv-pagination-border: rgba(14,117,131,.18);
  --okv-pagination-panel: #f7fbfb;
  --okv-pagination-text: #607174;
}

html[data-theme="dark"] body[class],
body.dark[class] {
  --okv-pagination-accent: #54c3d0;
  --okv-pagination-accent-soft: rgba(84,195,208,.14);
  --okv-pagination-border: rgba(154,226,235,.20);
  --okv-pagination-panel: #142124;
  --okv-pagination-text: #b8c5c7;
}

html body[class] :is(.dt-paging.dt-paging.dt-paging, .dt-paging.dt-paging.dt-paging nav, .laboratory-templates__pages.laboratory-templates__pages.laboratory-templates__pages, .analysis-pagination.analysis-pagination.analysis-pagination, .promo-paging.promo-paging.promo-paging, .promo-paging.promo-paging.promo-paging nav, .subs-pages.subs-pages.subs-pages, .okv-pagination.okv-pagination.okv-pagination) {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 6px !important;
  flex-wrap: nowrap !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

html body[class] :is(.dt-paging.dt-paging.dt-paging, .laboratory-templates__pages.laboratory-templates__pages.laboratory-templates__pages, .analysis-pagination.analysis-pagination.analysis-pagination, .promo-paging.promo-paging.promo-paging, .subs-pages.subs-pages.subs-pages, .okv-pagination.okv-pagination.okv-pagination) :is(button, a, .dt-paging-button, .pages__btn, .analysis-page-btn, .okv-pagination__button),
html body[class] .subs-pages > a {
  width: 38px !important;
  min-width: 38px !important;
  height: 38px !important;
  min-height: 38px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid var(--okv-pagination-border) !important;
  border-radius: 10px !important;
  background: var(--okv-pagination-panel) !important;
  color: var(--okv-pagination-text) !important;
  box-shadow: none !important;
  font: inherit !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  text-align: center !important;
  text-decoration: none !important;
  cursor: pointer !important;
  opacity: 1 !important;
  transition: border-color .16s ease, background-color .16s ease, color .16s ease, transform .16s ease !important;
}

html body[class] :is(.dt-paging.dt-paging.dt-paging, .laboratory-templates__pages.laboratory-templates__pages.laboratory-templates__pages, .analysis-pagination.analysis-pagination.analysis-pagination, .promo-paging.promo-paging.promo-paging, .subs-pages.subs-pages.subs-pages, .okv-pagination.okv-pagination.okv-pagination) :is(button.current, .dt-paging-button.current, .pages__btn.active, .analysis-page-btn.is-current, .okv-pagination__button.is-current, [aria-current="page"]),
html body[class] .subs-pages > a.active {
  border-color: var(--okv-pagination-accent) !important;
  background: var(--okv-pagination-accent) !important;
  color: #fff !important;
}

@media (hover: hover) and (pointer: fine) {
  html body[class] :is(.dt-paging.dt-paging.dt-paging, .laboratory-templates__pages.laboratory-templates__pages.laboratory-templates__pages, .analysis-pagination.analysis-pagination.analysis-pagination, .promo-paging.promo-paging.promo-paging, .subs-pages.subs-pages.subs-pages, .okv-pagination.okv-pagination.okv-pagination) :is(button, a, .dt-paging-button, .pages__btn, .analysis-page-btn, .okv-pagination__button):not(.current):not(.active):not(.is-current):not([aria-current="page"]):not(:disabled):hover,
  html body[class] .subs-pages > a:not(.active):hover {
    border-color: var(--okv-pagination-accent) !important;
    background: var(--okv-pagination-accent-soft) !important;
    color: var(--okv-pagination-accent) !important;
    transform: translateY(-1px) !important;
  }
}

html body[class] .dt-paging :is(button.disabled, .dt-paging-button.disabled, button:disabled, .dt-paging-button[aria-disabled="true"], span.ellipsis, .dt-paging-button.ellipsis) {
  display: none !important;
}

html body[class] :is(.laboratory-templates__pages.laboratory-templates__pages.laboratory-templates__pages, .analysis-pagination.analysis-pagination.analysis-pagination, .promo-paging.promo-paging.promo-paging, .okv-pagination.okv-pagination.okv-pagination):empty {
  display: none !important;
}

@media (max-width: 720px) {
  html body[class] :is(.dt-paging.dt-paging.dt-paging, .dt-paging.dt-paging.dt-paging nav, .laboratory-templates__pages.laboratory-templates__pages.laboratory-templates__pages, .analysis-pagination.analysis-pagination.analysis-pagination, .promo-paging.promo-paging.promo-paging, .promo-paging.promo-paging.promo-paging nav, .subs-pages.subs-pages.subs-pages, .okv-pagination.okv-pagination.okv-pagination) {
    justify-content: flex-start !important;
    flex-wrap: wrap !important;
  }
}

body:not(.landing-page) section.profile > .container > :not(.profile__header){
  animation:none !important;
  transform:none !important;
  filter:none !important;
  will-change:auto !important;
  view-transition-name:none !important;
}

html.okv-page-leaving body:not(.landing-page) section.profile > .container > :not(.profile__header){
  opacity:1 !important;
  transform:none !important;
  transition:none !important;
}

body.okv-profile-shell:not(.landing-page) > header.fixed,
body:not(.landing-page):has(section.profile) > header.fixed{
  background:#fff !important;
  -webkit-backdrop-filter:none !important;
  backdrop-filter:none !important;
}

body.dark.okv-profile-shell:not(.landing-page) > header.fixed,
[data-theme="dark"] body.okv-profile-shell:not(.landing-page) > header.fixed,
body.dark:not(.landing-page):has(section.profile) > header.fixed,
[data-theme="dark"] body:not(.landing-page):has(section.profile) > header.fixed{
  background:#0d1415 !important;
  -webkit-backdrop-filter:none !important;
  backdrop-filter:none !important;
}

html[data-theme="dark"] {
  background-color: #0d1415;
}

html:has(body.landing-page.modal-open) {
  scroll-behavior: auto !important;
  overscroll-behavior: none;
}
body.landing-page.modal-open {
  overflow: hidden;
  padding-right: 0 !important;
}
body:not(.landing-page) .profile__header a.header__tab .okv-account-notification,
body:not(.landing-page) .mobile__menu a.links__link .okv-account-notification {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  min-width: 18px;
  height: 18px;
  margin-left: 6px;
  padding: 0 5px;
  border-radius: 99px;
  background: #c62525;
  color: #fff !important;
  font-size: 11px;
  line-height: 18px;
  font-weight: 700;
  vertical-align: middle;
}

body.okv-profile-shell .okv-subscription-toast {
  position: fixed;
  z-index: 1800;
  top: 112px;
  right: 24px;
  width: min(390px, calc(100vw - 32px));
  box-sizing: border-box;
  padding: 21px 22px 20px;
  border: 1px solid rgba(14, 117, 131, .22);
  border-left: 4px solid #0e7583;
  border-radius: 16px;
  background: rgba(255, 255, 255, .97);
  color: #142b2f;
  box-shadow: 0 20px 54px rgba(11, 37, 41, .16);
  opacity: 0;
  transform: translateX(32px);
  transition: transform .35s cubic-bezier(.2, .8, .2, 1), opacity .35s ease;
  pointer-events: none;
}
body.okv-profile-shell .okv-subscription-toast.is-visible {
  opacity: 1;
  transform: translateX(0);
  pointer-events: auto;
}
body.okv-profile-shell .okv-subscription-toast__title {
  margin: 0 30px 11px 0;
  color: inherit;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.35;
}
body.okv-profile-shell .okv-subscription-toast__item {
  margin: 0 0 9px;
  color: inherit;
  font-size: 13px;
  line-height: 1.55;
}
body.okv-profile-shell .okv-subscription-toast__item strong { font-weight: 700; }
body.okv-profile-shell .okv-subscription-toast__close {
  position: absolute;
  top: 13px;
  right: 13px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #556f73;
  font: inherit;
  font-size: 23px;
  line-height: 1;
  cursor: pointer;
}
body.okv-profile-shell .okv-subscription-toast__close:hover,
body.okv-profile-shell .okv-subscription-toast__close:focus-visible {
  background: rgba(14, 117, 131, .1);
  color: #0e7583;
  outline-offset: 2px;
}
body.okv-profile-shell .okv-subscription-toast__link {
  display: inline-flex;
  align-items: center;
  min-height: 35px;
  margin-top: 4px;
  padding: 7px 13px;
  border-radius: 9px;
  background: #0e7583;
  color: #fff;
  font-size: 12px;
  font-weight: 650;
  text-decoration: none;
}
body.okv-profile-shell .okv-subscription-toast__link:hover,
body.okv-profile-shell .okv-subscription-toast__link:focus-visible {
  background: #0b5f6a;
  color: #fff;
}
body.dark.okv-profile-shell .okv-subscription-toast,
[data-theme="dark"] body.okv-profile-shell .okv-subscription-toast {
  background: rgba(16, 38, 43, .97);
  border-color: rgba(111, 180, 188, .32);
  border-left-color: #4bb4bf;
  color: #f2f8f8;
  box-shadow: 0 22px 58px rgba(0, 0, 0, .4);
}
body.dark.okv-profile-shell .okv-subscription-toast__close,
[data-theme="dark"] body.okv-profile-shell .okv-subscription-toast__close { color: #bfd5d8; }
@media (max-width: 600px) {
  body.okv-profile-shell .okv-subscription-toast { top: 78px; right: 16px; padding: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  body.okv-profile-shell .okv-subscription-toast { transition: none; transform: none; }
}

header .header__actions .actions__language .language__dropdown {
  background: #fff !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

body.dark header .header__actions .actions__language .language__dropdown,
[data-theme="dark"] header .header__actions .actions__language .language__dropdown {
  background: #172427 !important;
}

body.dark header .header__actions .actions__language .language__dropdown .dropdown__btn,
[data-theme="dark"] header .header__actions .actions__language .language__dropdown .dropdown__btn {
  color: #eaf3f4;
}

body.dark header .header__actions .actions__language .language__dropdown .dropdown__btn:hover,
body.dark header .header__actions .actions__language .language__dropdown .dropdown__btn.active,
[data-theme="dark"] header .header__actions .actions__language .language__dropdown .dropdown__btn:hover,
[data-theme="dark"] header .header__actions .actions__language .language__dropdown .dropdown__btn.active {
  color: #67c3ce;
}

body:not(.landing-page) section.profile .profile__header a.header__tab:focus-visible {
  outline: none !important;
  box-shadow: inset 0 0 0 2px #43aeb9 !important;
  border-radius: 10px;
}


table.dataTable thead th .okv-sort-direction {
    display: inline-block;
    margin-left: 5px;
    color: rgba(14, 117, 131, 0.56);
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    vertical-align: middle;
    pointer-events: none;
    white-space: nowrap;
}
table.dataTable thead th .dt-column-title .okv-sort-direction {
    margin-left: 0;
}
table.dataTable thead th .okv-sort-direction.is-active {
    color: #0e7583;
}
html[data-theme="dark"] table.dataTable thead th .okv-sort-direction {
    color: rgba(126, 199, 209, 0.65);
}
html[data-theme="dark"] table.dataTable thead th .okv-sort-direction.is-active {
    color: #5cc1cf;
}

:root {
    --okv-sort-icon-none: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M8%202.5v11%20M4.9%205.6%208%202.5l3.1%203.1%20M4.9%2010.4%208%2013.5l3.1-3.1%22%2F%3E%3C%2Fsvg%3E");
    --okv-sort-icon-asc: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M8%2013.5v-11%20M4.9%205.6%208%202.5l3.1%203.1%22%2F%3E%3C%2Fsvg%3E");
    --okv-sort-icon-desc: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M8%202.5v11%20M4.9%2010.4%208%2013.5l3.1-3.1%22%2F%3E%3C%2Fsvg%3E");
}

html body table.dataTable thead th .okv-sort-direction,
html body #myTable thead th .projects-update-sort-direction,
html body .analysis-table thead th .analysis-table__sort {
    display: inline-block !important;
    box-sizing: border-box;
    width: 16px !important;
    min-width: 16px;
    height: 16px !important;
    flex: 0 0 16px;
    margin-left: 6px !important;
    padding: 0 !important;
    vertical-align: middle !important;
    line-height: 0 !important;
    font-size: 0 !important;
    font-weight: normal !important;
    letter-spacing: 0 !important;
    white-space: nowrap;
    background-color: currentColor;
    -webkit-mask-image: var(--okv-sort-icon-none);
    mask-image: var(--okv-sort-icon-none);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: 16px 16px;
    mask-size: 16px 16px;
    pointer-events: none;
}

html body table.dataTable thead th .okv-sort-direction[data-sort-direction="asc"],
html body #myTable thead th .projects-update-sort-direction[data-sort-direction="asc"],
html body .analysis-table thead th .analysis-table__sort[data-sort-direction="asc"] {
    -webkit-mask-image: var(--okv-sort-icon-asc);
    mask-image: var(--okv-sort-icon-asc);
}

html body table.dataTable thead th .okv-sort-direction[data-sort-direction="desc"],
html body #myTable thead th .projects-update-sort-direction[data-sort-direction="desc"],
html body .analysis-table thead th .analysis-table__sort[data-sort-direction="desc"] {
    -webkit-mask-image: var(--okv-sort-icon-desc);
    mask-image: var(--okv-sort-icon-desc);
}

html body table.dataTable thead th .dt-column-title .okv-sort-direction,
html body .orders-page #myTable thead th .dt-column-title .okv-sort-direction {
    margin-left: 4px !important;
}

body.okv-profile-shell .projects-page #myTable thead th .dt-sort-diamond,
body.okv-profile-shell .patients-page #myTable thead th .dt-sort-diamond {
    display: none !important;
}


/* OKVLAB GLOBAL SELECT ARROWS 2026-10-14
   Visual-only enhancement. Never override Select2's popup height/direction,
   scrolling, click handling, or the calendar's own select/dropdown behavior. */
html body .select2-container .select2-selection--single .select2-selection__arrow b {
    /* A stable chevron is required for a smooth rotation in both directions.
       Select2's native triangles swap border sides when the list opens. */
    display: none !important;
}
html body .select2-container .select2-selection--single .select2-selection__arrow::after {
    content: "";
    display: block;
    box-sizing: border-box;
    position: absolute;
    left: 50%;
    top: 50%;
    width: 9px;
    height: 9px;
    border: 0;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    border-radius: 0 0 1px 0;
    color: #30484e;
    pointer-events: none;
    transform: translate(-50%, -67%) rotate(45deg);
    transition: transform 180ms cubic-bezier(.2,.75,.3,1), color 180ms ease;
}
html body .select2-container.select2-container--open .select2-selection--single .select2-selection__arrow::after {
    transform: translate(-50%, -34%) rotate(225deg);
    color: #0e7583;
}
html[data-theme="dark"] body .select2-container .select2-selection--single .select2-selection__arrow::after,
html body.dark .select2-container .select2-selection--single .select2-selection__arrow::after {
    color: #d6e4e7;
}
html[data-theme="dark"] body .select2-container.select2-container--open .select2-selection--single .select2-selection__arrow::after,
html body.dark .select2-container.select2-container--open .select2-selection--single .select2-selection__arrow::after {
    color: #58c5d0;
}
/* The calendar Select2 controls have small arrows and a custom color scheme. */
html body #ui-datepicker-div .select2-container .select2-selection--single .select2-selection__arrow::after {
    width: 7px;
    height: 7px;
    border-width: 1.6px;
}
/* Native <select> controls must remain native. Their overlay chevron is
   decorative and never intercepts focus, keyboard events or pointer clicks. */
html body select.okv-native-select-arrow-ready {
    -webkit-appearance: none !important;
    appearance: none !important;
    background-image: none !important;
}
html body .okv-native-select-chevron {
    position: absolute;
    width: 9px;
    height: 9px;
    box-sizing: border-box;
    border: 0;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    border-radius: 0 0 1px 0;
    color: #30484e;
    pointer-events: none !important;
    z-index: 3;
    transform: translate(-50%, -67%) rotate(45deg);
    transition: transform 180ms cubic-bezier(.2,.75,.3,1), color 180ms ease;
}
html body .okv-native-select-chevron.is-open {
    transform: translate(-50%, -34%) rotate(225deg);
    color: #0e7583;
}
html[data-theme="dark"] body .okv-native-select-chevron,
html body.dark .okv-native-select-chevron { color: #d6e4e7; }
html[data-theme="dark"] body .okv-native-select-chevron.is-open,
html body.dark .okv-native-select-chevron.is-open { color: #58c5d0; }
/* This native field already draws an arrow using its wrapper pseudo-element. */
html body .formula-select-wrap::after {
    transition: transform 180ms cubic-bezier(.2,.75,.3,1), border-color 180ms ease;
}
html body .formula-select-wrap.okv-native-select-is-open::after {
    transform: translateY(-28%) rotate(225deg);
    border-color: #0e7583;
}
@media (prefers-reduced-motion: reduce) {
    html body .select2-container .select2-selection--single .select2-selection__arrow::after,
    html body .okv-native-select-chevron,
    html body .formula-select-wrap::after {
        transition: none !important;
        will-change: auto;
    }
}

/* OKVLAB PROJECT: native selects styled as site dropdowns without scrollbars. */
html body.okv-project-detail-shell #lens-form-root select[data-okv-styled-select] {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  min-width: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
  padding: 0 !important;
  margin: 0 !important;
  clip-path: inset(50%);
}
html body.okv-project-detail-shell .okv-project-select {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  min-width: 0;
  min-height: 54px;
  flex: 1 1 auto;
  padding: 10px 18px;
  border: 1px solid #b8d8df;
  border-radius: 11px;
  background: #f5f9fa;
  color: #0d2025;
  font: inherit;
  font-size: 16px;
  font-weight: 400;
  text-align: left;
  cursor: pointer;
  transition: border-color .18s, background-color .18s, box-shadow .18s;
}
html body.okv-project-detail-shell .okv-project-select:hover,
html body.okv-project-detail-shell .okv-project-select.is-open {
  border-color: #0e7583;
  background: #f7fbfc;
}
html body.okv-project-detail-shell .okv-project-select:focus-visible {
  outline: 2px solid #0e7583;
  outline-offset: 2px;
}
html body.okv-project-detail-shell .okv-project-select:disabled {cursor: not-allowed; opacity: .6;}
html body.okv-project-detail-shell #lens-form-root[data-okv-lens-can-edit="0"] .okv-project-select,
html body.okv-project-detail-shell .okv-project-select:disabled {
  background: #eef2f6 !important;
  color: #6a7983 !important;
  border-color: #cfd9dc !important;
  cursor: not-allowed;
}
html body.okv-project-detail-shell .okv-project-select__text {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
html body.okv-project-detail-shell .okv-project-select__chevron {
  width: 9px;
  height: 9px;
  flex: 0 0 9px;
  margin-right: 3px;
  margin-top: -4px;
  box-sizing: border-box;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  border-radius: 0 0 1px 0;
  color: #30484e;
  transform: rotate(45deg);
  transition: transform 180ms cubic-bezier(.2,.75,.3,1), color 180ms;
}
html body.okv-project-detail-shell .okv-project-select.is-open .okv-project-select__chevron {
  transform: translateY(5px) rotate(225deg);
  color: #0e7583;
}
html body .okv-project-select__menu {
  position: fixed;
  box-sizing: border-box;
  z-index: 2147483000;
  padding: 4px 0;
  border: 1px solid #b8d8df;
  border-radius: 12px;
  box-shadow: 0 16px 32px rgba(14, 62, 73, .16);
  background: #fff;
  color: #0d2025;
  overflow: visible !important;
  max-height: none !important;
}
html body .okv-project-select__menu[hidden] { display: none !important; }
html body .okv-project-select__options {
  overflow: visible !important;
  max-height: none !important;
  scrollbar-width: none;
}
html body .okv-project-select__option {
  box-sizing: border-box;
  display: block;
  width: 100%;
  height: 40px;
  padding: 8px 14px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  font-size: 15px;
  text-align: left;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  cursor: pointer;
}
html body .okv-project-select__option:hover,
html body .okv-project-select__option:focus-visible {
  background: #e4f3f5;
  color: #0e7583;
  outline: none;
}
html body .okv-project-select__option.is-selected {
  background: #d9f0f2;
  color: #0e7583;
  font-weight: 600;
}
html body .okv-project-select__option:disabled {opacity: .55;cursor: default;}
html body .okv-project-select__pager,
html body .okv-select2-page-nav {
  display: flex;
  height: 40px;
  align-items: center;
  justify-content: space-between;
  border-top: 1px solid rgba(14,117,131,.15);
  padding: 0 8px;
  font-family: inherit;
  font-size: 13px;
  line-height: 1.2;
  color: #56777d;
}
html body .okv-project-select__pager {height: 42px;}
html body .okv-project-select__pager button,
html body .okv-select2-page-nav button {
  border: none;
  background: transparent;
  color: #0e7583;
  padding: 4px 10px;
  font-size: 23px;
  line-height: 1;
  cursor: pointer;
}
html body .okv-project-select__pager button:disabled,
html body .okv-select2-page-nav button:disabled {opacity: .3;cursor: default;}
html[data-theme="dark"] body .okv-project-select,
html body.dark .okv-project-select {background: #172729 !important; color: #ecf7f8 !important; border-color: #385459 !important;}
html[data-theme="dark"] body .okv-project-select__menu,
html body.dark .okv-project-select__menu {background:#142528;color:#e6f4f5;border-color:#385459;}
html[data-theme="dark"] body .okv-project-select__option:hover,
html[data-theme="dark"] body .okv-project-select__option:focus-visible,
html body.dark .okv-project-select__option:hover,
html body.dark .okv-project-select__option:focus-visible {background:#244a50;color:#fff;}
html[data-theme="dark"] body .okv-project-select__option.is-selected,
html body.dark .okv-project-select__option.is-selected {background:#1a555d;color:#fff;}

/* Keep the lens zone selector at its original intended width after hiding
   the native element (which no longer participates in flex sizing). */
html body.okv-project-detail-shell #lens-form-root .zone-card__select {
  width: 180px;
  flex: 0 0 180px;
}
@media (max-width: 480px) {
  html body.okv-project-detail-shell #lens-form-root .zone-card__select {
    width: min(180px, 46vw);
    flex-basis: min(180px, 46vw);
  }
}

/* Every Select2 list uses fitting/pagination rather than a scrollbar.
   Grid menus from other custom controls are left untouched. */
html body .select2-dropdown.okv-select2-scroll-free .select2-results,
html body .select2-dropdown.okv-select2-scroll-free .select2-results__options {
  max-height: none !important;
  height: auto !important;
  overflow: visible !important;
  scrollbar-width: none !important;
}
html body .select2-dropdown.okv-select2-scroll-free .select2-results__option:not(.select2-results__option--group) {
  box-sizing: border-box;
  height: 38px;
  line-height: 20px;
  padding: 8px 12px !important;
  margin: 0 !important;
  border-radius: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
html body .select2-dropdown.okv-select2-scroll-free .okv-select2-paged-out {display:none !important;}
html body .select2-dropdown.okv-select2-scroll-free .okv-select2-page-nav {
  box-sizing: border-box;
  height: 40px;
  background: inherit;
}
@media (prefers-reduced-motion: reduce) {
  html body.okv-project-detail-shell .okv-project-select__chevron {transition:none !important;}
}
