*, :before, :after {
  box-sizing: border-box;
}

html {
  background-color: #52bdec;
  background-image: radial-gradient(circle at 128% 52%, #54beec 0%, #52bdec 48%, #51afdb 100%);
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  line-height: 1.5;
}

body {
  color: #1f2937;
  background: #fff;
  margin: 0;
}

h1, h2, h3, h4, h5, h6, p {
  margin: 0;
}

a {
  color: inherit;
  text-decoration: none;
}

img, svg, video, canvas, iframe {
  max-width: 100%;
  display: block;
}

ul, ol {
  margin: 0;
  padding: 0;
}

button, input, select, textarea {
  font: inherit;
}

.dots-container {
  justify-content: center;
  align-items: center;
  width: 100%;
  min-height: 3rem;
  display: flex;
}

.dot {
  background-color: #52bdec;
  border-radius: 5px;
  width: 10px;
  height: 10px;
  margin-right: 5px;
  animation: 1.5s ease-in-out infinite pulse;
}

.dot:last-child {
  margin-right: 0;
}

.dot:first-child {
  animation-delay: -.3s;
}

.dot:nth-child(2) {
  animation-delay: -.1s;
}

.dot:nth-child(3) {
  animation-delay: .1s;
}

@keyframes pulse {
  0% {
    background-color: #52bdec;
    transform: scale(.8);
    box-shadow: 0 0 #52bdecb3;
  }

  50% {
    background-color: #51b3df;
    transform: scale(1.2);
    box-shadow: 0 0 0 5px #52bdec00;
  }

  100% {
    background-color: #52bdec;
    transform: scale(.8);
    box-shadow: 0 0 #52bdecb3;
  }
}

.nav-toggle {
  opacity: 0;
  pointer-events: none;
  position: absolute;
}

.nav-toggle-btn {
  cursor: pointer;
}

.nav-overlay {
  display: none;
}

.nav-toggle:checked ~ .nav-overlay {
  display: flex;
}

@media (width >= 1024px) {
  .nav-overlay, .nav-toggle-btn {
    display: none !important;
  }
}

.admin-check, .my-kring-form__checkbox {
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  position: relative;
}

.admin-checkbox, .my-kring-form__checkbox-input {
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  position: absolute;
  inset-inline-start: 0;
  overflow: hidden;
}

.admin-check > span, .my-kring-form__checkbox-label {
  align-items: center;
  gap: .55rem;
  display: inline-flex;
}

.admin-check > span:before, .my-kring-form__checkbox-label:before {
  content: "";
  color: #7f8b99;
  justify-content: center;
  align-items: center;
  width: 1.1rem;
  font-family: "Font Awesome 6 Free";
  font-size: 1.05rem;
  font-weight: 400;
  line-height: 1;
  transition: color .14s;
  display: inline-flex;
}

.admin-check:hover > span:before, .my-kring-form__checkbox:hover .my-kring-form__checkbox-label:before {
  color: var(--brand);
}

.admin-checkbox:checked + span:before, .my-kring-form__checkbox-input:checked + .my-kring-form__checkbox-label:before {
  content: "";
  color: var(--brand-strong);
  font-weight: 900;
}

.admin-checkbox:focus-visible + span:before, .my-kring-form__checkbox-input:focus-visible + .my-kring-form__checkbox-label:before {
  outline-offset: 3px;
  border-radius: 4px;
  outline: 2px solid #4fa3d159;
}

.app-shell {
  background: #fff;
}

.site-container {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1rem;
  padding-right: 1rem;
}

@media (width >= 640px) {
  .site-container {
    max-width: 640px;
  }
}

@media (width >= 768px) {
  .site-container {
    max-width: 768px;
  }
}

@media (width >= 1024px) {
  .site-container {
    max-width: 1024px;
  }
}

@media (width >= 1280px) {
  .site-container {
    max-width: 1280px;
  }
}

@media (width >= 1536px) {
  .site-container {
    max-width: 1536px;
  }
}

.page-shell {
  background: #f8fafc;
  padding: 2.5rem 1.5rem;
}

.page-container {
  width: 100%;
  max-width: 72rem;
  margin-left: auto;
  margin-right: auto;
}

.page-container--narrow {
  max-width: 56rem;
}

.page-card {
  background: #fff;
  border-radius: .5rem;
  padding: 1.5rem;
  box-shadow: 0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;
}

.page-title {
  color: #1f2937;
  margin-bottom: 1.5rem;
  font-size: 1.875rem;
  font-weight: 700;
}

.page-title--center {
  text-align: center;
}

.page-title__text {
  letter-spacing: .01em;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
}

.page-subtitle {
  color: #374151;
  margin-bottom: 1.5rem;
  font-size: 1.5rem;
  font-weight: 600;
}

.page-subsection-title {
  color: #374151;
  margin: 1.5rem 0 1rem;
  font-size: 1.25rem;
  font-weight: 600;
}

.page-text {
  color: #4b5563;
  margin-bottom: 1.5rem;
  line-height: 1.625;
}

.page-text--lead {
  font-weight: 600;
}

.page-text--emphasis {
  font-size: 1.125rem;
  font-weight: 600;
}

.page-text--highlight {
  color: #374151;
  font-size: 1.25rem;
}

.page-image {
  object-fit: cover;
  border-radius: .5rem;
  width: 100%;
  box-shadow: 0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;
}

.ct-docs-disable-nav-fixed nav {
  z-index: 50;
  position: relative;
}

.button {
  color: #fff;
  background: var(--button-bg, #51afdb);
  border: 1px solid #ffffff3d;
  border-radius: 75px;
  padding: .5rem 1.5rem;
  font-weight: 700;
  transition: background-color .14s, box-shadow .14s, transform .14s;
  display: inline-block;
  box-shadow: 0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f, inset 0 0 0 1px #ffffff14;
}

.button:hover {
  background: var(--button-bg-hover, #50aad4);
  box-shadow: 0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f, inset 0 0 0 1px #ffffff2e;
}

.button:active {
  background: var(--button-bg-active, #4ca4ce);
  transform: translateY(1px);
}

.button:focus-visible {
  outline-offset: 1px;
  outline: 2px solid #ffffffbf;
}

.button:disabled {
  opacity: .6;
  cursor: not-allowed;
  transform: none;
  box-shadow: inset 0 0 0 1px #ffffff14;
}

.button--primary, .button--success {
  --button-bg: #51afdb;
  --button-bg-hover: #50aad4;
  --button-bg-active: #4ca4ce;
}

.button--danger {
  --button-bg: #9b4a8d;
  --button-bg-hover: #934a88;
  --button-bg-active: #8a4984;
}

.navbar {
  width: 100%;
  min-height: 60px;
}

.navbar__bar {
  z-index: 50;
  background-color: #52bdec;
  background-image: radial-gradient(circle at 128% 52%, #54beec 0%, #52bdec 48%, #51afdb 100%);
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: .75rem .5rem;
  display: flex;
  position: relative;
  box-shadow: 0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;
}

@media (width >= 1024px) {
  .navbar__bar {
    flex-wrap: nowrap;
    padding-top: .5rem;
    padding-bottom: .5rem;
  }
}

.navbar__container {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding-left: 0;
  padding-right: 0;
  display: flex;
}

@media (width >= 1024px) {
  .navbar__container {
    flex-wrap: nowrap;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    column-gap: 1rem;
    padding-left: 1rem;
    padding-right: 1rem;
    display: grid;
  }
}

.navbar__brand {
  text-transform: uppercase;
  color: #fff;
  white-space: nowrap;
  align-items: center;
  margin-inline-end: 1rem;
  padding: .5rem 0;
  font-size: .875rem;
  font-weight: 700;
  line-height: 1.25;
  display: inline-flex;
}

@media (width >= 1024px) {
  .navbar__brand {
    margin-inline-end: 0;
    padding: .25rem 0;
  }
}

.navbar__logo {
  height: 60px;
  min-height: 50px;
  max-height: 90px;
  margin-inline-end: .5rem;
}

.navbar__toggle {
  opacity: 0;
  pointer-events: none;
  position: absolute;
}

.navbar__toggle-btn {
  cursor: pointer;
  color: #cbd5e1;
  background: none;
  border: 1px solid #94a3b8;
  border-radius: .25rem;
  margin-inline-start: auto;
  padding: .25rem .75rem;
  font-size: 1.25rem;
  line-height: 1;
  display: block;
}

@media (width >= 1024px) {
  .navbar__toggle-btn {
    display: none;
  }
}

.navbar__overlay {
  z-index: 50;
  opacity: 0;
  pointer-events: none;
  background: #52bdecf2;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  transition: opacity .2s ease-in-out;
  display: flex;
  position: fixed;
  inset: 0;
}

.navbar__toggle:checked ~ .navbar__overlay {
  opacity: 1;
  pointer-events: auto;
}

.navbar__overlay-link {
  color: #fff;
  padding: .5rem 0;
  font-size: 1.25rem;
  font-weight: 700;
}

.navbar__overlay-link:hover {
  opacity: .75;
}

.navbar__overlay-close {
  color: #fff;
  cursor: pointer;
  font-size: 1.875rem;
  position: absolute;
  inset-block-start: 1rem;
  inset-inline-end: 1rem;
}

.navbar__links {
  flex-grow: 1;
  align-items: center;
  width: auto;
  display: none;
}

@media (width >= 1024px) {
  .navbar__links {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    column-gap: .75rem;
    width: 100%;
    min-width: 0;
    display: grid;
  }
}

.navbar__list {
  flex-wrap: wrap;
  align-items: center;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}

@media (width >= 1024px) {
  .navbar__list {
    flex-wrap: wrap;
    place-content: center;
    gap: .4rem .1rem;
    width: 100%;
    min-width: 0;
  }
}

.navbar__actions {
  -webkit-backdrop-filter: blur(12px) saturate(130%);
  background-color: #ffffff29;
  border: 1px solid #ffffff57;
  border-radius: 14px;
  flex-direction: column;
  align-items: stretch;
  gap: .45rem;
  min-width: 14.25rem;
  margin-inline-start: auto;
  padding: .45rem;
  display: flex;
  box-shadow: 0 8px 20px #0f172a2e;
}

@media (width >= 1024px) {
  .navbar__actions {
    flex: none;
    margin-inline-start: 0;
  }
}

@supports not (backdrop-filter: blur(1px)) {
  .navbar__actions {
    background-color: #f8fafcf5;
  }
}

.navbar__auth {
  color: #1e293b;
  background-color: #fffffff5;
  border: 1px solid #cbd5e1e6;
  border-radius: 10px;
  justify-content: space-between;
  align-items: center;
  gap: .5rem;
  min-height: 2.35rem;
  padding: .4rem .5rem;
  display: flex;
}

.navbar__auth form {
  margin: 0;
  display: flex;
}

.navbar__auth-link {
  color: #3b85aa;
  text-transform: uppercase;
  letter-spacing: .04em;
  background-color: #dbeafe8c;
  border: 1px solid #3b82f647;
  border-radius: 8px;
  justify-content: center;
  align-items: center;
  width: 100%;
  padding: .32rem .55rem;
  font-size: .72rem;
  font-weight: 700;
  transition: color .15s ease-in-out, border-color .15s ease-in-out, background-color .15s ease-in-out;
  display: inline-flex;
}

.navbar__auth-link:hover {
  color: #36779b;
  background-color: #dbeafedb;
  border-color: #2563eb59;
}

.navbar__auth-placeholder {
  opacity: 0;
  min-width: 100%;
  min-height: 2.35rem;
  display: inline-block;
}

.navbar__auth-user {
  color: #1e293b;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 9rem;
  font-size: .78rem;
  font-weight: 700;
  overflow: hidden;
}

.navbar__auth-logout {
  color: #a32227;
  cursor: pointer;
  background: #dc262612;
  border: 1px solid #dc262647;
  border-radius: 8px;
  padding: .32rem .58rem;
  font-size: .72rem;
  font-weight: 700;
  transition: background-color .15s ease-in-out, border-color .15s ease-in-out, color .15s ease-in-out;
  display: inline-block;
}

.navbar__auth-logout:hover {
  color: #8e2028;
  background: #dc262624;
  border-color: #dc26266b;
}

.navbar__auth--overlay {
  background-color: #fffffff5;
  border-color: #e2e8f0f2;
  flex-direction: row;
  gap: .65rem;
  width: min(20rem, 92vw);
  margin-inline-start: 0;
  padding: .48rem .55rem;
  box-shadow: 0 10px 15px -3px #0000001a, 0 4px 6px -2px #0000000d;
}

.navbar__auth--overlay .navbar__auth-user {
  max-width: none;
  font-size: .95rem;
}

.navbar__overlay-auth {
  justify-content: center;
  width: 100%;
  margin-top: 1rem;
  display: flex;
}

.navbar__locale {
  color: #1e293b;
  width: 100%;
  padding: 0;
  font-size: .75rem;
  font-weight: 700;
}

.navbar__locale-dropdown {
  width: 100%;
  position: relative;
}

.navbar__locale-summary {
  cursor: pointer;
  color: #1e293b;
  -webkit-user-select: none;
  user-select: none;
  background-color: #fffffff5;
  border: 1px solid #cbd5e1e6;
  border-radius: 10px;
  justify-content: space-between;
  align-items: center;
  gap: .4rem;
  width: 100%;
  padding: .42rem .6rem;
  list-style: none;
  transition: border-color .15s ease-in-out, background-color .15s ease-in-out, box-shadow .15s ease-in-out;
  display: flex;
}

.navbar__locale-summary:hover {
  background: #fff;
  border-color: #94a3b8d9;
}

.navbar__locale-summary:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px #52bdec33;
}

.navbar__locale-summary::-webkit-details-marker {
  display: none;
}

.navbar__locale-summary::marker {
  content: "";
}

.navbar__locale-current {
  text-transform: uppercase;
  letter-spacing: .04em;
}

.navbar__locale-chevron {
  opacity: .75;
  font-size: .6rem;
  transition: transform .15s ease-in-out;
}

.navbar__locale-dropdown[open] .navbar__locale-chevron {
  transform: rotate(180deg);
}

.navbar__locale-menu {
  top: calc(100% + .35rem);
  z-index: 20;
  -webkit-backdrop-filter: blur(14px) saturate(130%);
  background-color: #ffffffb8;
  border: 1px solid #cbd5e1d9;
  border-radius: 12px;
  flex-direction: column;
  gap: .25rem;
  min-width: 100%;
  max-height: min(22rem, 70vh);
  padding: .4rem;
  display: flex;
  position: absolute;
  inset-inline: 0;
  overflow: auto;
  box-shadow: 0 14px 28px #0f172a33;
}

@supports not (backdrop-filter: blur(1px)) {
  .navbar__locale-menu {
    background-color: #fffffff5;
  }
}

.navbar__locale-link {
  color: #1e293b;
  opacity: 1;
  text-align: start;
  text-transform: none;
  border: 1px solid #0000;
  border-radius: 8px;
  justify-content: space-between;
  align-items: center;
  gap: .6rem;
  padding: .4rem .55rem;
  transition: opacity .15s ease-in-out, border-color .15s ease-in-out, background-color .15s ease-in-out;
  display: flex;
}

.navbar__locale-link:hover {
  background: #dbeafe59;
  border-color: #52bdec3d;
}

.navbar__locale-link--active {
  color: #fff;
  background-color: #52bdec;
  background-image: radial-gradient(circle at 128% 52%, #55beec 0%, #52bdec 48%, #52b9e7 100%);
  border-color: #dbeafe6b;
}

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

.navbar__locale-code {
  letter-spacing: .04em;
  text-transform: uppercase;
  opacity: .7;
  font-size: .6875rem;
}

.navbar__locale-link--active .navbar__locale-code {
  opacity: .88;
}

.navbar__overlay-locale {
  justify-content: center;
  width: 100%;
  margin-top: 1rem;
  display: flex;
}

.navbar__overlay .navbar__locale {
  width: min(20rem, 92vw);
  margin-inline-start: 0;
  font-size: 1rem;
}

.navbar__overlay .navbar__locale-summary {
  padding: .5rem .8rem;
}

.navbar__overlay .navbar__locale-menu {
  top: auto;
  bottom: calc(100% + .35rem);
  max-height: min(22rem, 55vh);
  inset-inline: 0;
  transform: none;
}

.navbar__overlay .navbar__locale-link {
  padding: .45rem .7rem;
  font-size: .95rem;
}

.navbar__link {
  text-transform: uppercase;
  color: #fff;
  align-items: center;
  padding: 1rem .75rem;
  font-size: .75rem;
  font-weight: 700;
  transition: opacity .15s ease-in-out;
  display: flex;
}

@media (width >= 1024px) {
  .navbar__link {
    white-space: nowrap;
    justify-content: center;
    width: auto;
    padding: .18rem .45rem;
    font-size: .6875rem;
    line-height: 1.1;
  }
}

.navbar__link:hover {
  opacity: .75;
}

.footer {
  background: #f8fafc;
  width: 100%;
}

.footer__wave {
  pointer-events: none;
  background: #f8fafc;
  height: 70px;
  position: relative;
  overflow: hidden;
}

.footer__wave-svg {
  width: 100%;
  height: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
}

.footer__wave-shape {
  fill: #f1f5f9;
}

.footer__body {
  background: #f1f5f9;
  padding: 2rem 0 1.5rem;
  position: relative;
}

.footer__row {
  text-align: center;
  flex-wrap: wrap;
  display: flex;
}

@media (width >= 1024px) {
  .footer__row {
    text-align: left;
  }
}

.footer__logo-col {
  justify-content: center;
  align-items: center;
  width: 100%;
  padding: 1.25rem 1rem;
  display: flex;
}

@media (width >= 1024px) {
  .footer__logo-col {
    justify-content: center;
    align-items: flex-start;
    width: 50%;
  }
}

.footer__logo {
  height: 100px;
  min-height: 50px;
  max-height: 200px;
  margin-right: .5rem;
}

.footer__links-col {
  width: 100%;
  padding: 0 1rem;
}

@media (width >= 1024px) {
  .footer__links-col {
    width: 50%;
  }
}

.footer__links {
  flex-wrap: wrap;
  margin-bottom: 1.5rem;
  display: flex;
}

.footer__col {
  width: 100%;
  margin-left: auto;
  padding: 0 1rem;
}

@media (width >= 1024px) {
  .footer__col {
    width: 33.3333%;
  }
}

.footer__heading {
  text-transform: uppercase;
  margin-bottom: .5rem;
  font-size: .75rem;
  font-weight: 700;
  display: block;
}

.footer__list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.footer__link {
  color: #64748b;
  padding-bottom: .5rem;
  font-size: .875rem;
  transition: color .15s ease-in-out;
  display: block;
}

.footer__link:hover {
  color: #334155;
}

.footer__icon {
  margin-right: .5rem;
}

.footer__divider {
  border: 0;
  border-top: 1px solid #e2e8f0;
  margin: 1.5rem 0;
}

.footer__bottom {
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  display: flex;
}

@media (width >= 768px) {
  .footer__bottom {
    justify-content: space-between;
  }
}

.footer__bottom-inner {
  text-align: center;
  width: 100%;
  margin: 0 auto;
  padding: 0 1rem;
}

@media (width >= 768px) {
  .footer__bottom-inner {
    width: 33.3333%;
  }
}

.footer__copyright {
  color: #64748b;
  padding: .25rem 0;
  font-size: .875rem;
}

.footer__credit {
  text-decoration: underline;
}

.home-hero {
  align-items: center;
  min-height: clamp(30rem, 56svh, 42rem);
  display: flex;
  position: relative;
  overflow: hidden;
}

.home-hero__image {
  z-index: 2;
  opacity: .6;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  inset: 0;
}

.home-hero__overlay {
  z-index: 1;
  background: #0f172a;
  position: absolute;
  inset: 0;
}

.home-hero__content {
  z-index: 3;
  width: 100%;
  max-width: 50rem;
  padding-top: 3rem;
  position: relative;
}

.home-hero__text {
  text-align: center;
}

.home-hero__title {
  color: #fff;
  margin-bottom: 5rem;
  font-size: clamp(1.875rem, 5vw, 3rem);
  font-weight: 700;
  line-height: 1.25;
}

@media (width >= 569px) {
  .home-hero__title {
    white-space: nowrap;
  }
}

.home-hero__wave {
  z-index: 3;
  color: #fff;
  width: 100%;
  position: absolute;
  bottom: -2px;
}

.home-hero__wave-inner {
  pointer-events: none;
  height: 72px;
  overflow: hidden;
}

.home-hero__wave-svg {
  width: 100%;
  height: calc(100% + 2px);
  position: absolute;
  bottom: -1px;
  left: 0;
}

.home-hero__wave-shape {
  fill: #f8fafc;
}

.home-cta {
  background: #f8fafc;
}

.home-cta__container {
  z-index: 3;
  width: 100%;
  max-width: 900px;
  margin: -16rem auto 0;
  padding-top: 10rem;
  position: relative;
}

.home-cta__card {
  background: #fff;
  border-radius: .75rem;
  width: 60%;
  margin: 0 auto;
  padding: 2rem 0;
  box-shadow: 0 10px 15px -3px #0000001a, 0 4px 6px -2px #0000000d;
}

@media (width <= 568px) {
  .home-cta__card {
    width: min(90%, 26rem);
  }
}

.home-cta__row {
  flex-wrap: wrap;
  align-items: center;
  display: flex;
}

.home-cta__item {
  text-align: center;
  border-right: 1px solid #e2e8f0;
  width: 50%;
  padding: 0 1.5rem;
}

.home-cta__item:last-child {
  border-right: none;
}

@media (width <= 568px) {
  .home-cta__row {
    flex-direction: column;
    align-items: stretch;
  }

  .home-cta__item {
    border-right: none;
    width: 100%;
    padding: 1rem 1.5rem;
  }

  .home-cta__item:first-child {
    border-bottom: 1px solid #e2e8f0;
  }
}

.home-cta__title {
  margin: .5rem 0 .25rem;
  font-size: 1.25rem;
  font-weight: 600;
}

.home-cta__text {
  text-align: center;
  padding: .5rem 0;
}

.home-cta__link-text {
  color: #64748b;
}

.home-cta__link {
  color: #64748b;
  font-size: 1rem;
  text-decoration: underline;
}

.home-feature {
  background: #f8fafc;
  padding-bottom: 5rem;
  position: relative;
}

.home-feature__container {
  padding-top: 2.5rem;
}

.home-feature__row {
  flex-wrap: wrap;
  align-items: center;
  margin-top: 5rem;
  display: flex;
}

.home-feature__media-col, .home-feature__text-col {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding: 0 1rem;
}

@media (width >= 768px) {
  .home-feature__media-col, .home-feature__text-col {
    width: 50%;
  }
}

.home-feature__text-col {
  padding: 0 .5rem;
}

.home-feature__media {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  border-radius: 40px;
  height: 200px;
  position: relative;
}

.home-feature__media-overlay {
  background: #ffffffa6;
  border-radius: 40px;
  justify-content: center;
  align-items: center;
  display: flex;
  position: absolute;
  inset: 0;
}

.home-feature__media-text {
  color: #1f2937;
  text-align: center;
  font-size: 1.125rem;
  font-weight: 600;
}

@media (width >= 768px) {
  .home-feature__text {
    padding-right: 3rem;
  }
}

.home-feature__paragraph {
  color: #64748b;
  margin-top: 1rem;
  font-size: 1.125rem;
  line-height: 1.625;
}

.home-feature__wave {
  z-index: 3;
  opacity: 0;
  color: #fff;
  width: 100%;
  position: absolute;
  bottom: 0;
}

.home-feature__wave-inner {
  pointer-events: none;
  height: 70px;
  overflow: hidden;
}

.home-feature__wave-svg {
  width: 100%;
  height: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
}

.home-feature__wave-shape {
  fill: currentColor;
}

.opening-page__title {
  text-align: center;
  margin-bottom: 1.1rem;
}

.opening-page__title .page-title__text {
  align-items: center;
  gap: .9rem;
  display: inline-flex;
}

.opening-page__title .page-title__text:before, .opening-page__title .page-title__text:after {
  content: "";
  background: #059669;
  border-radius: 2px;
  width: clamp(3.5rem, 11vw, 6.5rem);
  height: 3px;
  position: relative;
  top: .32rem;
}

.opening-page__calendar-shell {
  box-shadow: none;
  background: #fff;
  border-radius: .5rem;
  padding: .85rem 1rem 1rem;
}

.opening-page__calendar-shell--loading {
  gap: .9rem;
  display: grid;
}

.opening-page__calendar .opening-hours-week__day-label {
  font-size: .95rem;
}

.opening-page__state {
  text-align: center;
  background: none;
  justify-items: center;
  gap: .7rem;
  padding: .35rem 0 0;
  display: grid;
}

.opening-page__state--error {
  color: #dc2626;
}

.opening-page__state-text {
  color: #4b5563;
  margin: 0;
  font-size: .95rem;
}

.opening-page__state--error .opening-page__state-text {
  color: inherit;
}

@media (width <= 767px) {
  .opening-page__title .page-title__text {
    gap: .6rem;
  }

  .opening-page__calendar-shell {
    padding: .7rem .75rem .85rem;
  }
}

.contact-page__title {
  margin-bottom: .9rem;
}

.contact-page__title:after {
  content: "";
  background: var(--brand);
  border-radius: 2px;
  width: 36px;
  height: 3px;
  margin-top: .35rem;
  display: block;
}

.contact-page__list {
  flex-direction: column;
  gap: 1rem;
  list-style: none;
  display: flex;
}

.contact-page__link {
  color: #3b82f6;
  align-items: center;
  font-size: 1.125rem;
  transition: color .15s ease-in-out;
  display: flex;
}

.contact-page__link:hover {
  color: #1d4ed8;
}

.contact-page__icon {
  margin-right: .75rem;
}

.contact-page__map {
  margin-top: 2rem;
}

.contact-page__map-frame {
  border: 0;
  border-radius: .5rem;
  width: 100%;
  height: 18rem;
  box-shadow: 0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;
}

.content-page__title {
  text-align: center;
  margin-bottom: 1.1rem;
}

.content-page__title .page-title__text {
  align-items: center;
  gap: .9rem;
  display: inline-flex;
}

.content-page__title .page-title__text:before, .content-page__title .page-title__text:after {
  content: "";
  background: #52bdec;
  border-radius: 2px;
  width: clamp(3.5rem, 11vw, 6.5rem);
  height: 3px;
  position: relative;
  top: .32rem;
}

.content-callout {
  color: #374151;
  background: #dbeafe;
  border-radius: .5rem;
  margin-bottom: 1.5rem;
  padding: 1rem;
}

.content-cta {
  text-align: center;
  margin-bottom: 2rem;
}

.content-image {
  margin-top: 2rem;
}

.share {
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1.5rem;
  display: flex;
}

.share__label {
  color: #374151;
  font-size: 1.125rem;
  font-weight: 600;
}

.share__link {
  font-size: 1.5rem;
  transition: color .15s ease-in-out;
}

.share__link--facebook {
  color: #2563eb;
}

.share__link--facebook:hover {
  color: #1e40af;
}

.share__link--twitter {
  color: #3b82f6;
}

.share__link--twitter:hover, .share__link--linkedin {
  color: #1d4ed8;
}

.share__link--linkedin:hover {
  color: #1e3a8a;
}

.share__link--email {
  color: #4b5563;
}

.share__link--email:hover {
  color: #1f2937;
}

.share__link--whatsapp {
  color: #10b981;
}

.share__link--whatsapp:hover {
  color: #047857;
}

.content-list {
  color: #4b5563;
  flex-direction: column;
  gap: .5rem;
  margin-bottom: 1.5rem;
  padding-left: 0;
  list-style-position: inside;
  display: flex;
}

.content-list--decimal {
  list-style-type: decimal;
}

.content-list--disc {
  list-style-type: disc;
}

.content-link {
  color: #2563eb;
  transition: color .15s ease-in-out;
}

.content-link:hover {
  color: #1e40af;
}

@media (width <= 767px) {
  .content-page__title .page-title__text {
    gap: .6rem;
  }
}

.calendar-picker {
  width: 100%;
  position: relative;
}

.calendar-picker__trigger {
  cursor: pointer;
  justify-content: space-between;
  align-items: center;
  gap: .55rem;
  width: 100%;
  display: inline-flex;
}

.calendar-picker__trigger-value {
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
  overflow: hidden;
}

.calendar-picker__trigger-icon {
  color: var(--text-muted);
  font-size: .82rem;
  line-height: 1;
}

.calendar-picker__clear {
  top: 50%;
  width: 1.2rem;
  height: 1.2rem;
  color: var(--text-muted);
  cursor: pointer;
  background: none;
  border: none;
  border-radius: 999px;
  font-size: .95rem;
  line-height: 1;
  position: absolute;
  inset-inline-end: 2rem;
  transform: translateY(-50%);
}

.calendar-picker__clear:hover {
  color: var(--text-main);
  background: #52bdec26;
}

.calendar-picker__popover {
  top: calc(100% + .4rem);
  z-index: 30;
  border: 1px solid var(--card-border);
  background: var(--card-bg);
  border-radius: 12px;
  width: min(18.5rem, 100vw - 2rem);
  padding: .55rem;
  position: absolute;
  inset-inline-start: 0;
  box-shadow: 0 12px 28px #0f172a33;
}

.calendar-picker__header {
  grid-template-columns: 2rem 1fr 2rem;
  align-items: center;
  gap: .45rem;
  margin-bottom: .5rem;
  display: grid;
}

.calendar-picker__title {
  text-align: center;
  color: var(--text-main);
  font-size: .86rem;
  font-weight: 700;
}

.calendar-picker__nav {
  width: 2rem;
  height: 2rem;
  color: var(--text-main);
  cursor: pointer;
  background: #52bdec1f;
  border: 1px solid #52bdec42;
  border-radius: 9px;
  font-size: 1.05rem;
  line-height: 1;
}

.calendar-picker__nav:hover {
  background: #52bdec33;
  border-color: #52bdec66;
}

.calendar-picker__weekdays, .calendar-picker__grid {
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: .22rem;
  display: grid;
}

.calendar-picker__weekdays {
  margin-bottom: .22rem;
}

.calendar-picker__weekdays span {
  text-align: center;
  color: var(--text-muted);
  letter-spacing: .02em;
  text-transform: uppercase;
  font-size: .68rem;
  font-weight: 700;
}

.calendar-picker__day, .calendar-picker__blank {
  aspect-ratio: 1;
  border-radius: 8px;
  width: 100%;
}

.calendar-picker__day {
  color: var(--text-main);
  cursor: pointer;
  background: none;
  border: 1px solid #0000;
  font-size: .8rem;
  font-weight: 600;
  line-height: 1;
}

.calendar-picker__day:hover {
  background: #52bdec24;
  border-color: #52bdec3d;
}

.calendar-picker__day.is-selected {
  color: #fff;
  background: #52bdec;
  border-color: #51b1dc;
}

.calendar-picker__blank {
  display: block;
}

.time-picker {
  width: 100%;
  position: relative;
}

.time-picker__row {
  width: 100%;
}

.time-picker__input-shell {
  width: 100%;
  position: relative;
}

.time-picker__input {
  width: 100%;
  min-width: 0;
  color: var(--text-main);
  font-variant-numeric: tabular-nums;
  background: #fbfdff;
  border: 1px solid #d7dee8;
  border-radius: 8px;
  padding: .5rem 2.45rem .5rem .65rem;
  transition: border-color .14s, box-shadow .14s, background-color .14s;
}

.time-picker__input::placeholder {
  color: var(--text-muted);
}

.time-picker__input:focus {
  border-color: var(--brand);
  background: #fff;
  outline: none;
  box-shadow: 0 0 0 3px #4fa3d126;
}

.drag-adjust-handle {
  width: 1.85rem;
  height: 1.85rem;
  color: var(--text-main);
  cursor: ns-resize;
  -webkit-user-select: none;
  user-select: none;
  touch-action: none;
  background: #52bdec1f;
  border: 1px solid #52bdec4d;
  border-radius: 7px;
  justify-content: center;
  align-items: center;
  transition: background-color .14s, border-color .14s, transform 80ms;
  display: inline-flex;
}

.drag-adjust-handle:hover {
  background: #52bdec38;
  border-color: #52bdec73;
}

.drag-adjust-handle:active {
  transform: translateY(1px);
}

.drag-adjust-handle:focus-visible {
  outline-offset: 1px;
  outline: 2px solid #4fa3d173;
}

.drag-adjust-handle__glyph {
  gap: .02rem;
  line-height: 1;
  display: grid;
}

.drag-adjust-handle__glyph i {
  font-size: .62rem;
  line-height: 1;
  display: block;
}

.time-picker__drag {
  top: 50%;
  position: absolute;
  inset-inline-end: .3rem;
  transform: translateY(-50%);
}

.time-picker__drag:active {
  transform: translateY(calc(1px - 50%));
}

.number-drag-input {
  width: 100%;
  position: relative;
}

.number-drag-input__input {
  padding-inline-end: 2.45rem;
}

.number-drag-input__handle {
  top: 50%;
  position: absolute;
  inset-inline-end: .3rem;
  transform: translateY(-50%);
}

.number-drag-input__handle:active {
  transform: translateY(calc(1px - 50%));
}

.my-kring-form__input[type="number"], .admin-input[type="number"] {
  appearance: textfield;
}

.my-kring-form__input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.my-kring-form__input[type="number"]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.admin-input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.admin-input[type="number"]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.my-kring-form__input[type="file"], .admin-input[type="file"] {
  box-shadow: none;
  color: var(--text-muted);
  background: none;
  border: none;
  padding: 0;
  font-size: .9rem;
}

.my-kring-form__input[type="file"]:focus, .admin-input[type="file"]:focus {
  box-shadow: none;
  background: none;
  border: none;
  outline: none;
}

.my-kring-form__input[type="file"]::file-selector-button {
  color: #fff;
  letter-spacing: .01em;
  cursor: pointer;
  background: linear-gradient(135deg, #51afdb, #4ca4ce);
  border: 1px solid #ffffff3d;
  border-radius: 999px;
  margin-inline-end: .65rem;
  padding: .42rem .9rem;
  font-size: .82rem;
  font-weight: 700;
  transition: background-color .14s, box-shadow .14s, transform .12s;
  box-shadow: 0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f, inset 0 0 0 1px #ffffff1a;
}

.admin-input[type="file"]::file-selector-button {
  color: #fff;
  letter-spacing: .01em;
  cursor: pointer;
  background: linear-gradient(135deg, #51afdb, #4ca4ce);
  border: 1px solid #ffffff3d;
  border-radius: 999px;
  margin-inline-end: .65rem;
  padding: .42rem .9rem;
  font-size: .82rem;
  font-weight: 700;
  transition: background-color .14s, box-shadow .14s, transform .12s;
  box-shadow: 0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f, inset 0 0 0 1px #ffffff1a;
}

.my-kring-form__input[type="file"]::-webkit-file-upload-button {
  color: #fff;
  letter-spacing: .01em;
  cursor: pointer;
  background: linear-gradient(135deg, #51afdb, #4ca4ce);
  border: 1px solid #ffffff3d;
  border-radius: 999px;
  margin-inline-end: .65rem;
  padding: .42rem .9rem;
  font-size: .82rem;
  font-weight: 700;
  transition: background-color .14s, box-shadow .14s, transform .12s;
  box-shadow: 0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f, inset 0 0 0 1px #ffffff1a;
}

.admin-input[type="file"]::-webkit-file-upload-button {
  color: #fff;
  letter-spacing: .01em;
  cursor: pointer;
  background: linear-gradient(135deg, #51afdb, #4ca4ce);
  border: 1px solid #ffffff3d;
  border-radius: 999px;
  margin-inline-end: .65rem;
  padding: .42rem .9rem;
  font-size: .82rem;
  font-weight: 700;
  transition: background-color .14s, box-shadow .14s, transform .12s;
  box-shadow: 0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f, inset 0 0 0 1px #ffffff1a;
}

.my-kring-form__input[type="file"]::-moz-file-upload-button {
  color: #fff;
  letter-spacing: .01em;
  cursor: pointer;
  background: linear-gradient(135deg, #51afdb, #4ca4ce);
  border: 1px solid #ffffff3d;
  border-radius: 999px;
  margin-inline-end: .65rem;
  padding: .42rem .9rem;
  font-size: .82rem;
  font-weight: 700;
  transition: background-color .14s, box-shadow .14s, transform .12s;
  box-shadow: 0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f, inset 0 0 0 1px #ffffff1a;
}

.admin-input[type="file"]::-moz-file-upload-button {
  color: #fff;
  letter-spacing: .01em;
  cursor: pointer;
  background: linear-gradient(135deg, #51afdb, #4ca4ce);
  border: 1px solid #ffffff3d;
  border-radius: 999px;
  margin-inline-end: .65rem;
  padding: .42rem .9rem;
  font-size: .82rem;
  font-weight: 700;
  transition: background-color .14s, box-shadow .14s, transform .12s;
  box-shadow: 0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f, inset 0 0 0 1px #ffffff1a;
}

.my-kring-form__input[type="file"]:hover::file-selector-button {
  background: linear-gradient(135deg, #50aad4, #4a9ec6);
  box-shadow: 0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f, inset 0 0 0 1px #fff3;
}

.admin-input[type="file"]:hover::file-selector-button {
  background: linear-gradient(135deg, #50aad4, #4a9ec6);
  box-shadow: 0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f, inset 0 0 0 1px #fff3;
}

.my-kring-form__input[type="file"]:hover::-moz-file-upload-button {
  background: linear-gradient(135deg, #50aad4, #4a9ec6);
  box-shadow: 0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f, inset 0 0 0 1px #fff3;
}

.admin-input[type="file"]:hover::-moz-file-upload-button {
  background: linear-gradient(135deg, #50aad4, #4a9ec6);
  box-shadow: 0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f, inset 0 0 0 1px #fff3;
}

.my-kring-form__input[type="file"]:active::file-selector-button {
  transform: translateY(1px);
}

.admin-input[type="file"]:active::file-selector-button {
  transform: translateY(1px);
}

.my-kring-form__input[type="file"]:active::-moz-file-upload-button {
  transform: translateY(1px);
}

.admin-input[type="file"]:active::-moz-file-upload-button {
  transform: translateY(1px);
}

.my-kring-form__input[type="file"]:focus-visible::file-selector-button {
  outline-offset: 1px;
  outline: 2px solid #4fa3d173;
}

.admin-input[type="file"]:focus-visible::file-selector-button {
  outline-offset: 1px;
  outline: 2px solid #4fa3d173;
}

.my-kring-form__input[type="file"]:focus-visible::-moz-file-upload-button {
  outline-offset: 1px;
  outline: 2px solid #4fa3d173;
}

.admin-input[type="file"]:focus-visible::-moz-file-upload-button {
  outline-offset: 1px;
  outline: 2px solid #4fa3d173;
}

.opening-hours-week {
  --opening-hours-hour-height: clamp(1.85rem, 2.35vw, 2.2rem);
  gap: .35rem;
  min-width: 0;
  display: grid;
}

.opening-hours-week__top, .opening-hours-week__body {
  grid-template-columns: 3.9rem minmax(0, 1fr);
  align-items: start;
  gap: 0;
  display: grid;
}

.opening-hours-week__corner {
  border-top: 1px solid #94a3b873;
  min-height: 1px;
}

.opening-hours-week__headers {
  border-top: 1px solid #94a3b873;
  min-width: 0;
  display: grid;
}

.opening-hours-week__header-day {
  text-align: center;
  background: none;
  border-bottom: 1px solid #e2e8f0e6;
  border-left: 1px solid #e2e8f0cc;
  align-content: center;
  justify-items: center;
  gap: .25rem;
  min-width: 0;
  min-height: 3.2rem;
  padding: .35rem .2rem .55rem;
  display: grid;
}

.opening-hours-week__header-day:first-child {
  border-left: none;
}

.opening-hours-week__day-main {
  justify-items: center;
  width: 100%;
  min-width: 0;
  display: grid;
}

.opening-hours-week__day-label {
  color: #374151;
  font-size: .92rem;
  font-weight: 700;
  line-height: 1.1;
}

.opening-hours-week__day-label--short, .opening-hours-week__day-status {
  display: none;
}

.opening-hours-week__hours {
  min-width: 0;
  height: calc(var(--opening-hours-hour-height) * 15);
  border-inline-end: 1px solid #e2e8f0cc;
  position: relative;
}

.opening-hours-week__hour-marker {
  color: #94a3b8;
  font-variant-numeric: tabular-nums;
  letter-spacing: .01em;
  white-space: nowrap;
  font-size: .72rem;
  font-weight: 600;
  position: absolute;
  inset-inline-end: .7rem;
  transform: translateY(-50%);
}

.opening-hours-week__hour-marker.is-start {
  transform: translateY(0);
}

.opening-hours-week__hour-marker.is-end {
  transform: translateY(-100%);
}

.opening-hours-week__board {
  min-width: 0;
  height: calc(var(--opening-hours-hour-height) * 15);
  background: repeating-linear-gradient(#0000 0 calc(6.66667% - 1px), #e2e8f0e6 calc(6.66667% - 1px) 6.66667%);
  display: grid;
  position: relative;
  overflow: hidden;
}

.opening-hours-week__board.is-editable {
  cursor: crosshair;
  touch-action: none;
  -webkit-user-select: none;
  user-select: none;
}

.opening-hours-week__board.is-editable:hover {
  background: linear-gradient(#52bdec04, #52bdec04), repeating-linear-gradient(#0000 0 calc(6.66667% - 1px), #e2e8f0e6 calc(6.66667% - 1px) 6.66667%);
}

.opening-hours-week__column {
  border-left: 1px solid #e2e8f0cc;
  min-width: 0;
  position: relative;
}

.opening-hours-week__column:first-child {
  border-left: none;
}

.opening-hours-week__block {
  min-height: .8rem;
  box-shadow: none;
  z-index: 1;
  background: linear-gradient(#0aa573f5, #059669f5);
  border: 1px solid #04785729;
  border-radius: 4px;
  justify-content: center;
  align-items: center;
  padding: .18rem .16rem;
  display: flex;
  position: absolute;
  inset-inline: .18rem;
  overflow: hidden;
}

.opening-hours-week__block--preview {
  z-index: 2;
  background: #059669b8;
  border-style: dashed;
}

.opening-hours-week__exception {
  z-index: 3;
  background: linear-gradient(#e04040f0, #dc2626f5);
  border: 1px solid #b02d323d;
  border-radius: 4px;
  justify-content: center;
  align-items: center;
  min-height: .8rem;
  padding: .18rem .16rem;
  display: flex;
  position: absolute;
  inset-inline: .34rem;
  overflow: hidden;
}

.opening-hours-week__exception--preview {
  z-index: 4;
  background: #dc2626bd;
  border-style: dashed;
}

.opening-hours-week__block-label {
  color: #fff;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  text-align: center;
  text-shadow: none;
  font-size: .68rem;
  font-weight: 700;
  line-height: 1.1;
}

.opening-hours-week__clear {
  color: #64748b;
  cursor: pointer;
  background: #fffffff5;
  border: 1px solid #cbd5e1e6;
  border-radius: 999px;
  padding: .18rem .48rem;
  font-size: .62rem;
  font-weight: 700;
  line-height: 1;
  transition: background-color .14s, border-color .14s, color .14s;
}

.opening-hours-week__clear:hover:not(:disabled) {
  color: #374151;
  background: #52bdec0d;
  border-color: #52bdec33;
}

.opening-hours-week__clear:disabled {
  opacity: .45;
  cursor: default;
}

@media (width <= 900px) {
  .opening-hours-week {
    --opening-hours-hour-height: 1.72rem;
  }

  .opening-hours-week__top, .opening-hours-week__body {
    grid-template-columns: 3.2rem minmax(0, 1fr);
  }

  .opening-hours-week__header-day {
    min-height: 3rem;
    padding-inline: .12rem;
  }

  .opening-hours-week__day-label {
    font-size: .82rem;
  }

  .opening-hours-week__hour-marker, .opening-hours-week__block-label {
    font-size: .62rem;
  }
}

@media (width <= 640px) {
  .opening-hours-week {
    --opening-hours-hour-height: 1.48rem;
  }

  .opening-hours-week__top, .opening-hours-week__body {
    grid-template-columns: 2.8rem minmax(0, 1fr);
  }

  .opening-hours-week__header-day {
    min-height: 2.85rem;
    padding: .28rem .08rem .42rem;
  }

  .opening-hours-week__day-label--full {
    display: none;
  }

  .opening-hours-week__day-label--short {
    display: inline;
  }

  .opening-hours-week__day-label {
    font-size: .71rem;
  }

  .opening-hours-week__hour-marker {
    font-size: .58rem;
    inset-inline-end: .35rem;
  }

  .opening-hours-week__block {
    inset-inline: .08rem;
  }

  .opening-hours-week__exception {
    inset-inline: .18rem;
  }

  .opening-hours-week__block-label {
    font-size: .54rem;
  }

  .opening-hours-week__clear {
    padding: .14rem .32rem;
    font-size: .54rem;
  }
}

.my-kring-page {
  background: var(--bg-page);
  padding: 2rem 0;
}

.my-kring-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

.my-kring-shell-card {
  box-shadow: none;
  background: none;
  padding: 0;
}

.my-kring-page .page-subsection-title {
  color: var(--text-main);
  margin: 0 0 .9rem;
  font-size: 1.125rem;
  font-weight: 600;
}

.my-kring-page .page-subsection-title:after {
  content: "";
  background: var(--brand);
  border-radius: 2px;
  width: 36px;
  height: 3px;
  margin-top: .35rem;
  display: block;
}

.my-kring-section {
  margin-top: 2rem;
}

.my-kring-grid {
  grid-template-columns: 1fr;
  align-items: start;
  gap: 1rem;
  display: grid;
}

@media (width >= 1024px) {
  .my-kring-grid {
    grid-template-columns: 1fr 1fr;
  }
}

.my-kring-header {
  --my-kring-icon-width: 200px;
  grid-template-columns: 1fr;
  align-items: stretch;
  gap: .9rem;
  margin-bottom: 1rem;
  display: grid;
}

@media (width >= 768px) {
  .my-kring-header {
    grid-template-columns: minmax(0, 1fr) auto;
  }
}

.my-kring-header-shell {
  align-items: start;
  width: 100%;
  min-height: clamp(12rem, 30vw, 18rem);
  padding-top: 8rem;
  display: grid;
}

.my-kring-header-shell > .my-kring-header {
  width: 100%;
}

.my-kring-header-shell .my-kring-loading {
  margin: 0;
}

.my-kring-header__info {
  min-width: 0;
}

.my-kring-header__info .page-subsection-title {
  margin-top: 1rem;
}

.my-kring-header__name {
  color: var(--text-main);
  letter-spacing: .03em;
  text-transform: uppercase;
  margin: 0;
  font-size: clamp(1.6rem, 4vw, 2.6rem);
  font-weight: 800;
  line-height: 1.1;
}

.my-kring-selector {
  max-width: 24rem;
  margin-bottom: 1rem;
}

.my-kring-header__icon-col {
  width: min(65vw, var(--my-kring-icon-width));
  justify-content: center;
  place-self: stretch start;
  display: flex;
}

@media (width >= 768px) {
  .my-kring-header__icon-col {
    width: min(50%, var(--my-kring-icon-width));
    max-width: var(--my-kring-icon-width);
    justify-content: flex-end;
    justify-self: end;
  }
}

.my-kring-header__icon {
  object-fit: contain;
  object-position: top center;
  border: 1px solid var(--card-border);
  background: var(--card-bg);
  width: 100%;
  height: 100%;
  min-height: 9rem;
  max-height: 28rem;
  box-shadow: var(--card-shadow);
  border-radius: 14px;
  padding: .35rem;
  display: block;
}

.my-kring-header__icon-col--placeholder {
  pointer-events: none;
  min-width: 10rem;
}

.my-kring-header__icon--placeholder {
  min-width: 10rem;
}

.my-kring-cursus-page {
  scroll-snap-align: start;
  grid-template-rows: repeat(4, auto);
  align-content: start;
  gap: .75rem;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.my-kring-cursus-list__item {
  border: 1px solid var(--card-border);
  background: var(--card-bg);
  box-shadow: var(--card-shadow);
  border-radius: 14px;
  padding: .9rem 1rem;
  position: relative;
}

.my-kring-cursus-list__title {
  color: var(--text-main);
  margin: 0 0 .25rem;
  font-weight: 700;
}

.my-kring-cursus-list__meta {
  color: var(--text-muted);
  margin: 0;
  padding-right: 6.6rem;
  font-size: .9rem;
}

.my-kring-cursus-list__action {
  white-space: nowrap;
  min-width: 5.4rem;
  padding: .28rem .8rem;
  font-size: .76rem;
  line-height: 1.2;
  position: absolute;
  bottom: .9rem;
  right: 1rem;
}

.my-kring-cursus-list__item.is-empty {
  visibility: hidden;
  pointer-events: none;
}

.my-kring-cursus-loading-grid {
  grid-template-columns: 1fr;
  gap: .75rem;
  margin: 0 0 1.5rem;
  padding: 0;
  list-style: none;
  display: grid;
}

@media (width >= 768px) {
  .my-kring-cursus-loading-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.my-kring-cursus-loading-card {
  border: 1px solid var(--card-border);
  background: var(--card-bg);
  box-shadow: var(--card-shadow);
  border-radius: 14px;
  justify-content: center;
  align-items: center;
  min-height: 4.5rem;
  padding: .9rem 1rem;
  display: flex;
}

.my-kring-cursus-loading-dots {
  min-height: 2rem;
}

.my-kring-form {
  background: var(--card-bg);
  border: 1px solid var(--card-border);
  box-shadow: var(--card-shadow);
  border-radius: 14px;
  flex-direction: column;
  gap: .75rem;
  padding: 1.25rem 1.375rem;
  display: flex;
}

.my-kring-form__title {
  color: var(--text-main);
  font-size: 1rem;
  font-weight: 600;
}

.my-kring-form__field {
  flex-direction: column;
  gap: .3rem;
  display: flex;
}

.my-kring-form__label {
  color: var(--text-muted);
  font-size: .9rem;
  font-weight: 600;
}

.my-kring-form__row {
  grid-template-columns: 1fr;
  gap: .75rem;
  display: grid;
}

@media (width >= 768px) {
  .my-kring-form__row {
    grid-template-columns: 1fr 1fr;
  }
}

.my-kring-form__input {
  width: 100%;
  color: var(--text-main);
  background: #fbfdff;
  border: 1px solid #d7dee8;
  border-radius: 8px;
  padding: .5rem .65rem;
  transition: border-color .14s, box-shadow .14s, background-color .14s;
}

.my-kring-form__input:focus {
  border-color: var(--brand);
  background: #fff;
  outline: none;
  box-shadow: 0 0 0 3px #4fa3d126;
}

.my-kring-form__textarea {
  resize: vertical;
  min-height: 5.5rem;
}

.my-kring-form__checkbox {
  cursor: pointer;
  align-items: center;
  gap: .5rem;
  display: flex;
}

.my-kring-form__checkbox-label {
  color: var(--text-main);
  font-size: .9rem;
  font-weight: 600;
}

.my-kring-file-dropzone {
  cursor: pointer;
  display: block;
  position: relative;
}

.my-kring-file-dropzone__input {
  z-index: 2;
  opacity: 0;
  cursor: pointer;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
}

.my-kring-file-dropzone__surface {
  text-align: center;
  background: linear-gradient(#fffffffa 0%, #feffff 100%);
  border: 1.5px dashed #94a3b8e6;
  border-radius: 22px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: .55rem;
  min-height: clamp(10.75rem, 27vw, 12.75rem);
  padding: 1.5rem 1.1rem 1.35rem;
  transition: border-color .16s, box-shadow .16s, background-color .16s;
  display: flex;
  box-shadow: inset 0 1px #ffffffd9, 0 14px 28px #0f172a0d;
}

.my-kring-file-dropzone:hover .my-kring-file-dropzone__surface, .my-kring-file-dropzone:focus-within .my-kring-file-dropzone__surface, .my-kring-file-dropzone.is-active .my-kring-file-dropzone__surface {
  border-color: #52bdec6b;
  box-shadow: inset 0 1px #ffffffeb, 0 16px 30px #0f172a12;
}

.my-kring-file-dropzone.has-file .my-kring-file-dropzone__surface {
  border-style: solid;
  border-color: #52bdec66;
}

.my-kring-file-dropzone__icon {
  width: 3.2rem;
  height: 3.2rem;
  color: var(--brand);
  margin-bottom: .05rem;
}

.my-kring-file-dropzone__title {
  color: var(--text-main);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.3;
}

.my-kring-file-dropzone__hint {
  max-width: 18rem;
  color: var(--text-muted);
  font-size: .9rem;
  line-height: 1.45;
}

.my-kring-file-dropzone__button {
  color: #fff;
  letter-spacing: .01em;
  background: linear-gradient(135deg, #51b1dc, #4ca7d1);
  border: 1px solid #ffffff38;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  min-width: 7.6rem;
  margin-top: .1rem;
  padding: .62rem 1rem;
  font-size: .84rem;
  font-weight: 700;
  transition: transform .16s, box-shadow .16s, filter .16s;
  display: inline-flex;
  box-shadow: 0 12px 20px #52bdec38;
}

.my-kring-file-dropzone:hover .my-kring-file-dropzone__button, .my-kring-file-dropzone:focus-within .my-kring-file-dropzone__button, .my-kring-file-dropzone.is-active .my-kring-file-dropzone__button {
  filter: saturate(1.05);
  transform: translateY(-2px);
  box-shadow: 0 16px 24px #52bdec47;
}

.my-kring-file-dropzone__file {
  color: #1e3c55;
  overflow-wrap: anywhere;
  background: #fdfefe;
  border-radius: 999px;
  max-width: min(100%, 32rem);
  margin-top: .3rem;
  padding: .52rem .84rem;
  font-size: .84rem;
  font-weight: 600;
  line-height: 1.4;
  box-shadow: inset 0 0 0 1px #cbd5e18c;
}

.my-kring-form__submit {
  width: 100%;
  margin-top: .25rem;
}

.my-kring-loading {
  min-height: 5rem;
  margin: .35rem 0 1rem;
}

.order-status-filters {
  gap: .6rem;
  margin-bottom: .9rem;
  display: grid;
}

.order-status-filters__title {
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: .04em;
  margin: 0;
  font-size: .82rem;
  font-weight: 700;
}

.order-status-filters__row {
  grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
  gap: .6rem;
  display: grid;
}

.order-status-filters__field {
  gap: .3rem;
  display: grid;
}

.order-status-filters__label {
  color: var(--text-main);
  font-size: .82rem;
  font-weight: 600;
}

.order-status-filters__select {
  width: 100%;
  color: var(--text-main);
  background: #fbfdff;
  border: 1px solid #d7dee8;
  border-radius: 8px;
  padding: .5rem .65rem;
  font-size: .9rem;
}

.order-status-filters__toggle {
  color: var(--text-main);
  align-items: center;
  gap: .5rem;
  font-size: .88rem;
  font-weight: 600;
  display: inline-flex;
}

.order-status-filters__checkbox {
  width: 1rem;
  height: 1rem;
}

.my-kring-order-carousel, .my-kring-cursus-carousel {
  --my-kring-carousel-edge-fade: clamp(.75rem, 2.4vw, 1.5rem);
  --my-kring-carousel-shadow-gutter: 1.5rem;
  padding: .45rem var(--my-kring-carousel-shadow-gutter) 1rem;
  margin: 0 calc(-1 * var(--my-kring-carousel-shadow-gutter)) 1.5rem;
  scroll-padding-inline: var(--my-kring-carousel-shadow-gutter);
  scroll-snap-type: x mandatory;
  cursor: grab;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -ms-overflow-style: none;
  -webkit-mask-image: linear-gradient(to right, transparent 0, #000 var(--my-kring-carousel-edge-fade), #000 calc(100% - var(--my-kring-carousel-edge-fade)), transparent 100%);
  -webkit-mask-image: linear-gradient(to right, transparent 0, #000 var(--my-kring-carousel-edge-fade), #000 calc(100% - var(--my-kring-carousel-edge-fade)), transparent 100%);
  mask-image: linear-gradient(to right, transparent 0, #000 var(--my-kring-carousel-edge-fade), #000 calc(100% - var(--my-kring-carousel-edge-fade)), transparent 100%);
  grid-auto-columns: minmax(100%, 100%);
  grid-auto-flow: column;
  gap: .85rem;
  display: grid;
  overflow-x: auto;
}

.my-kring-order-carousel::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}

.my-kring-cursus-carousel::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}

.my-kring-order-carousel::-webkit-scrollbar-button {
  width: 0;
  height: 0;
  display: none;
}

.my-kring-cursus-carousel::-webkit-scrollbar-button {
  width: 0;
  height: 0;
  display: none;
}

.horizontal-drag-carousel-shell {
  gap: 0;
  display: grid;
  position: relative;
}

.my-kring-order-carousel + .horizontal-drag-carousel__scrollbar, .my-kring-cursus-carousel + .horizontal-drag-carousel__scrollbar {
  --my-kring-scrollbar-padding-top: 0rem;
  --my-kring-scrollbar-padding-bottom: 0rem;
  --my-kring-scrollbar-lift: 1.2rem;
  z-index: 2;
  height: .75rem;
  margin: 0 var(--my-kring-carousel-shadow-gutter) 0;
  transform: translateY(calc(-1 * var(--my-kring-scrollbar-lift)));
  padding-top: var(--my-kring-scrollbar-padding-top);
  padding-bottom: var(--my-kring-scrollbar-padding-bottom);
  box-sizing: content-box;
  pointer-events: auto;
  touch-action: none;
  -webkit-user-select: none;
  user-select: none;
  cursor: pointer;
  background: none;
  position: relative;
}

.my-kring-order-carousel + .horizontal-drag-carousel__scrollbar > .horizontal-drag-carousel__scrollbar-thumb, .my-kring-cursus-carousel + .horizontal-drag-carousel__scrollbar > .horizontal-drag-carousel__scrollbar-thumb {
  top: var(--my-kring-scrollbar-padding-top);
  bottom: var(--my-kring-scrollbar-padding-bottom);
  cursor: grab;
  background: #51afdb;
  border-radius: 75px;
  position: absolute;
  left: 0;
  box-shadow: 0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f, inset 0 0 0 1px #ffffff24;
}

.my-kring-order-carousel + .horizontal-drag-carousel__scrollbar.is-dragging > .horizontal-drag-carousel__scrollbar-thumb, .my-kring-cursus-carousel + .horizontal-drag-carousel__scrollbar.is-dragging > .horizontal-drag-carousel__scrollbar-thumb {
  cursor: grabbing;
}

@media (width >= 1024px) {
  .my-kring-order-carousel {
    grid-auto-columns: minmax(28rem, 1fr);
  }

  .my-kring-cursus-carousel {
    grid-auto-columns: minmax(26rem, 30rem);
  }
}

.my-kring-order-carousel.is-dragging, .my-kring-cursus-carousel.is-dragging {
  cursor: grabbing;
  scroll-snap-type: none;
}

.my-kring-order-carousel.is-settling, .my-kring-cursus-carousel.is-settling {
  scroll-snap-type: none;
}

.my-kring-order-carousel.is-dragging, .my-kring-order-carousel.is-dragging *, .my-kring-cursus-carousel.is-dragging, .my-kring-cursus-carousel.is-dragging * {
  -webkit-user-select: none;
  user-select: none;
}

.my-kring-order-carousel:focus-visible, .my-kring-cursus-carousel:focus-visible {
  outline-offset: 2px;
  border-radius: .25rem;
  outline: 2px solid #4fa3d173;
}

.my-kring-order-card {
  scroll-snap-align: start;
  border: 1px solid var(--card-border);
  background: var(--card-bg);
  box-shadow: var(--card-shadow);
  border-radius: 14px;
  flex-direction: column;
  gap: .85rem;
  min-width: 0;
  padding: 1.1rem 1.2rem;
  display: flex;
}

.my-kring-order-card__header {
  justify-content: space-between;
  align-items: flex-start;
  gap: .75rem;
  display: flex;
}

.my-kring-order-card__id {
  color: var(--text-main);
  letter-spacing: .02em;
  margin: 0;
  font-size: 1.05rem;
  font-weight: 800;
}

.my-kring-order-card__price {
  text-align: right;
  font-variant-numeric: tabular-nums;
  min-width: 7rem;
  margin: 0;
  font-size: .95rem;
  font-weight: 800;
  line-height: 1.1;
}

.my-kring-order-card__price--pending {
  color: #cd373c;
}

.my-kring-order-card__price--paid {
  color: #0d8067;
}

.my-kring-order-card__meta {
  gap: .45rem;
  margin: 0;
  display: grid;
}

.my-kring-order-card__meta-row {
  grid-template-columns: minmax(8rem, auto) minmax(0, 1fr);
  align-items: center;
  gap: .6rem;
  margin: 0;
  display: grid;
}

.my-kring-order-card__meta-row dt {
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: .04em;
  margin: 0;
  font-size: .8rem;
  font-weight: 700;
}

.my-kring-order-card__meta-row dd {
  color: var(--text-main);
  min-width: 0;
  margin: 0;
  font-size: .92rem;
}

.my-kring-order-card__ready-by {
  flex-direction: column;
  gap: .05rem;
  line-height: 1.15;
  display: inline-flex;
}

.my-kring-order-card__ready-by-time {
  color: var(--text-main);
}

.my-kring-order-card__ready-by-date {
  color: var(--text-muted);
  font-size: .85em;
}

.my-kring-order-card__status-grid {
  grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
  gap: .45rem;
  display: grid;
}

.my-kring-order-card__status-item {
  border: 1px solid var(--card-border);
  color: var(--text-main);
  background: #f9fbfd;
  border-radius: 8px;
  justify-content: space-between;
  align-items: center;
  gap: .6rem;
  padding: .45rem .6rem;
  font-size: .85rem;
  display: flex;
}

.order-status-filters__select:focus {
  border-color: var(--brand);
  background: #fff;
  outline: none;
  box-shadow: 0 0 0 3px #4fa3d126;
}

.my-kring-page .button {
  transition: none;
}

.my-kring-page .button:hover, .my-kring-page .button:active {
  transform: none;
}

.login-page__card {
  max-width: 30rem;
  margin-left: auto;
  margin-right: auto;
}

.login-form {
  gap: 1rem;
  margin-top: 1.25rem;
  display: grid;
}

.login-form__field {
  gap: .4rem;
  display: grid;
}

.login-form__label {
  color: #374151;
  font-size: .875rem;
  font-weight: 700;
}

.login-form__input {
  border: 1px solid #cbd5e1;
  border-radius: .25rem;
  width: 100%;
  padding: .65rem .75rem;
  font-size: 1rem;
}

.login-form__input:focus {
  outline-offset: 2px;
  border-color: #3b82f6;
  outline: 2px solid #3b82f6;
}

.login-form__actions {
  margin-top: .25rem;
}

.login-form__logout {
  border-top: 1px solid #e2e8f0;
  margin-top: 1.25rem;
  padding-top: 1rem;
}

.login-form__logout-btn {
  color: #374151;
  cursor: pointer;
  background: none;
  border: 1px solid #cbd5e1;
  border-radius: .25rem;
  padding: .6rem 1rem;
  font-weight: 700;
  display: inline-block;
}

.login-form__logout-btn:hover {
  background: #f8fafc;
}

.reset-password-page__card {
  max-width: 32rem;
  margin-left: auto;
  margin-right: auto;
}

.reset-password-form {
  gap: 1rem;
  margin-top: 1.25rem;
  display: grid;
}

.reset-password-form__field {
  gap: .4rem;
  display: grid;
}

.reset-password-form__label {
  color: #374151;
  font-size: .875rem;
  font-weight: 700;
}

.reset-password-form__input {
  border: 1px solid #cbd5e1;
  border-radius: .25rem;
  width: 100%;
  padding: .65rem .75rem;
  font-size: 1rem;
}

.reset-password-form__input:focus {
  outline-offset: 2px;
  border-color: #3b82f6;
  outline: 2px solid #3b82f6;
}

.reset-password-form__actions {
  flex-wrap: wrap;
  gap: .75rem;
  display: flex;
}

.reset-password-status {
  border-radius: .25rem;
  padding: .75rem .875rem;
  font-size: .9375rem;
  line-height: 1.4;
}

.reset-password-status--error {
  color: #dc2626;
  background: #dc262614;
  border: 1px solid #dc262640;
}

.reset-password-status--success {
  color: #047857;
  background: #05966914;
  border: 1px solid #05966940;
}

.flash-toast {
  z-index: 45;
  border-radius: .5rem;
  width: min(24rem, 100vw - 2rem);
  padding: .85rem 1rem;
  animation: .35s ease-in 5s forwards flash-toast-fadeout;
  position: fixed;
  top: 5.25rem;
  right: 1rem;
  box-shadow: 0 10px 15px -3px #0000001a, 0 4px 6px -2px #0000000d;
}

.flash-toast__title {
  margin: 0 0 .35rem;
  font-size: .9rem;
  font-weight: 700;
}

.flash-toast__text {
  margin: 0;
  font-size: .875rem;
  line-height: 1.4;
}

.flash-toast--error {
  background: #fff4f4;
  border: 1px solid #dc262640;
}

.flash-toast--error .flash-toast__title {
  color: #dc2626;
}

.flash-toast--error .flash-toast__text {
  color: #374151;
}

.flash-toast--warning {
  background: #fff9eb;
  border: 1px solid #d9770640;
}

.flash-toast--warning .flash-toast__title {
  color: #b45309;
}

.flash-toast--warning .flash-toast__text {
  color: #78350f;
}

.flash-toast--success {
  background: #ecfdf5;
  border: 1px solid #05966940;
}

.flash-toast--success .flash-toast__title {
  color: #047857;
}

.flash-toast--success .flash-toast__text {
  color: #065f46;
}

.flash-toast--info {
  background: #eff6ff;
  border: 1px solid #2563eb33;
}

.flash-toast--info .flash-toast__title {
  color: #1d4ed8;
}

.flash-toast--info .flash-toast__text {
  color: #1e3a8a;
}

.flash-toast--upload-progress {
  animation: none;
}

.flash-toast__progress {
  background: #2563eb26;
  border-radius: 999px;
  height: .42rem;
  margin-top: .6rem;
  overflow: hidden;
}

.flash-toast__progress-bar {
  border-radius: inherit;
  background: linear-gradient(90deg, #3b82f6, #1d4ed8);
  width: 0%;
  height: 100%;
  transition: width .18s;
}

.flash-toast__progress--indeterminate .flash-toast__progress-bar {
  width: 36%;
  animation: 1s linear infinite flash-toast-progress-indeterminate;
}

@keyframes flash-toast-fadeout {
  from {
    opacity: 1;
    transform: translateY(0);
  }

  to {
    opacity: 0;
    visibility: hidden;
    transform: translateY(-4px);
  }
}

@keyframes flash-toast-progress-indeterminate {
  from {
    transform: translateX(-130%);
  }

  to {
    transform: translateX(300%);
  }
}

@media (prefers-reduced-motion: reduce) {
  .flash-toast, .flash-toast__progress--indeterminate .flash-toast__progress-bar {
    animation: none;
  }
}

.admin-page {
  background: var(--bg-page);
  padding: 2rem 0;
}

.admin-container {
  max-width: 1220px;
  margin: 0 auto;
  padding: 0 20px;
}

.admin-page .content-page__card {
  box-shadow: none;
  background: none;
  padding: 0;
}

.admin-section {
  margin-top: 2rem;
}

.admin-tabs {
  isolation: isolate;
  background: #51afdb;
  border: 1px solid #ffffff3d;
  border-radius: 999px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .35rem;
  width: min(100%, 45rem);
  margin-top: 1rem;
  margin-bottom: .25rem;
  padding: .3rem;
  display: grid;
  position: relative;
  box-shadow: 0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;
}

.admin-tabs:before {
  content: "";
  will-change: transform;
  z-index: 0;
  background: #fff3;
  border-radius: 999px;
  width: calc(25% - .4125rem);
  transition: transform .28s cubic-bezier(.2, 1.25, .32, 1), box-shadow .18s;
  position: absolute;
  top: .3rem;
  bottom: .3rem;
  left: .3rem;
  transform: translate3d(0, 0, 0);
  box-shadow: inset 0 0 0 1px #ffffff4d, 0 2px 6px #0f172a29;
}

.admin-tabs:has(.admin-tab:nth-child(2).is-active):before {
  transform: translate3d(calc(100% + .35rem), 0, 0);
}

.admin-tabs:has(.admin-tab:nth-child(3).is-active):before {
  transform: translate3d(calc(200% + .7rem), 0, 0);
}

.admin-tabs:has(.admin-tab:nth-child(4).is-active):before {
  transform: translate3d(calc(300% + 1.05rem), 0, 0);
}

.app-shell[dir="rtl"] .admin-tabs:before {
  left: auto;
  right: .3rem;
}

.app-shell[dir="rtl"] .admin-tabs:has(.admin-tab:nth-child(2).is-active):before {
  transform: translate3d(calc(-100% - .35rem), 0, 0);
}

.app-shell[dir="rtl"] .admin-tabs:has(.admin-tab:nth-child(3).is-active):before {
  transform: translate3d(calc(-200% - .7rem), 0, 0);
}

.app-shell[dir="rtl"] .admin-tabs:has(.admin-tab:nth-child(4).is-active):before {
  transform: translate3d(calc(-300% - 1.05rem), 0, 0);
}

.admin-tab {
  color: #ffffffd1;
  letter-spacing: .01em;
  text-align: center;
  cursor: pointer;
  z-index: 1;
  background: none;
  border: none;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  padding: .55rem .95rem;
  font-size: .9rem;
  font-weight: 800;
  line-height: 1.2;
  text-decoration: none;
  transition: color .14s, transform .18s;
  display: flex;
  position: relative;
}

.admin-tab:hover, .admin-tab.is-active {
  color: #fff;
}

.admin-tab:focus-visible {
  outline-offset: 1px;
  outline: 2px solid #ffffffbf;
}

.admin-order-filters {
  margin-bottom: 1rem;
}

.admin-owner-filter {
  max-width: 24rem;
  margin-bottom: 1rem;
}

.admin-cursus-filters {
  gap: .65rem;
  max-width: 100%;
  display: grid;
}

.admin-cursus-filters__row {
  gap: .65rem;
  display: grid;
}

.admin-users-kring-list {
  border: 1px solid var(--card-border);
  background: var(--card-bg);
  border-radius: 8px;
  gap: .45rem;
  max-height: 14rem;
  padding: .5rem;
  display: grid;
  overflow-y: auto;
}

@media (width >= 640px) {
  .admin-cursus-filters__row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (width >= 1100px) {
  .admin-cursus-filters__row--primary {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.admin-table-loading {
  min-height: 3.5rem;
}

.admin-section__header {
  flex-direction: column;
  gap: 1rem;
  margin-bottom: .9rem;
  display: flex;
}

@media (width >= 768px) {
  .admin-section__header {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
  }
}

.admin-section-title {
  color: var(--text-main);
  margin: 0;
  font-size: 1.125rem;
  font-weight: 600;
}

.admin-section-title:after {
  content: "";
  background: var(--brand);
  border-radius: 2px;
  width: 36px;
  height: 3px;
  margin-top: .35rem;
  display: block;
}

.admin-section__grid {
  gap: 1.5rem;
  display: grid;
}

.admin-section__grid--stack {
  grid-template-columns: minmax(0, 1fr);
}

.admin-section__grid--stack .admin-panel--cursus-form {
  order: 1;
}

.admin-section__grid--stack .admin-panel--cursus-table {
  order: 2;
}

.admin-section__grid--stack .admin-panel--order-form {
  order: 1;
}

.admin-section__grid--stack .admin-panel--order-table {
  order: 2;
}

@media (width >= 1024px) {
  .admin-section__grid {
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
  }

  .admin-section__grid--stack {
    grid-template-columns: minmax(0, 1fr);
  }
}

.admin-card, .admin-panel {
  background: #f8fafc;
  background: var(--card-bg);
  border: 1px solid var(--card-border);
  box-shadow: var(--card-shadow);
  border-radius: 14px;
  min-width: 0;
  padding: 1.25rem 1.375rem;
}

.admin-actions {
  flex-wrap: wrap;
  gap: .75rem;
  display: flex;
}

.admin-table {
  border-collapse: separate;
  border-spacing: 0;
  width: 100%;
  color: var(--text-main);
  font-size: .95rem;
}

.table-wrapper, .admin-table-scroll {
  box-sizing: border-box;
  background: var(--card-bg);
  border: 1px solid var(--card-border);
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  scrollbar-color: #b7c6d8 #eef3f8;
  border-radius: 12px;
  width: 100%;
  max-width: 100%;
  overflow: auto hidden;
}

.admin-table--wide {
  width: 100%;
  min-width: 1040px;
}

.admin-table--wide th, .admin-table--wide td {
  white-space: nowrap;
}

.admin-table--cursussen {
  table-layout: fixed;
  min-width: 62rem;
}

.admin-table--cursussen .admin-table__action-column {
  width: 5.75rem;
}

.admin-table--cursussen .admin-table__id-column {
  white-space: nowrap;
  width: 4.5rem;
}

.admin-table--cursussen .admin-table__number-column {
  white-space: nowrap;
  width: 5.25rem;
}

.admin-table--cursussen .admin-table__price-column {
  white-space: nowrap;
  width: 7rem;
}

.admin-table--cursussen .admin-table__period-column {
  white-space: nowrap;
  width: 8.5rem;
}

.admin-table--cursussen .admin-table__semester-column {
  white-space: nowrap;
  width: 7.25rem;
}

.admin-table--cursussen .admin-table__name-column, .admin-table--cursussen .admin-table__teacher-column {
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
  min-width: 9.5rem;
}

.admin-table--cursussen .admin-table__name-column {
  width: 14rem;
}

.admin-table--cursussen .admin-table__teacher-column {
  width: 10rem;
}

.admin-table--cursussen .admin-action-button {
  width: 100%;
  max-width: 4.75rem;
}

.admin-table-scroll--users {
  overflow-x: auto;
}

.admin-table--users {
  table-layout: fixed;
  width: 100%;
  min-width: 70rem;
}

.admin-table--users .admin-table__action-column {
  width: 6rem;
}

.admin-table--users .admin-table__action-column--wide {
  width: 8rem;
}

.admin-table--users .admin-table__role-column {
  white-space: nowrap;
  width: 8rem;
}

.admin-table--users .admin-table__name-column, .admin-table--users .admin-table__kring-column, .admin-table--users .admin-table__memberships-column {
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
  min-width: 12rem;
}

.admin-table--users .admin-table__email-column {
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
  min-width: 15rem;
}

.admin-table--users .admin-action-button {
  width: 100%;
  max-width: 7rem;
}

.admin-table-scroll::-webkit-scrollbar {
  height: 10px;
}

.admin-table-scroll::-webkit-scrollbar-track {
  background: #eef3f8;
  border-radius: 999px;
}

.admin-table-scroll::-webkit-scrollbar-thumb {
  background: #b7c6d8;
  border: 2px solid #eef3f8;
  border-radius: 999px;
}

.admin-table-scroll::-webkit-scrollbar-thumb:hover {
  background: #8ea3bc;
}

.admin-table th, .admin-table td {
  text-align: left;
  vertical-align: middle;
  border-bottom: 1px solid #ecf0f5;
  padding: .6rem .8rem;
}

.admin-table th {
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--text-muted);
  background: #fbfcfe;
  font-size: .75rem;
  font-weight: 700;
}

.admin-table tbody tr:nth-child(2n) {
  background: #f9fbfd;
}

.admin-table__sort {
  font: inherit;
  text-transform: inherit;
  letter-spacing: inherit;
  color: inherit;
  cursor: pointer;
  white-space: nowrap;
  background: none;
  border: none;
  align-items: center;
  gap: .35rem;
  padding: 0;
  display: inline-flex;
}

.admin-table__sort:focus-visible {
  outline-offset: 2px;
  border-radius: 4px;
  outline: 2px solid #0f172a2e;
}

.admin-table__sort-icon {
  opacity: .45;
  width: .95rem;
  font-size: .85em;
  transition: opacity .14s, color .14s;
}

.admin-table__sort:hover .admin-table__sort-icon, .admin-table__sort:focus-visible .admin-table__sort-icon {
  opacity: .7;
}

.admin-table__sort-icon.is-active {
  opacity: 1;
  color: var(--text-main);
}

.admin-table__sort-icon.is-hidden {
  display: none;
}

.admin-table tbody tr:hover {
  background: #eef6fb;
}

.admin-table tbody tr:last-child td {
  border-bottom: none;
}

.admin-table__empty {
  text-align: center;
  color: var(--text-muted);
  padding: 1.2rem;
}

.admin-table__bool {
  text-align: center;
}

.admin-bool {
  color: #94a3b8;
  justify-content: center;
  align-items: center;
  width: 1.25rem;
  height: 1.25rem;
  font-size: 1.1rem;
  line-height: 1;
  display: inline-flex;
}

.admin-bool--true {
  color: #059669;
}

.admin-bool--false {
  color: #cbd5e1;
}

.admin-ready-by {
  white-space: nowrap;
  flex-direction: column;
  align-items: center;
  gap: .1rem;
  line-height: 1.1;
  display: flex;
}

.admin-ready-by__date {
  color: var(--text-muted);
  font-size: .85em;
}

.form-grid {
  gap: .75rem;
  display: grid;
}

.form-grid--two {
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}

.admin-cursus-pages-grid {
  margin-bottom: .85rem;
}

.admin-order-flags {
  padding: .248rem .248rem .65rem;
}

.admin-label {
  color: var(--text-muted);
  padding: .248rem;
  font-size: .85rem;
  display: grid;
}

.admin-label--price-override {
  margin-bottom: .85rem;
}

.admin-input, .admin-select, .admin-textarea {
  width: 100%;
  color: var(--text-main);
  background: #fbfdff;
  border: 1px solid #d7dee8;
  border-radius: 8px;
  padding: .5rem .65rem;
  transition: border-color .14s, box-shadow .14s, background-color .14s;
}

.admin-textarea {
  resize: vertical;
  min-height: 2.5rem;
}

.admin-input:focus, .admin-select:focus, .admin-textarea:focus, .admin-page .order-status-filters__select:focus {
  border-color: var(--brand);
  background: #fff;
  outline: none;
  box-shadow: 0 0 0 3px #4fa3d126;
}

.admin-check {
  color: var(--text-main);
  cursor: pointer;
  align-items: center;
  gap: .5rem;
  font-size: .85rem;
  display: flex;
}

.admin-users-form-check {
  padding: .248rem .5rem .65rem;
}

.admin-status {
  margin-top: .75rem;
  font-weight: 600;
}

.admin-status--success {
  color: #059669;
}

.admin-status--error {
  color: #dc2626;
}

.admin-action-button {
  padding: .4rem .75rem;
  font-size: .85rem;
}

.user-suggestions {
  margin-top: .5rem;
}

.user-suggestions__list {
  border: 1px solid var(--card-border);
  background: var(--card-bg);
  border-radius: 8px;
  gap: .35rem;
  max-height: 10rem;
  padding: .5rem;
  display: grid;
  overflow-y: auto;
}

.user-suggestion {
  text-align: left;
  cursor: pointer;
  color: var(--text-main);
  background: #f9fbfd;
  border: 1px solid #0000;
  border-radius: 8px;
  padding: .4rem .6rem;
  font-size: .85rem;
  transition: background-color .14s, border-color .14s;
}

.user-suggestion:hover {
  background: #eef6fb;
  border-color: #4fa3d140;
}

.admin-page .page-title {
  color: var(--text-main);
}

.admin-page .button {
  transition: none;
}

.admin-page .button:hover, .admin-page .button:active {
  transform: none;
}

.admin-page .order-status-filters__title {
  color: var(--text-muted);
}

.admin-page .order-status-filters__label, .admin-page .order-status-filters__toggle {
  color: var(--text-main);
}

.admin-page .order-status-filters__select {
  color: var(--text-main);
  background: #fbfdff;
  border: 1px solid #d7dee8;
  border-radius: 8px;
}

.admin-opening-hours-panel, .admin-panel--opening-hours {
  gap: 1rem;
  display: grid;
}

.admin-opening-hours__intro {
  max-width: 42rem;
  color: var(--text-muted);
  margin: .4rem 0 0;
  font-size: .92rem;
  line-height: 1.55;
}

.admin-opening-hours__toolbar {
  align-items: center;
}

.admin-opening-hours__state {
  place-items: center;
  min-height: 11rem;
  display: grid;
}

.admin-opening-hours__calendar-shell {
  background: #fff;
  border-radius: 14px;
  padding: .85rem 1rem 1rem;
}

.admin-opening-hours__calendar-shell.is-saving {
  opacity: .78;
}

.admin-opening-hours__calendar-shell.is-saving .opening-hours-week__board, .admin-opening-hours__calendar-shell.is-saving .opening-hours-week__clear {
  pointer-events: none;
}

.admin-opening-hours__calendar .opening-hours-week__day-label {
  font-size: .9rem;
}

.admin-opening-hours__exceptions {
  gap: .75rem;
  display: grid;
}

.admin-opening-hours__exceptions-header {
  gap: .2rem;
  display: grid;
}

.admin-opening-hours__exceptions-title {
  color: var(--text-main);
  margin: 0;
  font-size: 1rem;
  font-weight: 700;
}

.admin-opening-hours__exceptions-hint {
  color: var(--text-muted);
  margin: 0;
  font-size: .88rem;
  line-height: 1.5;
}

.admin-opening-hours__exception-list {
  gap: .65rem;
  display: grid;
}

.admin-opening-hours__exception-item {
  background: #fffffffa;
  border: 1px solid #e2e8f0e6;
  border-radius: 12px;
  justify-content: space-between;
  align-items: center;
  gap: .85rem;
  padding: .8rem .9rem;
  display: flex;
}

.admin-opening-hours__exception-copy {
  gap: .12rem;
  min-width: 0;
  display: grid;
}

.admin-opening-hours__exception-label, .admin-opening-hours__exception-range {
  margin: 0;
}

.admin-opening-hours__exception-label {
  color: #a32227;
  letter-spacing: .01em;
  text-transform: uppercase;
  font-size: .82rem;
  font-weight: 700;
}

.admin-opening-hours__exception-range {
  color: var(--text-main);
  font-size: .92rem;
  font-weight: 600;
  line-height: 1.4;
}

.admin-opening-hours__exception-delete {
  flex-shrink: 0;
}

@media (width <= 767px) {
  .admin-opening-hours__calendar-shell {
    padding: .7rem .75rem .85rem;
  }

  .admin-opening-hours__exception-item {
    flex-direction: column;
    align-items: start;
  }
}

.confirm-delete-popover {
  z-index: 1200;
  justify-content: center;
  align-items: center;
  padding: 1rem;
  display: flex;
  position: fixed;
  inset: 0;
}

.confirm-delete-popover__backdrop {
  cursor: pointer;
  background: #0f172a73;
  border: 0;
  position: absolute;
  inset: 0;
}

.confirm-delete-popover__panel {
  background: #fff;
  border: 1px solid #cbd5e1;
  border-radius: .5rem;
  width: min(100%, 28rem);
  padding: 1.25rem;
  position: relative;
  box-shadow: 0 18px 45px #0f172a38;
}

.confirm-delete-popover__title {
  color: #0f172a;
  margin: 0;
  font-size: 1.1rem;
}

.confirm-delete-popover__message {
  color: #334155;
  margin: .65rem 0 1rem;
}

.confirm-delete-popover__field {
  gap: .4rem;
  display: grid;
}

.confirm-delete-popover__label {
  color: #334155;
  font-size: .85rem;
}

.confirm-delete-popover__input {
  background: #fff;
  border: 1px solid #cbd5e1;
  border-radius: .25rem;
  width: 100%;
  padding: .55rem .75rem;
}

.confirm-delete-popover__actions {
  justify-content: flex-end;
  gap: .65rem;
  margin-top: 1rem;
  display: flex;
}

.terms-agreement-popover {
  z-index: 1150;
  pointer-events: none;
  justify-content: center;
  display: flex;
  position: fixed;
  bottom: 1rem;
  left: 1rem;
  right: 1rem;
}

.terms-agreement-popover__panel {
  pointer-events: auto;
  background: linear-gradient(135deg, #fffffffa, #f8fafcfa);
  border: 1px solid #52bdec42;
  border-radius: .75rem;
  gap: 1rem;
  width: min(100%, 54rem);
  padding: 1rem 1.125rem;
  display: grid;
  box-shadow: 0 18px 45px #0f172a33;
}

.terms-agreement-popover__copy {
  gap: .55rem;
  display: grid;
}

.terms-agreement-popover__eyebrow {
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #52bdec;
  margin: 0;
  font-size: .78rem;
  font-weight: 700;
}

.terms-agreement-popover__title {
  color: #0f172a;
  margin: 0;
  font-size: 1.15rem;
}

.terms-agreement-popover__body {
  color: #334155;
  margin: 0;
  line-height: 1.625;
}

.terms-agreement-popover__links {
  flex-wrap: wrap;
  gap: .75rem 1rem;
  display: flex;
}

.terms-agreement-popover__link {
  color: #47a7e8;
  text-underline-offset: .15em;
  font-weight: 600;
  text-decoration: underline;
}

.terms-agreement-popover__error {
  color: #dc2626;
  margin: 0;
  font-size: .92rem;
}

.terms-agreement-popover__actions {
  justify-content: flex-end;
  align-items: flex-end;
  display: flex;
}

@media (width >= 720px) {
  .terms-agreement-popover__panel {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 1.25rem;
    padding: 1.125rem 1.25rem;
  }
}

@media (width <= 719px) {
  .terms-agreement-popover {
    bottom: .75rem;
    left: .75rem;
    right: .75rem;
  }

  .terms-agreement-popover__actions .button {
    width: 100%;
  }
}

:root {
  --duplico-blue: #52bdec;
  --max-w-4xl: 56rem;
  --max-w-6xl: 72rem;
  --space-4: 1rem;
  --bg-page: #f6f8fb;
  --card-bg: #fff;
  --card-border: #e6ebf2;
  --card-shadow: 0 6px 18px #1e3c5a14;
  --brand: #4fa3d1;
  --brand-strong: #2f86b5;
  --text-main: #1f2a37;
  --text-muted: #6b7280;
}
