@charset "UTF-8";
.app-spinner[data-v-2d228978] {
  flex-shrink: 0;
  display: block;
}
.app-spinner--spin[data-v-2d228978] {
  animation: app-spinner-spin-2d228978 1s linear infinite;
}
.app-spinner__track[data-v-2d228978] {
  opacity: 0.25;
}
.app-spinner__head[data-v-2d228978] {
  opacity: 0.75;
}
@keyframes app-spinner-spin-2d228978 {
from {
    transform: rotate(0deg);
}
to {
    transform: rotate(360deg);
}
}

.app-icon[data-v-bb670996] {
  flex-shrink: 0;
  display: block;
}
.cookie-consent[data-v-d0cd1a2d] {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 10000;
  padding: 12px 16px calc(12px + env(safe-area-inset-bottom, 0px));
  background: color-mix(in srgb, var(--background-surface) 94%, transparent);
  border-top: 1px solid var(--border-default);
  box-shadow: 0 -8px 24px rgba(15, 23, 42, 0.08);
  backdrop-filter: blur(10px);
}
.cookie-consent__inner[data-v-d0cd1a2d] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  max-width: 72rem;
  margin: 0 auto;
}
.cookie-consent__text[data-v-d0cd1a2d] {
  margin: 0;
  font-size: 0.8125rem;
  line-height: 1.5;
  color: var(--text-secondary);
}
.cookie-consent__link[data-v-d0cd1a2d] {
  color: var(--color-primary);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.cookie-consent__link[data-v-d0cd1a2d]:hover {
  color: var(--color-primary-hover, var(--color-primary));
}
.cookie-consent__btn[data-v-d0cd1a2d] {
  flex-shrink: 0;
  min-width: 72px;
}
@media (max-width: 640px) {
.cookie-consent__inner[data-v-d0cd1a2d] {
    flex-direction: column;
    align-items: stretch;
}
.cookie-consent__btn[data-v-d0cd1a2d] {
    width: 100%;
}
}
.product-brand-logo[data-v-6fd2510c] {
  --logo-wordmark-size: calc(1.3rem * var(--logo-scale, 1));
  --logo-tagline-size: calc(0.8rem * var(--logo-scale, 1));
  display: inline-flex;
  align-items: center;
  gap: calc(0.62rem * var(--logo-scale, 1));
  text-decoration: none;
  color: inherit;
}
.product-brand-logo--stacked[data-v-6fd2510c] {
  align-items: center;
}
.product-brand-logo--link[data-v-6fd2510c] {
  cursor: pointer;
  transition: opacity 0.15s ease;
}
.product-brand-logo--link[data-v-6fd2510c]:hover {
  opacity: 0.9;
}
.product-brand-logo__icon[data-v-6fd2510c] {
  flex-shrink: 0;
  display: block;
}
.product-brand-logo__text[data-v-6fd2510c] {
  display: flex;
  flex-direction: column;
  gap: 0.28rem;
  line-height: 1.15;
  min-width: 0;
}
.product-brand-logo__wordmark[data-v-6fd2510c] {
  display: inline-flex;
  align-items: baseline;
  gap: 0.06em;
  font-size: var(--logo-wordmark-size);
  letter-spacing: -0.035em;
  white-space: nowrap;
}
.product-brand-logo__glow[data-v-6fd2510c] {
  font-weight: 600;
  color: var(--brand-wordmark-glow, var(--color-text-primary, #1e2341));
}
.product-brand-logo__desk[data-v-6fd2510c] {
  font-weight: 700;
  color: var(--brand-wordmark-accent, #7c3aed);
}
.product-brand-logo__tagline[data-v-6fd2510c] {
  font-size: var(--logo-tagline-size);
  font-weight: 500;
  letter-spacing: 0.01em;
  line-height: 1.35;
  color: var(--brand-wordmark-tagline, var(--color-text-secondary, #64748b));
  max-width: 14rem;
}
.product-brand-logo--topbar[data-v-6fd2510c] {
  --logo-wordmark-size: 1.0625rem;
  gap: 0.5rem;
}
.product-brand-logo--topbar .product-brand-logo__wordmark[data-v-6fd2510c] {
  letter-spacing: -0.045em;
}
.product-brand-logo--topbar .product-brand-logo__glow[data-v-6fd2510c] {
  font-weight: 600;
  color: var(--color-text-primary);
}
.product-brand-logo--topbar .product-brand-logo__desk[data-v-6fd2510c] {
  font-weight: 700;
  color: var(--brand-wordmark-accent, var(--color-primary));
}

.toast-container[data-v-efacf2cb] {
  position: fixed;
  top: 1rem;
  right: 1rem;
  z-index: 10150;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  max-width: min(22rem, calc(100vw - 2rem));
  pointer-events: none;
}
.toast[data-v-efacf2cb] {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 0.75rem 0.875rem;
  border-radius: var(--field-radius);
  box-shadow: 0 8px 24px rgb(15 23 42 / 12%);
  pointer-events: auto;
  background: var(--color-background-surface, #fff);
}
.toast--success[data-v-efacf2cb] {
  border: 1px solid #86efac;
}
.toast--error[data-v-efacf2cb] {
  border: 1px solid #fecaca;
}
.toast--info[data-v-efacf2cb] {
  border: 1px solid #bfdbfe;
}
.toast--warning[data-v-efacf2cb] {
  border: 1px solid #fde68a;
}
.toast__message[data-v-efacf2cb] {
  flex: 1;
  margin: 0;
  font-size: 0.875rem;
  line-height: 1.4;
  color: var(--color-text-primary, #0f172a);
}
.toast__close[data-v-efacf2cb] {
  flex-shrink: 0;
  border: 0;
  background: transparent;
  color: var(--color-text-secondary, #64748b);
  font-size: 1.25rem;
  line-height: 1;
  cursor: pointer;
  padding: 0;
}
.toast-enter-active[data-v-efacf2cb],
.toast-leave-active[data-v-efacf2cb] {
  transition: opacity 0.2s ease, transform 0.2s ease;
}
.toast-enter-from[data-v-efacf2cb],
.toast-leave-to[data-v-efacf2cb] {
  opacity: 0;
  transform: translateX(12px);
}

.auth-shell[data-v-50dc1c85] {
  --color-primary: var(--landing-accent);
  --color-primary-hover: var(--landing-accent-hover);
  --color-primary-light: var(--landing-accent-light);
  --color-border: var(--landing-border);
  --color-background-surface: var(--landing-surface);
  --color-text-primary: var(--landing-text);
  --color-text-secondary: var(--landing-text-muted);
  --color-background: var(--landing-page-bg);

  min-height: 100vh;
  min-height: 100dvh;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 2.5rem 1rem;
  overflow-y: auto;
  background: var(--landing-hero-bg);
}
.auth-shell__inner[data-v-50dc1c85] {
  width: min(100%, 28rem);
}
.auth-shell__brand[data-v-50dc1c85] {
  display: flex;
  justify-content: center;
  margin-bottom: 1.5rem;
}
@media (max-width: 767px) {
.auth-shell[data-v-50dc1c85] {
    align-items: flex-start;
    padding-top: 1.5rem;
}
}
.auth-shell[data-v-50dc1c85] .card {
  background: var(--landing-surface);
  border: 1px solid var(--landing-border);
  border-radius: var(--surface-radius);
  padding: 1.75rem 1.5rem;
  box-shadow: 0 14px 40px color-mix(in srgb, var(--landing-accent) 8%, transparent);
}
.auth-shell[data-v-50dc1c85] h2 {
  margin: 0 0 1.35rem;
  font-size: 1.45rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--landing-text);
}
.auth-shell[data-v-50dc1c85] .field-input {
  border: 1px solid var(--landing-border);
  border-radius: var(--field-radius);
  background: var(--landing-surface);
}
.auth-shell[data-v-50dc1c85] .field-input:focus {
  border-color: var(--landing-accent);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--landing-accent) 22%, transparent);
  outline: none;
}
.auth-shell[data-v-50dc1c85] .border-primary.bg-primary {
  background: var(--landing-accent);
  border-color: var(--landing-accent);
  box-shadow: 0 2px 8px var(--landing-accent-shadow);
}
.auth-shell[data-v-50dc1c85] .border-primary.bg-primary:hover:not(:disabled) {
  background: var(--landing-accent-hover);
  box-shadow: 0 4px 14px var(--landing-accent-shadow-hover);
}
.auth-shell[data-v-50dc1c85] .text-primary {
  color: var(--landing-accent);
}
.auth-shell[data-v-50dc1c85] a.text-primary:hover {
  color: var(--landing-accent-hover);
}
.auth-shell[data-v-50dc1c85] .text-text-secondary {
  color: var(--landing-text-muted);
}
.auth-shell[data-v-50dc1c85] label {
  color: var(--landing-text);
}

.topbar-demo-badge[data-v-573e75ca] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-sizing: border-box;
  height: 2.5rem;
  padding: 0 0.875rem;
  border: 1px solid color-mix(in srgb, var(--color-primary, #6366f1) 28%, transparent);
  border-radius: var(--radius-md, 8px);
  background: color-mix(in srgb, var(--color-primary, #6366f1) 10%, transparent);
  color: var(--color-primary, #6366f1);
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1;
  white-space: nowrap;
  cursor: help;
  transition: color 0.15s, background 0.15s, box-shadow 0.15s, border-color 0.15s;
}
.topbar-demo-badge[data-v-573e75ca]:hover {
  background: color-mix(in srgb, var(--color-primary, #6366f1) 16%, transparent);
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--color-primary, #6366f1) 28%, transparent);
}
.topbar-demo-badge--compact[data-v-573e75ca] {
  height: 2rem;
  padding: 0 0.625rem;
  font-size: 0.8125rem;
  letter-spacing: 0.03em;
}

.org-header[data-v-ca0a47af] {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 0.75rem;
}
.org-header__logo-link[data-v-ca0a47af] {
  flex-shrink: 0;
  cursor: pointer;
  text-decoration: none;
  color: inherit;
  border-radius: var(--field-radius);
  transition: opacity 0.15s ease;
}
.org-header__logo-link[data-v-ca0a47af]:hover {
  opacity: 0.88;
}
.org-header__logo-link[data-v-ca0a47af]:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--color-primary) 45%, transparent);
  outline-offset: 2px;
}
.org-header__avatar[data-v-ca0a47af] {
  flex-shrink: 0;
  overflow: hidden;
  border-radius: var(--field-radius);
}
.org-header__avatar--image[data-v-ca0a47af] {
  width: 2.5rem;
  height: 2.5rem;
  border: 1px solid var(--color-border);
  background: var(--color-background-surface);
}
.org-header__avatar--initial[data-v-ca0a47af] {
  display: flex;
  width: 2.5rem;
  height: 2.5rem;
  align-items: center;
  justify-content: center;
  font-size: 0.875rem;
  font-weight: var(--font-weight-bold);
  color: var(--text-inverse);
  background-color: var(--color-primary);
}
.org-header__avatar-img[data-v-ca0a47af] {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.org-header__avatar--product .org-header__avatar-img[data-v-ca0a47af] {
  -o-object-fit: contain;
     object-fit: contain;
  padding: 0.25rem;
}
.org-header--topbar .org-header__avatar--product .org-header__avatar-img[data-v-ca0a47af] {
  padding: 0.1875rem;
}
.org-header__text[data-v-ca0a47af] {
  min-width: 0;
  flex: 1;
}
.org-header__name[data-v-ca0a47af] {
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.875rem;
  font-weight: var(--font-weight-bold);
  line-height: 1.3;
  letter-spacing: var(--tracking-tight);
  color: var(--color-text-primary);
}
.org-header__meta[data-v-ca0a47af] {
  margin: 0.125rem 0 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.75rem;
  font-weight: var(--font-weight-medium);
  line-height: 1.3;
  letter-spacing: var(--tracking-body);
  color: var(--color-text-secondary);
}
.org-header--topbar[data-v-ca0a47af] {
  gap: 0.625rem;
}
.org-header--topbar .org-header__avatar--image[data-v-ca0a47af],
.org-header--topbar .org-header__avatar--initial[data-v-ca0a47af] {
  width: 1.75rem;
  height: 1.75rem;
  border-radius: var(--field-radius);
}
.org-header--topbar .org-header__avatar--initial[data-v-ca0a47af] {
  font-size: 0.6875rem;
}
.org-header--topbar .org-header__name[data-v-ca0a47af] {
  font-size: 0.8125rem;
  font-weight: var(--font-weight-semibold);
  line-height: 1.2;
}
.org-header--topbar .org-header__meta[data-v-ca0a47af] {
  margin-top: 0;
  font-size: 0.6875rem;
  line-height: 1.2;
}

.notification-item[data-v-02840905] {
  position: relative;
  margin: 0.25rem 0.625rem;
  padding: 0.5rem 0.625rem 0.5rem 0.75rem;
  border: 1px solid var(--color-border);
  border-radius: var(--field-radius);
  background: var(--color-background-surface);
  transition: border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}
.notification-item--clickable[data-v-02840905] {
  cursor: pointer;
}
.notification-item--clickable[data-v-02840905]:hover {
  border-color: color-mix(in srgb, var(--color-primary) 35%, var(--color-border));
  box-shadow: 0 1px 4px rgb(0 0 0 / 5%);
}
.notification-item--clickable[data-v-02840905]:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}
.notification-item--unread[data-v-02840905] {
  background: color-mix(in srgb, var(--color-primary) 4%, var(--color-background-surface));
}
.notification-item__accent[data-v-02840905] {
  position: absolute;
  left: 0;
  top: 0.375rem;
  bottom: 0.375rem;
  width: 3px;
  border-radius: 0 2px 2px 0;
}
.notification-item__accent--created[data-v-02840905] {
  background: rgb(22 163 74);
}
.notification-item__accent--updated[data-v-02840905] {
  background: rgb(37 99 235);
}
.notification-item__accent--deleted[data-v-02840905] {
  background: rgb(220 38 38);
}
.notification-item__accent--reminder[data-v-02840905] {
  background: rgb(234 88 12);
}
.notification-item__accent--default[data-v-02840905] {
  background: var(--color-primary);
}
.notification-item__body[data-v-02840905] {
  min-width: 0;
}
.notification-item__top[data-v-02840905] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.375rem;
}
.notification-item__meta[data-v-02840905] {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  min-width: 0;
  flex: 1;
}
.notification-item__type[data-v-02840905] {
  font-size: 0.6875rem;
  font-weight: 600;
  color: var(--color-text-secondary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.notification-item__sep[data-v-02840905] {
  flex-shrink: 0;
  color: color-mix(in srgb, var(--color-text-secondary) 55%, transparent);
}
.notification-item__age[data-v-02840905] {
  flex-shrink: 0;
  font-size: 0.6875rem;
  color: color-mix(in srgb, var(--color-text-secondary) 75%, transparent);
}
.notification-item__dismiss[data-v-02840905] {
  flex-shrink: 0;
  padding: 0.0625rem;
  border-radius: var(--field-radius);
  color: var(--color-text-secondary);
  transition: color 0.15s ease, background-color 0.15s ease;
}
.notification-item__dismiss[data-v-02840905]:hover {
  color: var(--color-text-primary);
  background: var(--color-background);
}
.notification-item__primary[data-v-02840905] {
  margin: 0.25rem 0 0;
  font-size: 0.8125rem;
  line-height: 1.35;
  color: var(--color-text-primary);
}
.notification-item__headline[data-v-02840905] {
  font-weight: 600;
}
.notification-item__service[data-v-02840905] {
  color: var(--color-text-secondary);
}
.notification-item__secondary[data-v-02840905] {
  margin: 0.125rem 0 0;
  font-size: 0.75rem;
  line-height: 1.35;
  color: var(--color-text-secondary);
}
.notification-item__fallback[data-v-02840905] {
  margin: 0.25rem 0 0;
  font-size: 0.8125rem;
  color: var(--color-text-secondary);
  line-height: 1.4;
}

.notification-center[data-v-72401a7a] {
  position: relative;
}
.notification-bell[data-v-72401a7a] {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem;
  border-radius: var(--field-radius);
  color: var(--color-text-primary);
  transition: background-color 0.15s ease;
}
.notification-bell[data-v-72401a7a]:hover {
  background: var(--color-background);
}
.notification-bell__icon[data-v-72401a7a] {
  width: 1.5rem;
  height: 1.5rem;
}
.notification-bell__badge[data-v-72401a7a] {
  position: absolute;
  top: 0;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 1.25rem;
  height: 1.25rem;
  padding: 0 0.25rem;
  font-size: 0.6875rem;
  font-weight: 700;
  color: #fff;
  background: #ef4444;
  border-radius: var(--badge-radius);
}
.notification-backdrop[data-v-72401a7a] {
  position: fixed;
  inset: 0;
  z-index: 400;
  background: rgb(0 0 0 / 30%);
}
.notification-panel[data-v-72401a7a] {
  position: fixed;
  inset-block: 0;
  right: 0;
  z-index: 401;
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 24rem;
  background: var(--color-background-surface);
  border-left: 1px solid var(--color-border);
  box-shadow: 0 25px 50px -12px rgb(0 0 0 / 25%);
}
.notification-panel-header[data-v-72401a7a] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-shrink: 0;
  padding: 1rem;
  border-bottom: 1px solid var(--color-border);
}
.notification-panel-header__actions[data-v-72401a7a] {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.notification-panel-all-link[data-v-72401a7a] {
  padding: 0.375rem 0.625rem;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--color-primary);
  border-radius: var(--field-radius);
  transition: background-color 0.15s ease;
}
.notification-panel-all-link[data-v-72401a7a]:hover {
  background: color-mix(in srgb, var(--color-primary) 8%, transparent);
}
.notification-panel-close[data-v-72401a7a] {
  padding: 0.375rem;
  border-radius: var(--field-radius);
  color: var(--color-text-secondary);
  transition: color 0.15s ease, background-color 0.15s ease;
}
.notification-panel-close[data-v-72401a7a]:hover {
  color: var(--color-text-primary);
  background: var(--color-background);
}
.notification-panel-list[data-v-72401a7a] {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  padding-bottom: 0.5rem;
}
.notification-panel-items[data-v-72401a7a] {
  display: flex;
  flex-direction: column;
}
.notification-empty[data-v-72401a7a] {
  padding: 2rem;
  text-align: center;
  color: var(--color-text-secondary);
}
.notification-panel-footer[data-v-72401a7a] {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  flex-shrink: 0;
  padding: 1rem;
  border-top: 1px solid var(--color-border);
  background: var(--color-background-surface);
}
.notification-footer-btn[data-v-72401a7a] {
  width: 100%;
  padding: 0.625rem 1rem;
  font-size: 0.875rem;
  border-radius: var(--field-radius);
  border: 1px solid var(--color-border);
  color: var(--color-text-primary);
  background: var(--color-background);
  transition: background-color 0.15s ease;
}
.notification-footer-btn[data-v-72401a7a]:hover {
  background: var(--color-background-surface);
}
.notification-footer-btn-primary[data-v-72401a7a] {
  color: #fff;
  background: var(--color-primary);
  border-color: var(--color-primary);
}
.notification-footer-btn-primary[data-v-72401a7a]:hover {
  background: var(--color-primary-hover, var(--color-primary));
}

.shell-crm-ai-trigger[data-v-a8afda95] {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border: none;
  border-radius: var(--radius-md, 8px);
  background: color-mix(in srgb, var(--color-primary, #6366f1) 10%, transparent);
  color: var(--color-primary, #6366f1);
  cursor: pointer;
  transition: color 0.15s, background 0.15s, box-shadow 0.15s;
}
.shell-crm-ai-trigger[data-v-a8afda95]:hover {
  color: var(--color-primary, #6366f1);
  background: color-mix(in srgb, var(--color-primary, #6366f1) 16%, transparent);
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--color-primary, #6366f1) 28%, transparent);
}
.shell-crm-ai-trigger__badge[data-v-a8afda95] {
  position: absolute;
  top: 0;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 1rem;
  height: 1rem;
  padding: 0 0.25rem;
  border-radius: var(--badge-radius, 999px);
  background: #ef4444;
  color: #fff;
  font-size: 0.625rem;
  font-weight: 700;
  line-height: 1;
  border: 2px solid var(--color-background-surface, #fff);
  pointer-events: none;
}

.modal-subtitle[data-v-ae710ceb] {
  margin-top: 4px;
  font-size: 13px;
  line-height: 1.35;
  color: var(--color-text-secondary);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.modal-enter-active[data-v-ae710ceb],
.modal-leave-active[data-v-ae710ceb] {
  transition: opacity 0.3s ease;
}
.modal-enter-from[data-v-ae710ceb],
.modal-leave-to[data-v-ae710ceb] {
  opacity: 0;
}

.drawer-panel--lg[data-v-e0a83605] {
  width: min(100vw, 560px);
}
.drawer-panel--xl[data-v-e0a83605] {
  width: min(100vw, 640px);
}
.drawer-panel--2xl[data-v-e0a83605] {
  width: min(100vw, 920px);
}
.drawer-fade-enter-active[data-v-e0a83605],
.drawer-fade-leave-active[data-v-e0a83605] {
  transition: opacity 0.25s ease;
}
.drawer-fade-enter-from[data-v-e0a83605],
.drawer-fade-leave-to[data-v-e0a83605] {
  opacity: 0;
}
.drawer-slide-enter-active[data-v-e0a83605],
.drawer-slide-leave-active[data-v-e0a83605] {
  transition: transform 0.28s cubic-bezier(0.32, 0.72, 0, 1);
}
.drawer-slide-enter-from[data-v-e0a83605],
.drawer-slide-leave-to[data-v-e0a83605] {
  transform: translateX(100%);
}

.share-qr[data-v-637ba305] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 14px;
  border: 1px solid var(--color-border);
  background: var(--color-background);
}
.share-qr__image[data-v-637ba305] {
  display: block;
  width: 180px;
  height: 180px;
}
.share-qr__hint[data-v-637ba305] {
  margin: 0;
  max-width: 200px;
  font-size: 0.75rem;
  line-height: 1.4;
  text-align: center;
  color: var(--color-text-secondary);
}

.max-icon[data-v-4699c153] {
  display: block;
  flex-shrink: 0;
}

.share-link-panel--bordered[data-v-80d1b6bc] {
  padding: 18px;
  border: 1px solid var(--color-border);
  border-radius: var(--surface-radius);
  background: var(--color-background);
}
.share-link-panel__box[data-v-80d1b6bc] {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.share-link-panel__input[data-v-80d1b6bc] {
  width: 100%;
  padding: 10px 12px;
  font-size: 0.8125rem;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  color: var(--color-text-primary);
  background: var(--color-background-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--field-radius);
}
.share-link-panel__actions[data-v-80d1b6bc] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.share-link-panel__channels[data-v-80d1b6bc] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 12px;
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--color-border);
}
.share-link-panel__channels-label[data-v-80d1b6bc] {
  font-size: 0.75rem;
  color: var(--color-text-secondary);
}
.share-link-panel__channels-buttons[data-v-80d1b6bc] {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.share-link-panel__channel-btn[data-v-80d1b6bc] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  padding: 0;
  color: var(--color-text-primary);
  background: var(--color-background-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--badge-radius);
  cursor: pointer;
  transition: border-color 0.15s ease, background-color 0.15s ease, transform 0.15s ease;
}
.share-link-panel__channel-btn[data-v-80d1b6bc]:hover {
  border-color: var(--color-primary);
  background: var(--color-background);
}
.share-link-panel__channel-btn[data-v-80d1b6bc]:active {
  transform: scale(0.96);
}
.share-link-panel__channel-logo[data-v-80d1b6bc] {
  display: block;
  width: 22px;
  height: 22px;
  -o-object-fit: contain;
     object-fit: contain;
}
.share-link-panel__qr-modal[data-v-80d1b6bc] {
  display: flex;
  justify-content: center;
  padding: 8px 0 4px;
}
.share-link-panel__qr-footer[data-v-80d1b6bc] {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
  width: 100%;
}

.email-verification-banner[data-v-9a4bc23c] {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem 1rem;
  margin: 0 1rem 0.75rem;
  padding: 0.75rem 1rem;
  border-radius: var(--radius-surface, 0.75rem);
  border: 1px solid color-mix(in srgb, var(--color-warning, #f59e0b) 35%, var(--color-border));
  background: color-mix(in srgb, var(--color-warning, #f59e0b) 8%, var(--color-background-surface));
}
.email-verification-banner__content[data-v-9a4bc23c] {
  flex: 1 1 14rem;
  min-width: 0;
}
.email-verification-banner__title[data-v-9a4bc23c] {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--color-text-primary);
}
.email-verification-banner__text[data-v-9a4bc23c] {
  margin-top: 0.25rem;
  font-size: 0.8125rem;
  line-height: 1.45;
  color: var(--color-text-secondary);
}
.email-verification-banner__feedback[data-v-9a4bc23c] {
  margin-top: 0.5rem;
  font-size: 0.8125rem;
  color: var(--color-success);
}

.setup-onboarding[data-v-6547da0f] {
  margin: 1rem 1rem 0.75rem;
  padding: 0.85rem 1rem;
  border-radius: var(--radius-surface, 0.75rem);
  border: 1px solid color-mix(in srgb, var(--color-primary, #7c3aed) 38%, var(--color-border));
  border-left: 3px solid var(--color-primary, #7c3aed);
  background: linear-gradient(
    118deg,
    color-mix(in srgb, var(--color-primary, #7c3aed) 14%, var(--color-background-surface, #fff)) 0%,
    color-mix(in srgb, var(--color-primary, #7c3aed) 6%, var(--color-background-surface, #fff)) 48%,
    var(--color-background-surface, #fff) 100%
  );
  box-shadow:
    0 1px 2px color-mix(in srgb, var(--color-primary) 10%, transparent),
    0 4px 14px color-mix(in srgb, var(--color-primary) 14%, transparent);
}
.setup-onboarding__head[data-v-6547da0f] {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
}
.setup-onboarding__toggle[data-v-6547da0f] {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  width: 100%;
  padding: 0;
  border: none;
  background: transparent;
  cursor: pointer;
  text-align: left;
  color: inherit;
}
.setup-onboarding__title[data-v-6547da0f] {
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--color-primary, #7c3aed);
}
.setup-onboarding__percent[data-v-6547da0f] {
  margin-left: auto;
  font-size: 0.8125rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  color: var(--color-primary);
}
.setup-onboarding__chevron[data-v-6547da0f] {
  width: 1rem;
  height: 1rem;
  flex-shrink: 0;
  color: var(--color-text-secondary);
  transition: transform 0.15s ease;
}
.setup-onboarding__chevron--up[data-v-6547da0f] {
  transform: rotate(180deg);
}
.setup-onboarding__meter[data-v-6547da0f] {
  height: 0.55rem;
  border-radius: 999px;
  background: color-mix(in srgb, var(--color-primary) 10%, var(--color-border));
  overflow: hidden;
  box-shadow: inset 0 1px 2px rgb(0 0 0 / 7%);
}
.setup-onboarding__meter-fill[data-v-6547da0f] {
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(
    90deg,
    color-mix(in srgb, var(--color-primary) 85%, #fff),
    var(--color-primary, #7c3aed)
  );
  box-shadow: 0 0 10px color-mix(in srgb, var(--color-primary) 45%, transparent);
  transition: width 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}
.setup-onboarding__meter-meta[data-v-6547da0f] {
  display: flex;
  justify-content: space-between;
  font-size: 0.75rem;
  color: var(--color-text-secondary);
}
.setup-onboarding--collapsed .setup-onboarding__meter-meta[data-v-6547da0f] {
  display: none;
}
.setup-onboarding__body[data-v-6547da0f] {
  margin-top: 0.65rem;
  padding-top: 0.65rem;
  border-top: 1px solid color-mix(in srgb, var(--color-border) 75%, transparent);
}
.setup-onboarding__loading[data-v-6547da0f] {
  font-size: 0.8125rem;
  color: var(--color-text-secondary);
}
.setup-onboarding__links[data-v-6547da0f] {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}
.setup-onboarding__optional-item[data-v-6547da0f] {
  margin-top: 0.25rem;
}
.setup-onboarding__link[data-v-6547da0f] {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 0.65rem;
  width: 100%;
  padding: 0.55rem 0.65rem;
  border: 1px solid var(--color-border);
  border-radius: 0.6rem;
  background: var(--color-background-surface, #fff);
  text-align: left;
  cursor: pointer;
  transition:
    border-color 0.15s ease,
    background-color 0.15s ease,
    transform 0.15s ease;
}
.setup-onboarding__link[data-v-6547da0f]:hover {
  border-color: color-mix(in srgb, var(--color-primary) 35%, var(--color-border));
  background: color-mix(in srgb, var(--color-primary) 3%, var(--color-background-surface, #fff));
  transform: translateX(1px);
}
.setup-onboarding__link--done[data-v-6547da0f] {
  border-color: color-mix(in srgb, var(--color-primary) 28%, var(--color-border));
  background: color-mix(in srgb, var(--color-primary) 5%, var(--color-background-surface, #fff));
}
.setup-onboarding__link--optional[data-v-6547da0f] {
  border-style: dashed;
  background: transparent;
}
.setup-onboarding__mark[data-v-6547da0f] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 50%;
  border: 1.5px solid var(--color-border);
  color: var(--color-primary);
  flex-shrink: 0;
}
.setup-onboarding__mark[data-v-6547da0f] svg {
  width: 0.75rem;
  height: 0.75rem;
}
.setup-onboarding__link--done .setup-onboarding__mark[data-v-6547da0f] {
  border-color: var(--color-primary);
  background: color-mix(in srgb, var(--color-primary) 12%, transparent);
}
.setup-onboarding__mark--optional[data-v-6547da0f] {
  border-style: dashed;
  background: transparent;
}
.setup-onboarding__link-main[data-v-6547da0f] {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  min-width: 0;
}
.setup-onboarding__link-label[data-v-6547da0f] {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--color-text-primary);
  line-height: 1.25;
}
.setup-onboarding__link-brief[data-v-6547da0f] {
  font-size: 0.75rem;
  color: var(--color-text-secondary);
  line-height: 1.35;
}
.setup-onboarding__arrow[data-v-6547da0f] {
  width: 1rem;
  height: 1rem;
  color: var(--color-text-secondary);
  flex-shrink: 0;
}
.setup-onboarding__footer[data-v-6547da0f] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  margin-top: 0.75rem;
  padding-top: 0.65rem;
  border-top: 1px solid color-mix(in srgb, var(--color-border) 75%, transparent);
}
.setup-onboarding__footer-end[data-v-6547da0f] {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin-left: auto;
}
@media (max-width: 560px) {
.setup-onboarding__footer[data-v-6547da0f] {
    flex-direction: column;
    align-items: stretch;
}
.setup-onboarding__footer-end[data-v-6547da0f] {
    margin-left: 0;
    justify-content: flex-end;
}
}
/**
 * Design tokens CRM — единая точка настройки цветов, типографики и shell.
 *
 * Цвета primary/accent/chart/calendar переопределяются applyColorSchemeToRoot()
 * по color_scheme / dark_mode организации из bootstrap.
 *
 * Радиусы — DESIGN_TOKENS.md; дефолты ниже; preset из crms.config (product) через bootstrap.
 *
 * Шрифты: --font-family-sans + weights/sizes ниже; файлы — styles/fonts.css.
 */
:root {
  /* Scheme 1 — fallback до bootstrap / cached theme */
  --color-primary: #a21caf;
  --color-primary-hover: #86198f;
  --color-primary-light: #c026d3;
  --color-primary-dark: #7e1a9a;

  --color-secondary: #0a0a0a;
  --color-secondary-light: #334155;
  --color-secondary-lighter: #64748b;

  --color-background: #f8fafc;
  --color-surface: #ffffff;
  --color-background-surface: var(--color-surface);
  --color-border: #e2e8f0;

  --color-canvas: var(--color-surface);
  --color-fill-muted: var(--color-background);
  --color-fill-warm: #f1f3f5;
  --color-border-subtle: color-mix(in srgb, var(--color-border) 45%, transparent);
  --color-tint-mix: 20%;

  /* App shell — sidebar (tint от color_scheme организации) */
  --color-sidebar-bg: color-mix(in srgb, var(--color-primary) 8%, var(--color-background));
  --color-sidebar-hover: color-mix(in srgb, var(--color-primary) 12%, var(--color-background));
  --color-sidebar-sub-bg: color-mix(in srgb, var(--color-primary) 2%, var(--color-surface));
  --color-sidebar-border: color-mix(in srgb, var(--color-primary) 18%, var(--color-border));

  --appointment-card-surface: var(--color-canvas);
  --appointment-card-tint: var(--color-tint-mix);
  --appointment-card-border: transparent;
  --appointment-card-category-accent: 100%;
  --appointment-card-shadow: rgb(15 17 21 / 6%);
  --appointment-card-shadow-hover: rgb(15 17 21 / 10%);
  --appointment-card-shadow-drag: rgb(15 17 21 / 12%);

  /* Legacy / FullCalendar */
  --background-surface: var(--color-background-surface);
  --fc-border-color: var(--color-border);

  --color-success: #22c55e;
  --color-warning: #f59e0b;
  --color-error: #ef4444;
  --color-info: #3b82f6;

  --color-text-primary: #0f172a;
  --color-text-secondary: #64748b;
  --color-text-muted: #94a3b8;

  --bg-page: var(--color-background);
  --bg-surface: var(--color-surface);
  --bg-elevated: var(--color-background-surface);
  --bg-muted: var(--color-fill-muted);

  --text-primary: var(--color-text-primary);
  --text-secondary: var(--color-text-secondary);
  --text-muted: var(--color-text-muted);
  --text-inverse: #ffffff;

  --border-default: var(--color-border);
  --border-strong: color-mix(in srgb, var(--color-border) 75%, #000000);
  --divider: var(--color-border-subtle);

  --input-bg: var(--bg-surface);
  --input-text: var(--text-primary);
  --input-placeholder: color-mix(in srgb, var(--text-muted) 68%, transparent);
  --input-border: var(--border-default);

  --card-bg: var(--bg-surface);
  --card-border: var(--border-default);
  --overlay: rgb(15 17 21 / 45%);
  --focus-ring: color-mix(in srgb, var(--color-primary) 40%, transparent);

  --bg-accent-subtle: color-mix(in srgb, var(--color-primary) 8%, var(--bg-surface));
  --bg-accent-muted: color-mix(in srgb, var(--color-primary) 14%, var(--bg-surface));
  --border-accent-subtle: color-mix(in srgb, var(--color-primary) 26%, var(--border-default));
  --link: var(--color-primary);
  --link-hover: var(--color-primary-hover);

  --chart-1: var(--color-primary);
  --chart-2: var(--color-info);
  --chart-3: var(--color-success);
  --chart-4: var(--color-warning);
  --chart-5: var(--color-error);
  --chart-6: color-mix(in srgb, var(--color-primary) 38%, var(--color-info));

  --calendar-today-bg: color-mix(in srgb, var(--color-primary) 5%, transparent);
  --calendar-slot-hover-bg: color-mix(in srgb, var(--color-primary) 6%, transparent);
  --calendar-slot-selected-bg: color-mix(in srgb, var(--color-primary) 12%, transparent);

  /* Shell navigation — hub rail + sub-panel */
  --app-shell-nav-rail-width: 4.5rem;
  --app-shell-nav-rail-width-icons: 3.25rem;
  --app-shell-nav-sub-width: 12.75rem;
  --app-shell-sidebar-width-hub: calc(var(--app-shell-nav-rail-width) + var(--app-shell-nav-sub-width));
  --app-shell-sidebar-width-hub-collapsed: var(--app-shell-nav-rail-width);
  --color-nav-rail-active-bg: color-mix(in srgb, var(--color-primary) 16%, var(--color-sidebar-hover));
  --color-nav-rail-bg: var(--color-sidebar-bg);
  --color-nav-sub-hover-bg: color-mix(in srgb, var(--color-primary) 6%, var(--color-surface));
  --color-nav-sub-active-bg: color-mix(in srgb, var(--color-primary) 12%, var(--color-surface));
  --color-nav-edge-toggle-hover-border: color-mix(in srgb, var(--color-primary) 30%, var(--color-border));
  --shadow-nav-edge-toggle: 0 1px 4px color-mix(in srgb, var(--color-primary) 12%, rgb(15 23 42 / 10%));
  --nav-sub-panel-edge-shadow: color-mix(in srgb, var(--color-primary) 12%, rgb(15 23 42 / 0.04));
  --color-nav-rail-fg: var(--color-secondary-light);
  --color-nav-rail-fg-hover: var(--color-text-primary);
  --color-nav-rail-fg-active: var(--color-primary);
  --color-nav-sub-link-fg: var(--color-text-primary);
  --color-nav-sub-link-fg-hover: var(--color-text-primary);
  --color-nav-sub-link-fg-active: var(--color-primary);
  --color-nav-heading-fg: var(--color-text-primary);

  /*
   * Typography — единая точка настройки шрифтов.
   * При смене --font-family-sans обновите импорты в styles/fonts.css (@fontsource).
   */
  --font-family-sans: 'DM Sans', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --font-sans: var(--font-family-sans);

  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;

  --tracking-body: -0.011em;
  --tracking-tight: -0.02em;
  --tracking-nav-rail: 0.015em;

  --text-xs: 0.6875rem;
  --text-sm: 0.8125rem;
  --text-base: 0.9375rem;
  --text-lg: 1.0625rem;
  --text-xl: 1.1875rem;
  --text-2xl: 1.375rem;

  --leading-xs: 1rem;
  --leading-sm: 1.25rem;
  --leading-base: 1.5rem;
  --leading-lg: 1.75rem;
  --leading-nav-rail: 1.2;
  --leading-nav-sub: 1.35;

  /* Геометрия UI — см. documentation/platform/DESIGN_TOKENS.md */
  --control-radius: 0; /* сегменты тулбара (bulk, utils, view toggle) */
  --button-radius: 8px; /* все кнопки, в т.ч. одиночные в тулбаре */
  --field-radius: 8px; /* inputs, selects, textarea */
  --surface-radius: 8px; /* cards, panels, modals */
  --badge-radius: 999px; /* статусы, client tags, счётчики */
  --swatch-radius: 4px; /* legend swatches, мелкие метки цвета */

  --text-nav-rail: var(--text-xs);
  --text-nav-sub: var(--text-sm);
  --text-nav-heading: var(--text-sm);
}

:root[data-theme='dark'] {
  --color-background: #0f1115;
  --color-surface: #171a21;
  --color-background-surface: #171a21;
  --color-border: #2b3140;
  --color-border-subtle: color-mix(in srgb, #2b3140 55%, transparent);
  --color-fill-muted: #11151d;
  --color-fill-warm: #1a202c;
  --color-canvas: #171a21;
  --color-tint-mix: 12%;

  --color-sidebar-bg: color-mix(in srgb, var(--color-primary) 10%, var(--color-background));
  --color-sidebar-hover: color-mix(in srgb, var(--color-primary) 14%, var(--color-background));
  --color-sidebar-sub-bg: color-mix(in srgb, var(--color-primary) 4%, var(--color-surface));
  --color-sidebar-border: color-mix(in srgb, var(--color-primary) 22%, var(--color-border));

  --color-text-primary: #e8ecf4;
  --color-text-secondary: #aab2c5;
  --color-text-muted: #7f899f;

  --bg-page: var(--color-background);
  --bg-surface: var(--color-surface);
  --bg-elevated: #1c212b;
  --bg-muted: #11151d;

  --text-primary: var(--color-text-primary);
  --text-secondary: var(--color-text-secondary);
  --text-muted: var(--color-text-muted);
  --text-inverse: #0f1115;

  --border-default: var(--color-border);
  --border-strong: #3a4254;
  --divider: #242b38;

  --input-bg: #151922;
  --input-text: var(--text-primary);
  --input-placeholder: color-mix(in srgb, var(--text-muted) 62%, transparent);
  --input-border: var(--border-default);

  --card-bg: var(--bg-surface);
  --card-border: var(--border-default);
  --overlay: rgb(5 8 13 / 62%);

  --appointment-card-surface: var(--bg-elevated);
  --appointment-card-tint: 12%;
  --appointment-card-border: var(--border-default);
  --appointment-card-category-accent: 76%;
  --appointment-card-shadow: rgb(0 0 0 / 30%);
  --appointment-card-shadow-hover: rgb(0 0 0 / 44%);
  --appointment-card-shadow-drag: rgb(0 0 0 / 50%);

  --color-nav-rail-fg: var(--color-text-secondary);
  --color-nav-rail-fg-hover: var(--color-text-primary);
  --color-nav-sub-link-fg: var(--color-text-primary);
  --color-nav-sub-hover-bg: color-mix(in srgb, var(--color-primary) 10%, var(--color-surface));
  --color-nav-sub-active-bg: color-mix(in srgb, var(--color-primary) 16%, var(--color-surface));
  --nav-sub-panel-edge-shadow: color-mix(in srgb, var(--color-primary) 20%, rgb(0 0 0 / 0.16));
}

.text-primary {
  color: var(--color-primary);
}

.text-secondary {
  color: var(--color-secondary);
}

.text-muted {
  color: var(--color-text-muted);
}

.bg-primary {
  background-color: var(--color-primary);
}

.bg-secondary {
  background-color: var(--color-secondary);
}

.bg-surface {
  background-color: var(--color-surface);
}

.border-primary {
  border-color: var(--color-primary);
}

.border-secondary {
  border-color: var(--color-secondary);
}

html {
  font-family: var(--font-family-sans);
  letter-spacing: var(--tracking-body);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}
/**
 * Webfont files for --font-family-sans (design-tokens.css).
 * При смене шрифта замените импорты ниже и значение --font-family-sans.
 */
/* dm-sans-latin-ext-400-normal */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/crm/assets/dm-sans-latin-ext-400-normal-BtiwyxMk.woff2) format('woff2'), url(/crm/assets/dm-sans-latin-ext-400-normal-BjWJ59Pq.woff) format('woff');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
/* dm-sans-latin-400-normal */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/crm/assets/dm-sans-latin-400-normal-CW0RaeGs.woff2) format('woff2'), url(/crm/assets/dm-sans-latin-400-normal-BwCSEQnW.woff) format('woff');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
/* dm-sans-latin-ext-500-normal */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(/crm/assets/dm-sans-latin-ext-500-normal-BJfUCQsA.woff2) format('woff2'), url(/crm/assets/dm-sans-latin-ext-500-normal-DR84L5F-.woff) format('woff');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
/* dm-sans-latin-500-normal */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(/crm/assets/dm-sans-latin-500-normal-B9HHJjqV.woff2) format('woff2'), url(/crm/assets/dm-sans-latin-500-normal-Dr3UlScf.woff) format('woff');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
/* dm-sans-latin-ext-600-normal */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(/crm/assets/dm-sans-latin-ext-600-normal-4vooXBpG.woff2) format('woff2'), url(/crm/assets/dm-sans-latin-ext-600-normal-DRtaDpgU.woff) format('woff');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
/* dm-sans-latin-600-normal */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(/crm/assets/dm-sans-latin-600-normal-Aqo67rzb.woff2) format('woff2'), url(/crm/assets/dm-sans-latin-600-normal-BmdmIIQ2.woff) format('woff');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
/* dm-sans-latin-ext-700-normal */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/crm/assets/dm-sans-latin-ext-700-normal-CJIcxD6K.woff2) format('woff2'), url(/crm/assets/dm-sans-latin-ext-700-normal-BLI3TTWz.woff) format('woff');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
/* dm-sans-latin-700-normal */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/crm/assets/dm-sans-latin-700-normal-DvUfVpUG.woff2) format('woff2'), url(/crm/assets/dm-sans-latin-700-normal-CUSSCpQX.woff) format('woff');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
/* ComDesk marketplace — Onest (OFL, кириллица) */
/* onest-cyrillic-ext-400-normal */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(data:font/woff2;base64,d09GMgABAAAAAASsABAAAAAACKgAAARRAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhYbbhwuBmA/U1RBVC4AbBEICoUMhBULGgABNgIkAy4EIAWEDAd2DAcb+QZRlDBKP8AXCRxeMX+KMhjaYUFBg8aLX46dZEHCfD4evt/vf2vvc7+ZJG3WPCqEwnQa00liKdHEQqZawzvpHdVl1TNhd2CsTpgkB+4t6NkTvqZewo9Citv8ZVmpWkMSVP0P4L8/qwr/J44Zb6PNojkDbCOdSCZWYRRF24AnNo+Of67kf8C/t7e5Jjpz/ghvBxpbvXtCgVZACqEIgWbLuqKP+g+VQtYbE/ZC1jexfsgSA1+OlHu2sB8SQLAqGQiNkg2dV+RLdNiSljt0dkSuauLNcwK7StZjcw7NFks+LCWAY7t03AWeXxRjNiC9y4sjlsBp6JP76av/blG9bsMBvARkR34CJiUKoVGgF8Io6r7DySIKqSCjPh6BfA1wK8VDR3vGxrgEuqXJL0ttJjFWO4Oo6mPZ/v+CBvzwF8wbpzkw0NqfgiiuELVLBWl14CDQglfAT2AU6AVIWStiOyfC+xZVNTqBzknLyWBiUlWJyQnm5MQk4iEuLE+SKpLVRKMmKkITimiIUoXVmMI0Vo6b+vBsCVlxhUy7VkqWn75PNHIiI4gAURCpCssxYISlHqZpyZYD3XJoW2FXmtA7u3kWTVlViBFRYJS8aB9atvMqnnr+cB5ede7WIzLtwY09MHn55iwCWEogaf5imHziCpl26FiMb16/r1cQqX7qQ/n+C2XWvP3y9n3is3vPAMednRB7Vt9l0W0e6ZuqObMg5ZT1pM64ua+bUTBeU6kH6py22tfyvHwF3yu3kLkuUzC4eGrh8IzUhobUjOFk6ZBiSDmYuemXbuFL5pXsFVOUOhGCMZb5L4a+lL0cWk1YJ+Apx3ql5OhmFBXN8MWNL1sTXzsgnSUNSeFgX+E4VvxBKPzxqSj1Cb+ioME/SasYc35gem11v3Trr4bCjXhZh3AqK/4vVIxamlExYHJJ0a+e01TyUXsGpUKtRTpda5kOsIXKdtT3cGC8bIbP1DwgNGiOc9iJAFo675+AZvJZVtkPORdC8Dlm27ipPb8mpPwAfKlelgP4XlJP//cnGU6fBuolCF4IY7llCIdQigCiMltyFLJqJTzJyi2k5H9ctPOvvAF5Cq2g9pgshFb7KMPoiJulQLMHaFE14YUfa0Jo9o+Q2n0jFJt2EyrDFhLq7NES6g1rw7fbksQQqRVNfdxWi42LgxPbhBdlUER3re8jwiLMJYgV0SLCxatFQJhDK6H+hhLys4lgNROzcYjyMgmTswl7tgrwK8PVgiOcPTjYsQKDvCI0OFp004JfCnVx+ZTlxynvCCpiEj3OkY/kcjPbBQSNEc7AAGV4OHi4ykhRgC3vLJEjhAW4MZDFyojmTRN4zuJl6nJodXCxWkWZtbAI8GWW08UnyMTrbBWo3noUJbB2AHguasWsK4iKEpUSdVEfDdEYTfX75r//T4uP+l0cQTvXBvGiOAyHahfPH/I4bYJEkyXK2v6NQ4iKCE34nM6H0f92x8wAAAA=) format('woff2'), url(data:font/woff;base64,d09GRgABAAAAAAcAAA8AAAAACIgAAQABAAAAAAAAAAAAAAAAAAAAAAAAAABHREVGAAABWAAAABYAAAAWABEABEdQT1MAAAFwAAAAUQAAAG6PI5dNR1NVQgAAAcQAAAAtAAAALiN2JIJPUy8yAAAB9AAAAEsAAABgZeN/AVNUQVQAAAJAAAAAKwAAAC55l2zdY21hcAAAAmwAAABOAAAAbD9K6d1nYXNwAAACvAAAAAgAAAAIAAAAEGdseWYAAALEAAACFgAAAoRT6TWYaGVhZAAABNwAAAA1AAAANijXB4xoaGVhAAAFFAAAAB8AAAAkDkkJH2htdHgAAAU0AAAALQAAAC4UxwBVbG9jYQAABWQAAAAaAAAAGgRUA35tYXhwAAAFgAAAABwAAAAgACACn25hbWUAAAWcAAABCAAAAgwrkE1pcG9zdAAABqQAAABZAAAAdl6LW1IAAQAAAAwAAAAAAAAAAgABAAEAAwABAAB42mNgZGBg4GLQYrBgYHZx8wlhEEmuLMphEMlJLMljEGFgYQCC///BqhizU4vyGDhALBAGyjEBeYxAzARVqcYgA+QzAVn8IBqKESQDAPJVCZEAAAB42mNgZGBg4GLQAUJmFzefEAaJ5MqiHAaRnMSSPAYRBhBgARH//4NIAJZPBzwAAAB42mNgYXJjnMDAysDA1MUUwcDA4A2hGeMYjBh+MaAAJnYQAeMFRAYFMxxg4FXYwnzq33kGBpY9jH5A4elglfxMh4GUAgMnAC7JDL4AeNpjYARCDiBmYBABkzIMTOXpGSWMTEA2EwMziGRkY5wApPYwMAAAOZ4DWQB42mNgYGACYmYgFgGSjGCahSECSAsxCDAwA2V5GRQYHBkWMBxkZGI5pLDl/3+gHLLYQZDY/9//n/0/8D/9v+N/xt/O90OBJmEAAMSlFz8AAAABAAH//wAPeNo80EOYHEEUAOBXVeOZxaC7g0mrtqd7jRrFtm0b170E99i2nVyiW3gLLrFt2+lJLcv+63uAIWLfwh5yGgi4AcJBLWhoQS2Cvtoiemir9i3Hiz8NfY4rgMEHgFfic/wcHzHEEDU1d0ojPuSeg1yj0vb29ECUtxyf+9dy7doXaClkMjV3yBYcAwRQdRP1hsP168vr1/18/Sg3sgFIL7IWBDC4ESYszII8hxkJU0KDPBOkx2ImE0VWkUyxbJx9+tSYfdMGz9g36tSZSTtmDJ6xAzWLd8/HvXB5QUE57oUKeqCJaJR9CrWtrtvtDYjZl6oqCcvNi6iq0qLmco2N3+An3DarbJNJLMEElmLuMDWpQBPUXWPLmNs1+Im9I9e0Hdh2zci9J8av6jGwxyrkj/ewOC7mR6P5EqrmI3+e8vTHfvuEJzyKo5KcnS1LVSwgKM38xDK+AG0AnHoJTsSTKZpgvGrJZCIZi1Hd5XLTVoRVyFiI8DETKK+ayyVEeBhqvkKQaXZJax5Pm1mVH1HvXBXJcb0RMz0jXFbLrqbRKaX6g74O8ysz9j6Pz2gqR8vyvENdVotunpDRoiBAg7379/ayqFoQ8Suq1cwIhYzmBY3NxgG+7mkc0q2gv0nUTOu5gDI38QSYhz8BASA8PNbAERPwhEWL+M5APBQO4Pv/B45HJeRoYvSPRI4SpkgXR1DIa9vIAQCuA42dAAB42mNgZGAAYdGQayXx/DZfGZiZXzAAwT3V2WIg+qGcJvP/0H8XuNWZDwC5bAxMIFEANkALQQAAAHjaY2BkYGA+9e88AwN3zf/Qfye41YEiqIAbAKUyBnsAeNpjkmEQYZrHwAXDzDEMfEw/GfgY+RgYQJhhLwMDky+DPgPD/xv/QwGRFwgrAAAAAAAAFQAvADsARwCFAMEAwQDBAMEBGgEnAUIAAHjaY2BkYGDgYXJk4GGIYWAB8xCAmYERABEXAMJ42mJgYOBiqGNgZmBk4QSypzH8gLIZgeLvAHWQA25EURhGTxkUC2j0wtpugzqobWNs76pLmqX01JrJ1f/p6qNupJPqe+08wvNH3UyXife6hTkuPupW+aX32uQU7e91Q6MVH3WrSpVjHokQIkwehy1NjjmGbTnuyaqmyVsPkbOOu6ZkQ+rbrLHhnORRLc8ge1YhCrpu9RyJspgykSRg1OwINuZ1PZlI2eI6zhlRm3WM2y5/7Bn82fPnHjucqu5b1b3Db/TDt+zJaSpyn68PGGPEMWp1IPPo+vMeO3pTRMX3iFmk4BqW843inn//FyKCDn13DHGvMyHrf7imucWXi1NfZ/S+AH0nTyR42mNgYgCD/1sZjBiwAR4gVmE4ycjEyMzIwsDMyMrIxsjOyMHIyeaYVJRalspempdpYOJsCKWNwLSBowGTcxCIaWTgZMKZmFxakpqcn5sEljQ2MAMAO/gUiQAAAA==) format('woff');
  unicode-range: U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
}
/* onest-cyrillic-400-normal */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/crm/assets/onest-cyrillic-400-normal-DH8vlB-A.woff2) format('woff2'), url(/crm/assets/onest-cyrillic-400-normal-BxvCLB5P.woff) format('woff');
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}
/* onest-latin-ext-400-normal */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/crm/assets/onest-latin-ext-400-normal--mQR5RlC.woff2) format('woff2'), url(/crm/assets/onest-latin-ext-400-normal-BbXTNVXw.woff) format('woff');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
/* onest-latin-400-normal */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(/crm/assets/onest-latin-400-normal-bladozIj.woff2) format('woff2'), url(/crm/assets/onest-latin-400-normal-BAzPRZHg.woff) format('woff');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
/* onest-cyrillic-ext-500-normal */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(data:font/woff2;base64,d09GMgABAAAAAATEABAAAAAACMQAAARpAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhYbbhwuBmA/U1RBVCoAbBEICoUMhBYLGgABNgIkAy4EIAWEKgd2DAcbFAcIngV2w3VRgnH8O2HJGV3SEOLh+7Fv59731kSjtgWaiNWdTtyGZQuJRKaJlUKyxpDp/+g9+9nkmD0QOQIplAbts78gkcBufytLI3cNmqoE/Q/gv3/imPEirUIzwEY8sSyromiKxA10YrMMSp2tKQroAf/enh7MfnTb3TFPjNC5o0AnIIVQhEC7dYnIU/mltWB3+/EqsHtdogbsGMDnUXDE8BowwZNUqQ1ozAmoZW6RRE8uR5XcaFPcJlrSyQtsDLC45j76AobkC6IRwOm8cdyDaL8EvNmC9LEXZnUNHICa3UKe+nce1A+oHMAbALInvwOzTIXQKjAIYRLxWCoTEYEUEC3xHwCJMsFITsw2cAPoZ9XxvanLrCwL4CAi6jevLf+FA7/+BPPMAVJZ0HLu1wESiIVo/K9DdtpyFOjAewD/gElgECBlA8jyikU+W9TaWoatHGyyDCxvmpq3PjI37ew4wnKq3qy2wbwZtzTjJkx2ZMdt3NhENVNEe2m/MWD8tUMeeO5OPGG3J55z4Apuqcd1GHXouI5rm6h6Ctqj/YpysG3myq3UsX21K9V0dWScO4SGzXekkL0ghbrerEez1+2ixm/Z4UTNP3z+Op5w9exB+HNm2GFov4Kh8+UMGLr36DJzzlxpb8C17eOv1R9h46FXrtgGPP/z/KPpi8svINu/jTM9xMdMqg43qX9jNkoL1FfpgWb94ngmQZEgTXevO9h8SDpwTqiMVtDSuaG2i83iyjzWhbdYvQ8IvA+77Sv3AOqd7bxf7NjbOXdkd3LAcHb+rzW2+lE3S2/JbpWCf8SgJq7cc61ni32p2tmlrdWwxfJsmScEZkCR9RaatuDYtLohksJndZUvdjvhrR89XV7RA1Ul876V2gQGFFgvoWmnyTcmpNeNlRZ+qKvXz7DyIMvd3E796qsonvikzApiTts0lpsGcHm0FkLBsr0fGHjftjkiNLPcC4hlQGjRHtdgfRXQ4dwSCSwm35JLcuPMN3gNT8Zu+tphmfrVhCx/AT/9ZzsA8McjmPxf8ZukjjwANEsQvAhLOR4EV1EHkKC0IxfBLtaAsWQqx0CVTkr0A/ymHvIyhILGGRUhdDpEGEcuakyc/RpIUduoGP9xWhj1jJa6/aAV21ZV16G0Jge0tGajGmnddvjQelFGqX3MdFojIQSgZZNO1zHkpGREZRi9XISOWgWNUyAO+PsiLUGyCBEEPXhyWiJBOIGcSjgWTypChXyly9SGLR+px+CnTmJpeIkSLjISTSElIWJDKoKWrtRwScLFwNq2Cd2r1KRajZTtANXNpXRUuvCDJb3Kc7C0+uGfIttLtEjRorC2tgPAVC6SpRKPpTCgHmcW3VPp2cvV9xL0bE4p+cBJOt3C9WCpH1Mrz51aXVf2RmC3CgYjBFIbWyHa2Tqx6CQiokRVoimaoyVao635sJtn9IyxTiOPjM2JykHRaZFZkUROtfxidGR2rGlXj05k/s5hNdb1GhMTGb8D/R+1wWASAAA=) format('woff2'), url(data:font/woff;base64,d09GRgABAAAAAAcEAA8AAAAACIAAAQABAAAAAAAAAAAAAAAAAAAAAAAAAABHREVGAAABWAAAABYAAAAWABEABEdQT1MAAAFwAAAAUQAAAG6PI5dNR1NVQgAAAcQAAAAtAAAALiN2JIJPUy8yAAAB9AAAAEsAAABgZkd/CVNUQVQAAAJAAAAAJwAAACp5mGqBY21hcAAAAmgAAABOAAAAbD9K6d1nYXNwAAACuAAAAAgAAAAIAAAAEGdseWYAAALAAAACIAAAAoQ6O28JaGVhZAAABOAAAAA1AAAANijNB41oaGVhAAAFGAAAAB8AAAAkDj8I/GhtdHgAAAU4AAAALAAAAC4ViQA0bG9jYQAABWQAAAAaAAAAGgRUA35tYXhwAAAFgAAAABwAAAAgACACn25hbWUAAAWcAAABCQAAAggqskyvcG9zdAAABqgAAABZAAAAdl6LW1IAAQAAAAwAAAAAAAAAAgABAAEAAwABAAB42mNgZGBg4GLQYrBgYHZx8wlhEEmuLMphEMlJLMljEGFgYQCC///BqhizU4vyGDhALBAGyjEBeYxAzARVqcYgA+QzAVn8IBqKESQDAPJVCZEAAAB42mNgZGBg4GLQAUJmFzefEAaJ5MqiHAaRnMSSPAYRBhBgARH//4NIAJZPBzwAAAB42mNgYfJj/MLAysDA1MUUwcDA4A2hGeMYjBh+MaAAJnYQAeMFRAYFMxxg4FXYwnzq33kGBpY9jH5A4elglfxMh4GUAgMnAFU9DSoAeNpjYARCDiBmYBABkzIMTOXpGSWMTEA2E1iEgZGd8QsDAwAuAwL8AHjaY2BgYAJiZiAWAZKMYJqFIQJICzEIMDADZXkZFBgcGRYwHGRkYjmksOX/f6AcsthBkNj/3/+f/T/wP/2/43/G3873Q4EmYQAAxKUXPwAAAAEAAf//AA942kURA5BbQfTt2ziZODnf/Z9Nfoy5DWrbdjuq7UE1qjGubXuMalCNag1q2/q5zXHx7AcIbvU+2ul5oKAHcDlkR0B2yG7yT7WSV2qxel/z8m+JSXMTsKDHfXhJYBMAJ5ywoKzPyVRPzCuJaXZaPZ4eSizL8NL/1uvWvSezIJ+v86F7UQECUPAkQ+BEo3xTo9ws5GcBC5HpPLoJPBAQOVyUu7hDXBenLkaZQ1xKfIoS5F4vr87muBVNFy/M3ztu8oS98y5eWrht4uQJ20mLTJ8oHYlJJZggI0msL5lIRqpXSK7271M3kph6q/CppaptUpYkOdm2qj434hORO1jIHeRFPMM9PMf1LhZkHpZh+rrclShy1yU/umPGyo4TO66csfPY/GW9JvZaRrSZvlEciZ5gSaniFenjfYj77yNx/qrvHoiDg6Q2KW+F1VrhTbWRAAhE878whNehHYDWl8BMOptjGS6+nM1msorCfDqdnrWhvLoSPW5Bcw8TX9bpPG6vt74USkJKj1bMoG+9ZMIL0s9WTspTVaVJZpiqjbTrHVS6tWQmq7HNiomf1MMGk5wpL49LhsnacNs+Bmegdczqsw/uPtgYKy5XnOaKiljboKsgLvaXWIRcX2Kv9NvMZSXR1gEHkPx1HA2b8BtQACrGkx4zYzaO3rBBaPriIDiFz8EqNL6mNYmqyYDRZAQmgsEEjogJs+7d/JLkT7aXawBfmI2AeNpjYGRgAGEPt6yUeH6brwzMzC8YgOCe6mwxEP1QTpP5v/e/i9zqzAeAXDYGJpAoACcZCuEAAAB42mNgZGBgPvXvPAMDd9l/73+rudWBIqiAGwChVQZOAHjaY1JhEGFaw8AOw8z1DFzMPAxcjEIMDGDMz8DAFMygzcDw/8x/fwB7OgbOAAAAFQAvADsARwCFAMEAwQDBAMEBGgEnAUIAAHjaY2BkYGDgYXJk4GGIYWAB8xCAmYERABEXAMJ42nSQtVUEUBAAB3diwstwd0jwBHd3dznXMoipiAoogwIY3N+XnfW3CxSTIYes3CLglsc3zqKChzfOppx7WfZv4O6Nc7/E5NHDwRvna59443I61F44K5tSjywXSDDOPnscE+acRfalQ44I4fNcEaSHRk+QXW70XhGSGwjKZ8pLrYf6JxlhzP+CfX0h6r9VXpBvMMf4CwI000ATHno55MD4S8+ZEavaGuj2tXrWv0VOscwMs9J/fWbkQ+mMbW6+RAW+RQ1yyRVxbj6mDdBCk69ZmtOyr/yaPcWNOSfqu6jTTxh3pM2p1Kt+7euQY4wwbocGdo081+oGlFds46zqboOnQezQBAA5nU2MAAAAeNpjYGIAg/9bGYwYsAEeIFZhOMnIxMjMyMLAzMjKyMbIzsjByMnmmFSUWpbKXpqXaWDibAiljcC0gaMBk3MQiGlk4GTCmZhcWpKanJ+bBJY0NjADADv4FIkAAAA=) format('woff');
  unicode-range: U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
}
/* onest-cyrillic-500-normal */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(/crm/assets/onest-cyrillic-500-normal-DHyr8B2c.woff2) format('woff2'), url(/crm/assets/onest-cyrillic-500-normal-CyY1vN0Q.woff) format('woff');
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}
/* onest-latin-ext-500-normal */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(/crm/assets/onest-latin-ext-500-normal-BlXa29q8.woff2) format('woff2'), url(/crm/assets/onest-latin-ext-500-normal-CoujUMv_.woff) format('woff');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
/* onest-latin-500-normal */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url(/crm/assets/onest-latin-500-normal-qHiQtL66.woff2) format('woff2'), url(/crm/assets/onest-latin-500-normal-oFTiz6Nq.woff) format('woff');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
/* onest-cyrillic-ext-600-normal */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(data:font/woff2;base64,d09GMgABAAAAAAS4ABAAAAAACNgAAARcAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhYbbhwuBmA/U1RBVCoAbBEICoUQhB8LGgABNgIkAy4EIAWEOgd2DAcbLQdRlOjRMRH9TLBtH6T1oWGTA/6W6DMHz/Pv2f/aJ6mSGXckdKir4tJ4hr7I5n8hUgCszZVMqcoRqP3UowKGHuD8X05v2Fljed/aYEWayNgLz6IxcQAGmGVzAo0FNtbzXsBZQgFowJhtOXx45KPomiTCHhFxcglahuiMCBAAACgEQUMQwCCXarS2jr7ROKetWTof5/wpyxfiRAd4NbLmzVi6EDvsDHSUVsiojIRM4nEFBIu8FbORNEo++cLRYSARZpiu+pUbC6i9Qobe+jKRUv4Gu7IBij9xyDMyiscITL5Le+H/V0F/SAaAUwAqWD0JJONAEOwI4ESAeNSqWbOXiwIUAiB25QZAARrgREMAJzpuIIwQNBSBJOPiMh4XpT+RfJcfaMjj7+D/xzceM8vv8ss/rZ+OQYCAIH4EgwWwYTRgAncDv0A84ARAofyQSZH7sRFdt2uRIZFhLj3Y4wi2Tw10BJjzzDnG2IDR40yv6fOaHlMzlekz3R7DayhDG+tet/edd1LNC/eb+x5MMi976y3TN9YcY4qJOc4c7THGGhhijJ5k8py5/u7uu/fGuK6ZoiS98oRsuRRlyLbYkMBTt8qWG+4x9t51XbRx5buQLMu8/fLjbD5/2mlijDYJOH6azX7ofOO3Jo4zR0/c+87Y7J8Qnvmt/u1fjh/f/BE96IkTgU/sKtzaUbR13C+/2SFsT8x5wr3/YsHkwg2FUy4r2Puk+6k5R0+lTUvfkD6F0+nhV1oqh5ILXGGzQh5JS78YMksKWoaTsV4WfuLvLeveaHtz7Zsda97YeurvK8L3rnit//W1r/etfM3fUzWclN+SOkev74uKqq/XZ4e5njiJbFtmb+hXEwtCliyo9W1zN37kG/puhTN606OJ0Q/87d5QnNfSkjMYmp3ZG/LWQKFz8X1ra3w7vY2f+8as3BkU88r38XHnnpuxtimn2ZU1HErTmFmXbd18GQyMmTxA/2z91vT0W/XZKr9jOBWViQA2DJnA7RfYnH5XMYAO6h7tOjnmZQgg0LrU8fGk4Prf7Jr2HcAnGeciAT5PzNH8/f++dl57DLCiABB4EhbtiqmEJVQFAfmmysepHkAfEuMYbFoSVokE+qQpoDxkgf8xXQgQgAtFLFqYUU2TT6IhugNOTgliIMTzM1AE8RXQKOWOUt0CLNSyGliJZzwIopJMEIJBPDOUEAJYRBEAdrHr33zc7O31eIrJ7fdq4Pc6+N+4eApBeC1J+IW9iOAxf31jZI9k0On6K0fR+PzGfOPwD1mcHvzV4y5w2Jdv0rhkbUHlO2Pnh6vxpMqCx40f8ntiJBoKm0gsq2Q45GmewVSBb8UByUOG7xW9+OqyLnkRtTm41fkfL8M4eY4v+CuU//Ujp284wRb3HIj1350fFEA6+Lwo0URHE4tYxSZ2cVhdU38LkGNbsXBOcXlriaClCcWuYtU6Ml4sLW4pd0yZtmL5jK90SBTp7Yiy4sr7xP9t+gEAAAA=) format('woff2'), url(data:font/woff;base64,d09GRgABAAAAAAcMAA8AAAAACJAAAQABAAAAAAAAAAAAAAAAAAAAAAAAAABHREVGAAABWAAAABYAAAAWABEABEdQT1MAAAFwAAAAUQAAAG6PI5dNR1NVQgAAAcQAAAAtAAAALiN2JIJPUy8yAAAB9AAAAEoAAABgZqt/EVNUQVQAAAJAAAAAJwAAACp5mWrlY21hcAAAAmgAAABOAAAAbD9K6d1nYXNwAAACuAAAAAgAAAAIAAAAEGdseWYAAALAAAACJwAAAoQHGY4TaGVhZAAABOgAAAA1AAAANijDB5doaGVhAAAFIAAAAB8AAAAkDjUI2WhtdHgAAAVAAAAALAAAAC4WSgAUbG9jYQAABWwAAAAaAAAAGgRSA31tYXhwAAAFiAAAABwAAAAgACACn25hbWUAAAWkAAABDAAAAhgsX04fcG9zdAAABrAAAABZAAAAdl6LW1IAAQAAAAwAAAAAAAAAAgABAAEAAwABAAB42mNgZGBg4GLQYrBgYHZx8wlhEEmuLMphEMlJLMljEGFgYQCC///BqhizU4vyGDhALBAGyjEBeYxAzARVqcYgA+QzAVn8IBqKESQDAPJVCZEAAAB42mNgZGBg4GLQAUJmFzefEAaJ5MqiHAaRnMSSPAYRBhBgARH//4NIAJZPBzwAAAB42mNgYQpjimBgZWBg6gLSDAzeEJoxjsGI4RcDCmBiBxEwXkBkUDDDAQZehS3Mp/6dZ2Bg2cPoBxSeDlbJz3QYSCkwcAIAIQ0MlwAAeNpjYARCDiBmYBABkzIMTOXpGSWMTEA2E1iEgZGDKYKBAQAsOAJiAHjaY2BgYAJiZiAWAZKMYJqFIQJICzEIMDADZXkZFBgcGRYwHGRkYjmksOX/f6AcsthBkNj/3/+f/T/wP/2/43/G3873Q4EmYQAAxKUXPwAAAAEAAf//AA942k0RQ4AcQbC6em7W9nFnR2dsL2Lbtp38Y5uf2HbyifWJX3HyifGJbc5mEVyj7AIEt3YL/fQUUNABuByCQxYcghs5jSdvNbt2i3vyI2DkbgACB4BH8CzowAjACCOiKujijHLEtpxY51ZoJyp7fJqAZ3/VnTnzI+mYSGQ86C5UgACk/Ehf2P9Pvumf3JSUHwJMUkDX0bXgARmAuShzMUfyuhh1iVR0iA6VkpCiqMzrZeFYnFlRd/bsoo0DJg/cvODc+SWrBk8etJrUinUsx+FYKkrFOJyUdyKjSE/tOilP/53aCiJpd4lEtDs0S2jEhIICIdxYAEDgAWgAHyWzq6nsKvOxKPOwONO5RFX0iFFRl8mej8ns6fT85hXTJzWZ0GzCjFVbF4xpO6HNWALxTmV0JHHLPp/kJiMwWYD7x43k+aG9vJY82DrYmHnyLJY8D2scBCCgJr5iGC9CA4CsUDlGI7G4GGXJL8Ri0YiiiCGe14n1KAvno8edpJlHTH6B5z1ur/dPKZQUKW3qK3pdrZk975IONr+/NN9fGuQnc6WNOxQqberJerO+5pzej7S9ekNeRW5OcZ5uAlfcqJPeKdcvs4esvev3Nihuf9BuyglUNS52OuT65W4hYErKdT5roMBmDngrGxY6AUjiFHaDPfgFKACNM12DETOmY7fNm5OaFtgejuFLsALQUPVFka4DyQhSIkklSVTWCdu3bycHgzJrLv4G2WmOVgB42mNgZGAA4ZUCGm/i+W2+MjAzv2AAgnuqs8VA9EM5Teb/jv8ucqsznwJy2RiYQKIAOk0LUgAAAHjaY2BkYGA+9e88AwN3wX/Hf33c6kARVMANAJ14BiEAeNpj0mEQYdrFwALDzIsY2JnlGdgYxRgYwDiRgYEpkkGdgeH/gf8eAItPB28AAAAVAC4AOgBGAIUAwQDBAMEAwQEaAScBQgAAeNpjYGRgYOBhcmTgYYhhYAHzEICZgREAERcAwnjafJADUgZQFIW/bIwRh9muQR5k2/Xb9jJaQ2tqBS2jMzfz6X7nPF+gmgIlFJVWAfdFpa9cRDNPr1xMPY8Yaxzm4ZVLP60pY5rAK5fL38ZYO8eljIuKqaXxlStFsMMdftzME8THLQfcSTlxEUNdNUSUaQYYULwhgltOTNxPVOxTDMp1MsAGy6xqDHCnuRh9P07fl47YviAB2hmin0GrMzhxaE/QVkY5kdfPlPqI6tmXlZscsc2O6L+7tqWdxMVXRD6tbP+xckExRJrI+8/bGWZQfUi0K+dO8fMJm0S0xyN9Y3qOuKJLnn4n3fkjd07ctiLONf3cEMQvV5lQDHFlfx6wrDwPYocmAMXFT6p42mNgYgCD/1sZjBiwAR4gVmE4ycjEyMzIwsDMyMrIxsjOyMHIyeaYVJRalspempdpYOJsCKWNwLSBowGTcxCIaWTgZMKZmFxakpqcn5sEljQ2MAMAO/gUiQAAAA==) format('woff');
  unicode-range: U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
}
/* onest-cyrillic-600-normal */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(/crm/assets/onest-cyrillic-600-normal-DiaWg2oX.woff2) format('woff2'), url(/crm/assets/onest-cyrillic-600-normal-CXIKc6w5.woff) format('woff');
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}
/* onest-latin-ext-600-normal */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(/crm/assets/onest-latin-ext-600-normal-CMbOq94E.woff2) format('woff2'), url(/crm/assets/onest-latin-ext-600-normal-mefcv-cx.woff) format('woff');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
/* onest-latin-600-normal */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(/crm/assets/onest-latin-600-normal-jVaZHx2Z.woff2) format('woff2'), url(/crm/assets/onest-latin-600-normal-6nn5mF7m.woff) format('woff');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
/* onest-cyrillic-ext-700-normal */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(data:font/woff2;base64,d09GMgABAAAAAAS8ABAAAAAACIwAAARgAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhYbbhwuBmA/U1RBVCoAbBEICoUMhB8LGgABNgIkAy4EIAWDdAd2DAcb5wYgLgZj90IpKzuwRoaNJtDuLu/zK6h4+P812n3vz9rMrCqmWZMmlQSnS6ZxyNY0RJVEZSM0ooXsaef4Ov15u+G+GmkqZEskKbGRC2+jb/NWXv8JOgoIhxtBjzJZfXz+FwpVtvfAOXn7m6o0A+zEF8nkaIzipejEzrdMS3/TQQ58u9BB7KB822wDkVgQWaeK4qDee6BAC0ghFCFQ26oAebC6kYGAm+kYhIBncQ1DAA78OCCXuxzDIOAWq2Ql9Mtg9kYRpcQwdBH2iCjI3y7NOiQLFHWpM9NC3AEueZNQAzgMW8dFyPKL6GcfkP7EE9veAQfAc/UV8tXKF6qPqBnAAwBymHiC1YRC6BeYgLCAuNbT60IEkAJigLgDgETBBFJgAscFYIwPUhq0mtQBeIgIzqPVV/4DZvDhO/z/7a0Hejpph37LvysAEYsQHRjGbG05AzR4D+AXFoAJgJSdOCEmwXOLiiMgg3yC/KQcb43QWzDsKfTAA7iPUnowKqzFOi3WYBITWIfVGkpLERRJqQdWTU6K8c6bzerb8/jA+DjWKbECIwzNecxoKCUFdVCMKTB+8j0njj8NDliM9Y/Qwv3TFLpGU8hz++nYfepDverKoxnq8JTYz00mJh7CjR0PJzDUZzC0d3dYkIJz/el8p3GjCjPGVZNKvLc8axVesJp/wjuPdyH8MfZfjD8+4PN4V+qMwucqmp+vZgL56coz5aHd63Xx6+P1yH9QP8GzwRMbF0yR6yONmyIK/hR0iDOq49xe+0SiYS93AF3dLgbivv+6X5uHX9W8XvO6ZvDVlvHjtvvv7Xne+GLNi8be5z/37lTESKqC3QGpnoFBf1MD3Xy6qiMGUiqhyVuasE7iazfkm5c15oxZ2t5F+5C6ueEhs24o1+Wm1daktPslJzT5SOPnS/wM2/qyrYubc0bNHcuWtIGrzsyFa7e3rRGnVFclM77Q0COnt955Cg6NrR2Yz1srEg/xXAXp9UwcEBsBoU8dnXCJgab/VRqAIJfLWQieuJHgh/7LcZN3yVdBId/Dt/jdQQD8jEom/7eiPC4PhF4Jgq8iXpYD6J2MQBBkkzkQkM/FVCnPZMmURhjAJ70DyEsQC7orXRBa+xDmkAlDSYnadSesEgL34Y0qD7Wv8tTvs7zY6oi8MmGDvMceSnmvCTLZkB089BABLSFh2m7ndenTo5frtZLLCKciEhJONg59jAEXsTM4A4Pwm7Mceki0qNaoxbAuTi7pZFiDOil1cXDqwxomkikDjUYr1qObC4s1yEmHlqFQhmzZDAmpInyC9ltptOtQXNoDsW60HGvETI5GR4hkoWXJJMIwAl24wo2tHFj9JpItKeVenhDbFLFI0lIle/QFdXezymDDGiJZADtMjrC0mpVgyxSTEcRmd1WWo1qs9xIRiEQcKMFFPMRHAiTkSa1b/Yfx3cN9dI48E5KymmgpTcjb54tZtCxHaLG5XV0b4bAbHf4O2XTeDfT/V9VaAAAA) format('woff2'), url(data:font/woff;base64,d09GRgABAAAAAAcAAA8AAAAACGgAAQABAAAAAAAAAAAAAAAAAAAAAAAAAABHREVGAAABWAAAABYAAAAWABEABEdQT1MAAAFwAAAAUQAAAG6PI5dNR1NVQgAAAcQAAAAtAAAALiN2JIJPUy8yAAAB9AAAAEsAAABgZxB++lNUQVQAAAJAAAAAJwAAACp5mmtJY21hcAAAAmgAAABOAAAAbD9K6d1nYXNwAAACuAAAAAgAAAAIAAAAEGdseWYAAALAAAACIwAAAoCAyGoOaGVhZAAABOQAAAA1AAAANii5B6NoaGVhAAAFHAAAAB8AAAAkDioItWhtdHgAAAU8AAAALAAAAC4XCf/ybG9jYQAABWgAAAAaAAAAGgRKA3ZtYXhwAAAFhAAAABwAAAAgACACn25hbWUAAAWgAAABAgAAAfQomEqWcG9zdAAABqQAAABZAAAAdl6LW1IAAQAAAAwAAAAAAAAAAgABAAEAAwABAAB42mNgZGBg4GLQYrBgYHZx8wlhEEmuLMphEMlJLMljEGFgYQCC///BqhizU4vyGDhALBAGyjEBeYxAzARVqcYgA+QzAVn8IBqKESQDAPJVCZEAAAB42mNgZGBg4GLQAUJmFzefEAaJ5MqiHAaRnMSSPAYRBhBgARH//4NIAJZPBzwAAAB42mNgYYpn2sPAysDA1MUUwcDA4A2hGeMYjBh+MaAAJnYQAeMFRAYFMyxg4FXYwnzq33kGBpY9jH5A4elglfxMR4CUAgMnAEPFDOUAeNpjYARCDiBmYBABkzIMTOXpGSWMTEA2E1iEgZGTaQ8DAwAtaQLHAHjaY2BgYAJiZiAWAZKMYJqFIQJICzEIMDADZXkZFBgcGRYwHGRkYjmksOX/f6AcsthBkNj/3/+f/T/wP/2/43/G3873Q4EmYQAAxKUXPwAAAAEAAf//AA942kURA5AcQbBn5rPHx+qt26nb43NOsW3btlWuqBDbLMS2bSeF2E5KcXL1e5n7aNB2AwbFuIvzyQkgYAKQRYfodIgOBdvLDPTdMBt3E15HM6wJt7klAsDn8BkwgRWAIYaoy2EKM4KQsgaJy/zGeX+nR8PwmbIqEyf+RKWx2G8PshXrcSruh/rArn/yDf/kNi7fC5hfIKfJClDBCcBkwmQm8iszIlNCRX4J0nTdxVJTWWkozJIwOXd+3YrOs7usWHv+/IZ53Wd3m48qRtoUkbHIm5/vQmNxSWs0FLU37iNn+d9ozEc5xvP4x2W0fjCPn2B9+id3MX4KKrjiuV0sjQWZysLMJFMXVWmQmuTy3LmY5w4FeXK8ePb84fVn1B+6YPaSlQOazGgy8Ge4XTEei2WHmpovj0UlbZASvcxP1PhwgR9cU6sXUbOTkrLVSD0NAAGN/cBV8FWoAVBBK8TBQChMg4x/B08R0nWqCYKJViOsNBerCqeZSvl3CIKqlA8hPgWCfHqzWh6zEJ7W9DZqmSyhVHdWujtbmJVQ0KC1h+vcgtXEJje/ZWy1WDJ8mVl6pjCD+Oq1NaW4qheJWlKPYE9zfoqSnWTLSAs19MmiXqNIyk2z9gr2MKl2NSvRli6x+l4JUGwPbg6HcBQIAAkzU5ORC2fh5lu2cE0t3BiO4U+QBEC0/0tSBAF16IPGIE++5kJjCtvixq3bunJzXZHGzl//U5JSAHjaY2BkYADh3XoVNvH8Nl8ZmJlfMADBPdXZYiD6oZwm83+zf5e41ZmvAtWxMTCBRAEy1QskAAAAeNpjYGRgYD717zwDA3fWf7N/BdzqQBFUwA0AmW8F8gB42mMyYRBhOs7ACMPMxxiYmA0ZmBilGBjAeAsDA1M8gzIDw/8t/50AmtEIDQAAABUALgA6AEYAhAC/AL8AvwC/ARgBJQFAAAB42mNgZGBg4GFyZOBhiGFgAfMQgJmBEQARFwDCeNpskLVRRFEYRg/uRBTwMtwdEjzB3d3dXWogogLqISTeUvbMrMtc+T+7CpTyRR45+SXAD6EozlH/j+JcivmLYOc6fqM4nyq+o7iAPpaiuFB9KIor6aI8gnNyRURxCe7JMoeccswJDzhsN9zTR7Ptnn3udG94EDdxL76wXqse608zxoTzFYd6DzQypHfBAUscmjEvvyKg1VUt2OjnmCMe1E2aWKdFr9fRbttM2i2I75a8eoZV5pgXZTs3WpO8YZUbXrmLvzKgjRZHq2hB5dCafOqM2WvO5PvIGeTReqLmi+Q1Gf90zCkmzO3RxL7JS1Vfb70hvESQP4H8fLgdmgCKgUlZAAB42mNgYgCD/1sZjBiwAR4gVmE4ycjEyMzIwsDMyMrIxsjOyMHIyeaYVJRalspempdpYOJsCKWNwLSBowGTcxCIaWTgZMKZmFxakpqcn5sEljQ2MAMAO/gUiQAAAA==) format('woff');
  unicode-range: U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
}
/* onest-cyrillic-700-normal */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/crm/assets/onest-cyrillic-700-normal-CwpXuTGk.woff2) format('woff2'), url(/crm/assets/onest-cyrillic-700-normal-DOtXtm0s.woff) format('woff');
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}
/* onest-latin-ext-700-normal */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/crm/assets/onest-latin-ext-700-normal-C-Tcltod.woff2) format('woff2'), url(/crm/assets/onest-latin-ext-700-normal-CSGWRWNE.woff) format('woff');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
/* onest-latin-700-normal */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/crm/assets/onest-latin-700-normal-Bd6qVL4Q.woff2) format('woff2'), url(/crm/assets/onest-latin-700-normal-XTvQgpoh.woff) format('woff');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
/* ComDesk marketplace — premium design tokens & shared patterns */
:root {
  --comdesk-mkt-bg: #eef2f8;
  --comdesk-mkt-bg-accent: radial-gradient(1200px 600px at 10% -10%, rgb(99 102 241 / 8%), transparent 55%),
    radial-gradient(900px 500px at 90% 0%, rgb(37 99 235 / 6%), transparent 50%), var(--comdesk-mkt-bg);
  --comdesk-mkt-surface: #ffffff;
  --comdesk-mkt-surface-elevated: #ffffff;
  --comdesk-mkt-border: rgb(15 23 42 / 10%);
  --comdesk-mkt-border-strong: rgb(15 23 42 / 16%);
  --comdesk-mkt-text: #0b1220;
  --comdesk-mkt-muted: #3d4659;
  --comdesk-mkt-subtle: #5c667a;

  --comdesk-mkt-primary: #4338ca;

  --comdesk-mkt-primary-mid: #4f46e5;

  --comdesk-mkt-primary-bright: #2563eb;

  --comdesk-mkt-primary-hover: #3730a3;

  --comdesk-mkt-primary-soft: #eef2ff;

  --comdesk-mkt-primary-glow: rgb(79 70 229 / 18%);

  --comdesk-mkt-accent-gradient: linear-gradient(135deg, #4f46e5 0%, #2563eb 52%, #0ea5e9 100%);

  --comdesk-mkt-success: #059669;

  --comdesk-mkt-success-soft: #ecfdf5;

  --comdesk-mkt-warehouse: #047857;

  --comdesk-mkt-warehouse-soft: #ecfdf5;

  --comdesk-mkt-warehouse-glow: rgb(4 120 87 / 16%);

  --comdesk-mkt-radius-sm: 0;

  --comdesk-mkt-radius-md: 0;

  --comdesk-mkt-radius-lg: 0;

  --comdesk-mkt-radius-xl: 0;

  --comdesk-mkt-shadow: 0 1px 2px rgb(15 23 42 / 4%), 0 10px 28px rgb(15 23 42 / 6%);

  --comdesk-mkt-shadow-hover: 0 2px 4px rgb(15 23 42 / 5%), 0 22px 48px var(--comdesk-mkt-primary-glow);

  --comdesk-mkt-shadow-active: 0 0 0 1px var(--comdesk-mkt-primary-mid), 0 0 0 4px rgb(79 70 229 / 14%),

    0 22px 48px var(--comdesk-mkt-primary-glow);

  --comdesk-mkt-font: 'Onest', system-ui, -apple-system, 'Segoe UI', sans-serif;

  --comdesk-mkt-fw-regular: 400;

  --comdesk-mkt-fw-medium: 500;

  --comdesk-mkt-fw-semibold: 600;

  --comdesk-mkt-fw-bold: 700;

  --comdesk-mkt-tracking-tight: -0.02em;

  --comdesk-mkt-tracking-body: -0.008em;

  --comdesk-mkt-ease: cubic-bezier(0.22, 1, 0.36, 1);

  --comdesk-mkt-duration: 0.32s;

}
/* Базовая типографика маркетплейса */
.mkt-shell {
  font-family: var(--comdesk-mkt-font);
  font-weight: var(--comdesk-mkt-fw-regular);
  letter-spacing: var(--comdesk-mkt-tracking-body);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}
/* Градиентные кнопки/чипы — solid fallback, если var() недоступен */
.mkt-accent-fill {

  background-color: var(--comdesk-mkt-primary-mid);

  background-image: var(--comdesk-mkt-accent-gradient);

  color: #fff;

}
/* Поля ввода маркетплейса — контрастный текст и placeholder */
.mkt-shell input,

.mkt-shell select,

.mkt-shell textarea,

.mkt-form-field input,

.mkt-form-field select,

.mkt-form-input {

  color: var(--comdesk-mkt-text);

}
.mkt-shell input::-moz-placeholder, .mkt-form-field input::-moz-placeholder, .mkt-form-input::-moz-placeholder {

  color: #64748b;

  opacity: 1;

}
.mkt-shell input::placeholder,

.mkt-form-field input::placeholder,

.mkt-form-input::placeholder {

  color: #64748b;

  opacity: 1;

}
.mkt-shell button {

  font-family: inherit;

}
/* ── Badges (glass) ── */
.mkt-badge {

  display: inline-flex;

  align-items: center;

  gap: 5px;

  padding: 6px 11px;

  border-radius: 0;

  font-size: 0.6875rem;

  font-weight: var(--comdesk-mkt-fw-semibold);

  letter-spacing: 0.03em;

  text-transform: uppercase;

  line-height: 1;

  border: 1px solid transparent;

  backdrop-filter: blur(14px);

  -webkit-backdrop-filter: blur(14px);

}
.mkt-badge--dark {

  background: rgb(11 18 32 / 62%);

  border-color: rgb(255 255 255 / 12%);

  color: #fff;

  box-shadow: 0 4px 14px rgb(0 0 0 / 12%);

}
.mkt-badge--glass {

  background: rgb(255 255 255 / 78%);

  border-color: rgb(255 255 255 / 65%);

  color: var(--comdesk-mkt-primary-mid);

  box-shadow: 0 4px 14px rgb(15 23 42 / 8%);

}
.mkt-badge--success {

  background: rgb(236 253 245 / 88%);

  border-color: rgb(16 185 129 / 22%);

  color: #047857;

  text-transform: none;

  letter-spacing: 0;

  font-weight: var(--comdesk-mkt-fw-semibold);

}
.mkt-badge--count {

  background: rgb(255 255 255 / 90%);

  border-color: rgb(255 255 255 / 70%);

  color: var(--comdesk-mkt-text);

  text-transform: none;

  letter-spacing: 0;

  font-weight: var(--comdesk-mkt-fw-semibold);

  box-shadow: 0 4px 14px rgb(15 23 42 / 10%);

}
/* ── Card shell ── */
.mkt-card {

  position: relative;

  display: flex;

  flex-direction: column;

  overflow: hidden;

  border-radius: var(--comdesk-mkt-radius-lg);

  background: var(--comdesk-mkt-surface);

  border: 1px solid var(--comdesk-mkt-border);

  text-decoration: none;

  color: inherit;

  font-family: var(--comdesk-mkt-font);

  box-shadow: var(--comdesk-mkt-shadow);

  /* Без 300ms delay; hover-transform только на pointer:fine — иначе sticky :hover сдвигает карточку и тап «промахивается» */
  touch-action: manipulation;

  -webkit-tap-highlight-color: transparent;

  transition: transform var(--comdesk-mkt-duration) var(--comdesk-mkt-ease),

    box-shadow var(--comdesk-mkt-duration) var(--comdesk-mkt-ease),

    border-color var(--comdesk-mkt-duration) var(--comdesk-mkt-ease);

}
.mkt-card::before {

  content: '';

  position: absolute;

  inset: 0;

  border-radius: inherit;

  pointer-events: none;

  opacity: 0;

  background: linear-gradient(145deg, rgb(79 70 229 / 4%) 0%, transparent 42%);

  transition: opacity var(--comdesk-mkt-duration) var(--comdesk-mkt-ease);

}
@media (hover: hover) and (pointer: fine) {

  .mkt-card:hover {

    transform: translateY(-4px);

    border-color: rgb(79 70 229 / 18%);

    box-shadow: var(--comdesk-mkt-shadow-hover);

  }



  .mkt-card:hover::before {

    opacity: 1;

  }



  .mkt-card:hover .mkt-card__media-bg {

    transform: scale(1.06);

  }



  .mkt-card:hover .mkt-card__cta {

    opacity: 1;

    transform: translateX(0);

  }

}
.mkt-card--active {

  border-color: rgb(79 70 229 / 35%);

  box-shadow: var(--comdesk-mkt-shadow-active);

}
.mkt-card--warehouse {

  --comdesk-mkt-primary: var(--comdesk-mkt-warehouse);

  --comdesk-mkt-primary-mid: var(--comdesk-mkt-warehouse);

  --comdesk-mkt-primary-soft: var(--comdesk-mkt-warehouse-soft);

  --comdesk-mkt-primary-glow: var(--comdesk-mkt-warehouse-glow);

}
@media (hover: hover) and (pointer: fine) {

  .mkt-card--warehouse:hover {

    border-color: rgb(4 120 87 / 22%);

  }

}
.mkt-card--featured {

  grid-column: span 2;

}
@media (min-width: 901px) {

  .mkt-card--featured {

    flex-direction: row;

    min-height: 280px;

  }



  .mkt-card--featured .mkt-card__media {

    flex: 0 0 52%;

    aspect-ratio: auto;

    min-height: 280px;

  }



  .mkt-card--featured .mkt-card__body {

    flex: 1;

    justify-content: center;

    padding: 28px 30px;

  }



  .mkt-card--featured .mkt-card__title {

    font-size: 1.5rem;

  }

}
/* ── Card media ── */
.mkt-card__media {

  position: relative;

  aspect-ratio: 16 / 10;

  overflow: hidden;

  isolation: isolate;

  background: var(--comdesk-mkt-primary-soft);

}
.mkt-card__media-bg {

  position: absolute;

  inset: 0;

  background-size: cover;

  background-position: center;

  transition: transform 0.65s var(--comdesk-mkt-ease);

  will-change: transform;

}
.mkt-card__media .mkt-image {

  position: absolute;

  inset: 0;

  transition: transform 0.65s var(--comdesk-mkt-ease);

  will-change: transform;

}
@media (hover: hover) and (pointer: fine) {

  .mkt-card:hover .mkt-card__media .mkt-image {

    transform: scale(1.06);

  }

}
.mkt-card__media-shade {

  position: absolute;

  inset: 0;

  background: linear-gradient(

    180deg,

    rgb(11 18 32 / 8%) 0%,

    rgb(11 18 32 / 0%) 38%,

    rgb(11 18 32 / 0%) 62%,

    rgb(11 18 32 / 42%) 100%

  );

  pointer-events: none;

}
.mkt-card__media-top {

  position: absolute;

  z-index: 2;

  left: 14px;

  top: 14px;

  right: 14px;

  display: flex;

  flex-wrap: wrap;

  align-items: flex-start;

  gap: 6px;

  max-width: calc(100% - 28px);

}
.mkt-card__body {

  position: relative;

  z-index: 1;

  padding: 20px 22px 22px;

  display: flex;

  flex-direction: column;

  gap: 8px;

}
.mkt-card__eyebrow {

  margin: 0;

  font-size: 0.6875rem;

  font-weight: var(--comdesk-mkt-fw-semibold);

  letter-spacing: 0.1em;

  text-transform: uppercase;

  color: var(--comdesk-mkt-primary-mid);

}
.mkt-card__title {

  margin: 0;

  font-size: 1.2rem;

  font-weight: var(--comdesk-mkt-fw-semibold);

  line-height: 1.2;

  letter-spacing: -0.025em;

  color: var(--comdesk-mkt-text);

}
.mkt-card__desc {

  margin: 0;

  font-size: 0.875rem;

  line-height: 1.55;

  color: var(--comdesk-mkt-muted);

  display: -webkit-box;

  -webkit-line-clamp: 2;

  -webkit-box-orient: vertical;

  overflow: hidden;

}
.mkt-card__subtitle {

  margin: 0;

  font-size: 0.9375rem;

  font-weight: 600;

  color: #334155;

  letter-spacing: -0.01em;

}
.mkt-card__meta-row {

  display: flex;

  align-items: center;

  gap: 8px;

  flex-wrap: wrap;

}
.mkt-card__meta-tag {

  font-size: 0.6875rem;

  font-weight: var(--comdesk-mkt-fw-semibold);

  letter-spacing: 0.06em;

  text-transform: uppercase;

  color: var(--comdesk-mkt-primary-mid);

}
.mkt-card__meta-dot {

  width: 4px;

  height: 4px;

  border-radius: 50%;

  background: var(--comdesk-mkt-subtle);

}
.mkt-card__meta-city {

  font-size: 0.6875rem;

  font-weight: var(--comdesk-mkt-fw-semibold);

  letter-spacing: 0.05em;

  text-transform: uppercase;

  color: var(--comdesk-mkt-subtle);

}
.mkt-card__address {

  margin: 0;

  font-size: 0.8125rem;

  line-height: 1.45;

  color: var(--comdesk-mkt-muted);

}
.mkt-card__footer {

  display: flex;

  flex-direction: column;

  gap: 6px;

  margin-top: auto;

  padding-top: 4px;

}
.mkt-card__cta {

  display: inline-flex;

  align-items: center;

  gap: 4px;

  margin-top: 6px;

  font-size: 0.8125rem;

  font-weight: var(--comdesk-mkt-fw-semibold);

  color: var(--comdesk-mkt-primary-mid);

  opacity: 0;

  transform: translateX(-6px);

  transition: opacity var(--comdesk-mkt-duration) var(--comdesk-mkt-ease),

    transform var(--comdesk-mkt-duration) var(--comdesk-mkt-ease);

}
/* ── Price strip ── */
.mkt-price-strip {

  display: flex;

  flex-wrap: wrap;

  align-items: stretch;

  gap: 8px;

  margin-top: 4px;

  padding: 12px 14px;

  border-radius: var(--comdesk-mkt-radius-sm);

  background: linear-gradient(135deg, var(--comdesk-mkt-primary-soft) 0%, rgb(255 255 255 / 80%) 100%);

  border: 1px solid color-mix(in srgb, var(--comdesk-mkt-primary-mid) 14%, transparent);

}
.mkt-price-strip__item {

  display: flex;

  flex-direction: column;

  gap: 2px;

  min-width: 0;

}
.mkt-price-strip__item + .mkt-price-strip__item {

  padding-left: 14px;

  border-left: 1px solid color-mix(in srgb, var(--comdesk-mkt-primary-mid) 14%, transparent);

}
.mkt-price-strip__label {

  font-size: 0.625rem;

  font-weight: var(--comdesk-mkt-fw-semibold);

  letter-spacing: 0.08em;

  text-transform: uppercase;

  color: var(--comdesk-mkt-subtle);

}
.mkt-price-strip__value {

  font-size: 1.0625rem;

  font-weight: var(--comdesk-mkt-fw-semibold);

  letter-spacing: var(--comdesk-mkt-tracking-tight);

  color: var(--comdesk-mkt-text);

  line-height: 1.2;

  overflow-wrap: anywhere;

}
.mkt-price-strip__value--accent {

  font-size: 1.125rem;

  background: var(--comdesk-mkt-accent-gradient);

  -webkit-background-clip: text;

  background-clip: text;

  color: transparent;

}
.mkt-price-strip__hint {

  flex-basis: 100%;

  margin: 0;

  font-size: 0.75rem;

  color: var(--comdesk-mkt-muted);

}
/* Карточки: 2 колонки сверху + ставка на всю ширину снизу */
.mkt-price-strip--stacked {

  display: grid;

  grid-template-columns: repeat(2, minmax(0, 1fr));

  gap: 10px 0;

  align-items: start;

}
.mkt-price-strip--stacked .mkt-price-strip__item + .mkt-price-strip__item {

  padding-left: 0;

  border-left: none;

}
.mkt-price-strip--stacked .mkt-price-strip__item:not(.mkt-price-strip__item--rate) + .mkt-price-strip__item:not(.mkt-price-strip__item--rate) {

  padding-left: 14px;

  border-left: 1px solid color-mix(in srgb, var(--comdesk-mkt-primary-mid) 14%, transparent);

}
.mkt-price-strip--stacked .mkt-price-strip__item--rate {

  grid-column: 1 / -1;

  padding-top: 10px;

  border-top: 1px solid color-mix(in srgb, var(--comdesk-mkt-primary-mid) 14%, transparent);

}
.mkt-price-strip--stacked .mkt-price-strip__item--rate:only-child {

  padding-top: 0;

  border-top: none;

}
.mkt-price-strip--stacked .mkt-price-strip__value--accent {

  font-size: 1.0625rem;

}
.mkt-price-strip--stacked.mkt-price-strip--empty {

  grid-template-columns: 1fr;

}
.mkt-price-strip--stacked .mkt-price-strip__item--empty .mkt-price-strip__value {

  color: var(--comdesk-mkt-ink-muted, #64748b);

  font-weight: 500;

}
/* ── Metro chip ── */
.mkt-metro {

  display: inline-flex;

  align-items: center;

  gap: 8px;

  margin: 0;

  padding: 7px 11px;

  border-radius: 0;

  font-size: 0.8125rem;

  font-weight: 600;

  color: var(--comdesk-mkt-muted);

  background: rgb(248 250 252 / 90%);

  border: 1px solid var(--comdesk-mkt-border);

  line-height: 1.3;

  width: -moz-fit-content;

  width: fit-content;

  max-width: 100%;

}
.mkt-metro__dot {

  flex: 0 0 auto;

  width: 8px;

  height: 8px;

  border-radius: 50%;

  background: var(--comdesk-mkt-accent-gradient);

  box-shadow: 0 0 0 3px rgb(79 70 229 / 12%);

}
.mkt-metro__text {

  min-width: 0;

}
/* ── Horizontal space card (list) ── */
.mkt-card--listing {
  border-radius: 0;
  border-color: rgb(15 23 42 / 9%);
  box-shadow: 0 1px 2px rgb(15 23 42 / 4%), 0 6px 20px rgb(15 23 42 / 5%);
}
@media (hover: hover) and (pointer: fine) {
  .mkt-card--listing:hover {
    transform: translateY(-3px);
    box-shadow: 0 4px 12px rgb(15 23 42 / 6%), 0 20px 40px rgb(79 70 229 / 12%);
  }
}
.mkt-card--listing .mkt-card__media-shade {
  background: linear-gradient(
    180deg,
    rgb(11 18 32 / 18%) 0%,
    rgb(11 18 32 / 0%) 45%,
    rgb(11 18 32 / 0%) 100%
  );
}
@media (min-width: 900px) {

  .mkt-card--horizontal:not(.mkt-card--compact) {

    flex-direction: row;

  }



  .mkt-card--horizontal:not(.mkt-card--compact) .mkt-card__media {

    flex: 0 0 36%;

    aspect-ratio: auto;

    min-height: 220px;

  }



  .mkt-card--horizontal:not(.mkt-card--compact) .mkt-card__body {

    flex: 1;

    justify-content: center;

    padding: 22px 26px;

    min-width: 0;

  }

  .mkt-card--listing.mkt-card--horizontal:not(.mkt-card--compact) .mkt-card__media {
    min-height: 220px;
  }

}
@media (max-width: 900px) {
  .mkt-card--featured {
    grid-column: span 1;
  }
}
/* ── Detail pages (object / space) ── */
.detail-hero {
  position: relative;
  min-height: clamp(320px, 42vh, 480px);
  overflow: hidden;
  isolation: isolate;
  background: #1e1b4b;
}
.detail-hero__bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
}
.detail-hero__shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgb(11 18 32 / 55%) 0%,
    rgb(11 18 32 / 18%) 38%,
    rgb(11 18 32 / 42%) 72%,
    rgb(11 18 32 / 88%) 100%
  );
}
.detail-hero__inner {
  position: relative;
  z-index: 1;
  max-width: 1240px;
  margin: 0 auto;
  min-height: clamp(320px, 42vh, 480px);
  padding: 28px 24px 40px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 12px;
  color: #fff;
}
.detail-hero__back {
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 12px;
  border-radius: 0;
  font-size: 0.8125rem;
  font-weight: 600;
  color: rgb(255 255 255 / 92%);
  text-decoration: none;
  background: rgb(255 255 255 / 10%);
  border: 1px solid rgb(255 255 255 / 16%);
  backdrop-filter: blur(10px);
  transition: background 0.2s ease;
}
.detail-hero__back:hover {
  background: rgb(255 255 255 / 18%);
}
.detail-hero__eyebrow {
  margin: 8px 0 0;
  font-size: 0.6875rem;
  font-weight: var(--comdesk-mkt-fw-semibold);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgb(255 255 255 / 72%);
}
.detail-hero__title {
  margin: 0;
  font-size: clamp(1.875rem, 4.5vw, 3rem);
  font-weight: var(--comdesk-mkt-fw-semibold);
  line-height: 1.05;
  letter-spacing: var(--comdesk-mkt-tracking-tight);
  max-width: 820px;
}
.detail-hero__address {
  margin: 0;
  font-size: 1rem;
  line-height: 1.5;
  color: rgb(255 255 255 / 84%);
  max-width: 640px;
}
.detail-hero__row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-top: 4px;
}
.detail-hero__metro.mkt-metro {
  background: rgb(255 255 255 / 12%);
  border-color: rgb(255 255 255 / 18%);
  color: rgb(255 255 255 / 90%);
}
.detail-hero__metro .mkt-metro__dot {
  box-shadow: 0 0 0 3px rgb(255 255 255 / 16%);
}
.mkt-price-strip--hero {
  margin-top: 8px;
  max-width: 560px;
  background: rgb(255 255 255 / 12%);
  border-color: rgb(255 255 255 / 18%);
  backdrop-filter: blur(14px);
}
.mkt-price-strip--hero .mkt-price-strip__label {
  color: rgb(255 255 255 / 62%);
}
.mkt-price-strip--hero .mkt-price-strip__value {
  color: #fff;
}
.mkt-price-strip--hero .mkt-price-strip__value--accent {
  background: linear-gradient(135deg, #fff 0%, #c7d2fe 100%);
  -webkit-background-clip: text;
  background-clip: text;
}
.mkt-price-strip--hero .mkt-price-strip__item + .mkt-price-strip__item {
  border-left-color: rgb(255 255 255 / 18%);
}
.detail-page {
  max-width: 1240px;
  margin: 0 auto;
  padding: 28px 24px 56px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 28px;
  align-items: start;
}
/* ── Shared detail hero (property + space) ── */
.space-hero {
  position: relative;
  width: 100%;
  margin: 0;
  padding: 0;
}
.space-hero__media {
  position: relative;
  width: 100%;
  height: min(44vh, 400px);
  min-height: 340px;
  overflow: hidden;
  background: #0f172a;
}
.space-hero__img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.space-hero__img--clickable {
  cursor: zoom-in;
}
.space-hero__img--placeholder {
  background-size: cover;
  background-position: center;
}
.space-hero__stock-badge {
  position: absolute;
  left: 16px;
  bottom: 16px;
  z-index: 2;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgb(15 23 42 / 55%);
  color: #e2e8f0;
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  backdrop-filter: blur(6px);
  pointer-events: none;
}
.space-hero__placeholder-label {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 2;
  transform: translate(-50%, -50%);
  padding: 8px 14px;
  border-radius: 999px;
  background: rgb(15 23 42 / 45%);
  color: #e2e8f0;
  font-size: 0.8125rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  backdrop-filter: blur(6px);
  pointer-events: none;
}
.space-hero__scrim {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgb(15 23 42 / 45%) 0%, transparent 32%),
    linear-gradient(0deg, rgb(15 23 42 / 55%) 0%, transparent 45%);
}
.space-hero__back {
  position: absolute;
  top: 16px;
  left: max(16px, calc((100% - 1240px) / 2 + 16px));
  z-index: 3;
  display: inline-flex;
  padding: 7px 12px;
  border-radius: 6px;
  background: rgb(15 23 42 / 55%);
  color: #fff;
  font-size: 0.8125rem;
  text-decoration: none;
  backdrop-filter: blur(6px);
}
.space-hero__back:hover {
  background: rgb(15 23 42 / 72%);
}
.space-hero__photos {
  position: absolute;
  top: 16px;
  right: max(16px, calc((100% - 1240px) / 2 + 16px));
  z-index: 3;
  display: flex;
  align-items: center;
  gap: 8px;
}
.space-hero__thumbs {
  display: flex;
  gap: 6px;
}
.space-hero__thumb {
  width: 52px;
  height: 36px;
  padding: 0;
  border: 1px solid rgb(255 255 255 / 55%);
  border-radius: 4px;
  overflow: hidden;
  cursor: pointer;
  background: rgb(15 23 42 / 35%);
  opacity: 0.92;
}
.space-hero__thumb:hover {
  opacity: 1;
  border-color: #fff;
}
.space-hero__thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.space-hero__photos-btn {
  border: 0;
  border-radius: 6px;
  padding: 8px 12px;
  font: inherit;
  font-size: 0.8125rem;
  font-weight: 600;
  cursor: pointer;
  background: rgb(15 23 42 / 72%);
  color: #fff;
  backdrop-filter: blur(6px);
  white-space: nowrap;
}
.space-hero__photos-btn:hover {
  background: rgb(15 23 42 / 88%);
}
.space-hero__panel {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  padding: 40px 0 18px;
  background: linear-gradient(180deg, transparent 0%, rgb(15 23 42 / 78%) 48%, rgb(15 23 42 / 92%) 100%);
}
.space-hero__body {
  width: min(1240px, calc(100% - 32px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(260px, 0.65fr);
  gap: 16px 32px;
  align-items: end;
}
.space-hero__eyebrow {
  margin: 0 0 4px;
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgb(255 255 255 / 78%);
}
.space-hero__title-row {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px 10px;
  margin-bottom: 4px;
}
.space-hero__title {
  margin: 0;
  font-size: clamp(1.5rem, 2.4vw, 2.125rem);
  line-height: 1.1;
  letter-spacing: -0.03em;
  color: #fff;
  font-weight: 700;
}
.space-hero__class {
  display: inline-flex;
  padding: 3px 9px;
  border-radius: 4px;
  border: 1px solid rgb(255 255 255 / 35%);
  background: rgb(255 255 255 / 12%);
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #fff;
}
.space-hero__address {
  margin: 0 0 10px;
  color: rgb(255 255 255 / 86%);
  font-size: 0.9375rem;
}
.space-hero__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin-bottom: 8px;
}
.space-hero__meta .fair-price {
  background: rgb(255 255 255 / 94%);
  border-radius: 4px;
  padding: 2px 6px;
}
.space-hero__meta .fair-price__badge,
.space-hero__meta .fair-price__range {
  color: #0f172a;
}
.space-hero__registry-warn {
  font-size: 0.75rem;
  font-weight: 600;
  color: #fde68a;
}
.space-hero__metro {
  margin: 0;
}
.space-hero__price {
  justify-self: end;
  width: 100%;
  max-width: 320px;
}
.space-hero__price-modes {
  display: inline-flex;
  margin: 0 0 6px;
  border-bottom: 1px solid rgb(255 255 255 / 28%);
}
.space-hero__price-mode {
  border: 0;
  background: transparent;
  padding: 4px 12px 7px;
  font-size: 0.8125rem;
  color: rgb(255 255 255 / 62%);
  cursor: pointer;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
}
.space-hero__price-mode--active {
  color: #fff;
  font-weight: 600;
  border-bottom-color: #fff;
}
.space-hero__price-main {
  margin: 0 0 2px;
  font-size: clamp(1.375rem, 2vw, 1.75rem);
  font-weight: 700;
  letter-spacing: -0.03em;
  color: #fff;
  line-height: 1.15;
}
.space-hero__price-sub {
  margin: 0 0 12px;
  font-size: 0.8125rem;
  color: rgb(255 255 255 / 78%);
}
.space-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.space-hero__cta {
  border: 0;
  border-radius: 8px;
  padding: 10px 14px;
  font: inherit;
  font-size: 0.875rem;
  font-weight: 600;
  cursor: pointer;
  background: linear-gradient(105deg, #312e81 0%, #4f46e5 55%, #6366f1 100%);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  text-decoration: none;
}
.space-hero__cta:hover {
  filter: brightness(1.05);
}
.space-hero__cta--ghost {
  background: rgb(255 255 255 / 12%);
  border: 1px solid rgb(255 255 255 / 35%);
  box-shadow: none;
}
.space-hero__cta--ghost:hover {
  background: rgb(255 255 255 / 20%);
  filter: none;
}
.space-inline-gallery__head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px 16px;
  margin-bottom: 12px;
}
.space-inline-gallery__head .detail-card__title {
  margin: 0;
}
.space-inline-gallery__count {
  font-size: 0.875rem;
  font-weight: 600;
  color: #64748b;
}
@media (max-width: 960px) {
  .space-hero__thumbs {
    display: none;
  }

  .space-hero__media {
    height: auto;
    min-height: 0;
  }

  .space-hero__media::before {
    content: '';
    display: block;
    padding-top: 62%;
    min-height: 200px;
  }

  .space-hero__img,
  .space-hero__scrim {
    position: absolute;
    inset: 0;
  }

  .space-hero__scrim {
    background:
      linear-gradient(180deg, rgb(15 23 42 / 40%) 0%, transparent 36%),
      linear-gradient(0deg, rgb(15 23 42 / 35%) 0%, transparent 28%);
  }

  .space-hero__panel {
    position: relative;
    padding: 14px 0 18px;
    margin-top: 0;
    background: #0f172a;
  }

  .space-hero__photos {
    top: 12px;
    right: 12px;
  }

  .space-hero__photos-btn {
    padding: 7px 10px;
    font-size: 0.75rem;
  }

  .space-hero__back {
    left: 12px;
    top: 12px;
    max-width: calc(100% - 148px);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .space-hero__body {
    grid-template-columns: 1fr;
    gap: 14px;
    width: calc(100% - 24px);
  }

  .space-hero__title {
    font-size: 1.375rem;
  }

  .space-hero__price {
    justify-self: stretch;
    max-width: none;
  }

  .space-hero__price-main {
    font-size: 1.25rem;
  }

  .space-hero__cta {
    flex: 1 1 auto;
    justify-content: center;
  }

  .space-hero__actions {
    width: 100%;
  }
}
.detail-card {
  background: var(--comdesk-mkt-surface);
  border: 1px solid var(--comdesk-mkt-border);
  border-radius: var(--comdesk-mkt-radius-lg);
  padding: 24px 26px;
  box-shadow: var(--comdesk-mkt-shadow);
}
.detail-card__title {
  margin: 0 0 14px;
  font-size: 1.1875rem;
  font-weight: var(--comdesk-mkt-fw-semibold);
  letter-spacing: -0.025em;
}
.detail-card .detail-object-card + * {
  margin-top: 18px;
}
.detail-card__text {
  margin: 0;
  color: var(--comdesk-mkt-muted);
  line-height: 1.65;
  font-size: 0.9375rem;
}
.detail-section-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 16px;
  margin-bottom: 20px;
  flex-wrap: wrap;
}
.detail-section-head__title {
  margin: 0;
  font-size: 1.375rem;
  font-weight: var(--comdesk-mkt-fw-semibold);
  letter-spacing: var(--comdesk-mkt-tracking-tight);
}
.detail-section-head__link {
  font-size: 0.8125rem;
  font-weight: var(--comdesk-mkt-fw-semibold);
  color: var(--comdesk-mkt-primary-mid);
  text-decoration: none;
}
.detail-spaces-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
}
.detail-sidebar {
  position: sticky;
  top: 92px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.detail-sidebar .detail-card {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.detail-sidebar .detail-sidebar__cta {
  width: 100%;
  text-align: center;
}
.detail-sidebar__org {
  margin: 0;
  font-size: 1.0625rem;
  font-weight: var(--comdesk-mkt-fw-semibold);
  letter-spacing: -0.02em;
  color: var(--comdesk-mkt-text);
}
.detail-sidebar__text {
  margin: 0;
  font-size: 0.875rem;
  line-height: 1.55;
  color: var(--comdesk-mkt-muted);
}
.detail-sidebar__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 13px 18px;
  border: none;
  border-radius: var(--comdesk-mkt-radius-sm);
  background: var(--comdesk-mkt-accent-gradient);
  color: #fff;
  text-decoration: none;
  font: inherit;
  font-size: 0.9375rem;
  font-weight: var(--comdesk-mkt-fw-semibold);
  cursor: pointer;
  box-shadow: 0 12px 28px var(--comdesk-mkt-primary-glow);
  transition: transform 0.2s var(--comdesk-mkt-ease);
}
.detail-sidebar__cta:hover {
  transform: translateY(-1px);
}
.detail-sidebar__cta--ghost {
  background: var(--comdesk-mkt-primary-soft);
  color: var(--comdesk-mkt-primary-mid);
  box-shadow: none;
  border: 1px solid rgb(79 70 229 / 14%);
}
.detail-stat-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 12px;
}
.detail-stat {
  padding: 14px 16px;
  border-radius: var(--comdesk-mkt-radius-sm);
  background: linear-gradient(135deg, var(--comdesk-mkt-primary-soft) 0%, rgb(255 255 255 / 90%) 100%);
  border: 1px solid rgb(79 70 229 / 10%);
}
.detail-stat__label {
  display: block;
  font-size: 0.625rem;
  font-weight: var(--comdesk-mkt-fw-semibold);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--comdesk-mkt-subtle);
  margin-bottom: 4px;
}
.detail-stat__value {
  font-size: 1.125rem;
  font-weight: var(--comdesk-mkt-fw-semibold);
  letter-spacing: var(--comdesk-mkt-tracking-tight);
  color: var(--comdesk-mkt-text);
}
.detail-stat__value--accent {
  background: var(--comdesk-mkt-accent-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.detail-object-link {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 16px 18px;
  border-radius: var(--comdesk-mkt-radius-md);
  text-decoration: none;
  color: inherit;
  background: linear-gradient(135deg, var(--comdesk-mkt-primary-soft) 0%, #fff 100%);
  border: 1px solid rgb(79 70 229 / 12%);
  transition: transform 0.2s var(--comdesk-mkt-ease), box-shadow 0.2s var(--comdesk-mkt-ease);
}
@media (hover: hover) and (pointer: fine) {
  .detail-object-link:hover {
    transform: translateY(-2px);
    box-shadow: var(--comdesk-mkt-shadow-hover);
  }
}
.detail-object-link__title {
  font-size: 1rem;
  font-weight: var(--comdesk-mkt-fw-semibold);
  letter-spacing: -0.02em;
}
.detail-object-link__meta {
  font-size: 0.8125rem;
  color: var(--comdesk-mkt-muted);
}
.detail-object-link__cta {
  margin-top: 4px;
  font-size: 0.8125rem;
  font-weight: var(--comdesk-mkt-fw-semibold);
  color: var(--comdesk-mkt-primary-mid);
}
.detail-object-card {
  display: grid;
  grid-template-columns: minmax(140px, 220px) minmax(0, 1fr);
  gap: 0;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  background: #fff;
  border: 1px solid var(--comdesk-mkt-border);
  transition: transform 0.22s var(--comdesk-mkt-ease), box-shadow 0.22s var(--comdesk-mkt-ease), border-color 0.22s ease;
}
@media (hover: hover) and (pointer: fine) {
  .detail-object-card:hover {
    transform: translateY(-2px);
    border-color: rgb(79 70 229 / 22%);
    box-shadow: var(--comdesk-mkt-shadow-hover);
  }

  .detail-object-card--warehouse:hover {
    border-color: rgb(4 120 87 / 28%);
    box-shadow: 0 2px 4px rgb(15 23 42 / 5%), 0 22px 48px var(--comdesk-mkt-warehouse-glow);
  }
}
.detail-object-card__media {
  position: relative;
  min-height: 168px;
  height: 100%;
  background: #e2e8f0;
  overflow: hidden;
}
.detail-object-card__media :deep(.mkt-image) {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.detail-object-card__media-shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgb(15 23 42 / 0%) 45%, rgb(15 23 42 / 28%) 100%);
  pointer-events: none;
}
.detail-object-card__class {
  position: absolute;
  left: 10px;
  bottom: 10px;
  z-index: 1;
  padding: 4px 8px;
  font-size: 0.625rem;
  font-weight: var(--comdesk-mkt-fw-semibold);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #fff;
  background: rgb(15 23 42 / 58%);
  backdrop-filter: blur(4px);
}
.detail-object-card__body {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
  padding: 16px 18px;
  background: linear-gradient(135deg, var(--comdesk-mkt-primary-soft) 0%, #fff 72%);
}
.detail-object-card__badges {
  margin: 0;
}
.detail-object-card__title {
  margin: 0;
  font-size: 1.0625rem;
  font-weight: var(--comdesk-mkt-fw-semibold);
  letter-spacing: -0.02em;
  line-height: 1.2;
  color: var(--comdesk-mkt-text);
}
.detail-object-card__address {
  margin: 0;
  font-size: 0.8125rem;
  line-height: 1.45;
  color: var(--comdesk-mkt-muted);
}
.detail-object-card__metro {
  margin-top: 2px;
}
.detail-object-card__stats {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  margin-top: 4px;
  padding-top: 12px;
  border-top: 1px solid rgb(79 70 229 / 10%);
}
.detail-object-card__stat {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 72px;
}
.detail-object-card__stat-label {
  font-size: 0.625rem;
  font-weight: var(--comdesk-mkt-fw-semibold);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--comdesk-mkt-subtle);
}
.detail-object-card__stat-value {
  font-size: 0.875rem;
  font-weight: var(--comdesk-mkt-fw-semibold);
  color: var(--comdesk-mkt-text);
  line-height: 1.2;
}
.detail-object-card__stat-value--accent {
  color: var(--comdesk-mkt-primary-mid);
}
.detail-object-card__cta {
  margin-top: auto;
  padding-top: 10px;
  font-size: 0.8125rem;
  font-weight: var(--comdesk-mkt-fw-semibold);
  color: var(--comdesk-mkt-primary-mid);
}
.detail-object-card:hover .detail-object-card__cta {
  text-decoration: underline;
  text-underline-offset: 3px;
}
@media (max-width: 640px) {
  .detail-object-card {
    grid-template-columns: 1fr;
  }

  .detail-object-card__media {
    min-height: 180px;
    max-height: 220px;
  }
}
.detail-state {
  max-width: 1240px;
  margin: 48px auto;
  padding: 0 24px;
  color: var(--comdesk-mkt-muted);
  font-weight: 600;
  text-align: center;
}
.detail-state--error {
  color: #dc2626;
}
@media (max-width: 960px) {
  .detail-page {
    grid-template-columns: 1fr;
  }

  .detail-sidebar {
    position: static;
  }
}
/* ── Forms & panels (sidebar, cabinet) ── */
.mkt-panel {
  background: var(--comdesk-mkt-surface);
  border: 1px solid var(--comdesk-mkt-border);
  border-radius: var(--comdesk-mkt-radius-md);
  box-shadow: var(--comdesk-mkt-shadow);
}
.mkt-form-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--comdesk-mkt-muted);
}
.mkt-form-field input,
.mkt-form-field select,
.mkt-form-input {
  border: 1px solid var(--comdesk-mkt-border-strong);
  border-radius: var(--comdesk-mkt-radius-sm);
  padding: 11px 13px;
  font-size: 0.875rem;
  color: var(--comdesk-mkt-text);
  background: #fff;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.mkt-form-field .dadata-suggest,
.mkt-form-field .dadata-suggest--bare {
  width: 100%;
  display: block;
}
.mkt-form-field .dadata-suggest__bare-input {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid var(--comdesk-mkt-border-strong);
  border-radius: var(--comdesk-mkt-radius-sm);
  padding: 11px 13px;
  font: inherit;
  font-size: 0.875rem;
  color: var(--comdesk-mkt-text);
  background: #fff;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.mkt-form-field .dadata-suggest__bare-input:focus {
  outline: none;
  border-color: rgb(79 70 229 / 35%);
  box-shadow: 0 0 0 3px rgb(79 70 229 / 10%);
}
.mkt-form-field .dadata-suggest__bare-input::-moz-placeholder {
  color: #94a3b8;
  opacity: 1;
}
.mkt-form-field .dadata-suggest__bare-input::placeholder {
  color: #94a3b8;
  opacity: 1;
}
.mkt-form-field select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding-right: 32px;
  cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M3 4.5 6 7.5 9 4.5' stroke='%2394a3b8' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 12px;
}
.mkt-form-field input:focus,
.mkt-form-field select:focus,
.mkt-form-input:focus {
  outline: none;
  border-color: rgb(79 70 229 / 35%);
  box-shadow: 0 0 0 3px rgb(79 70 229 / 10%);
}
.mkt-btn {
  padding: 11px 16px;
  border-radius: var(--comdesk-mkt-radius-sm);
  font-size: 0.875rem;
  font-weight: var(--comdesk-mkt-fw-semibold);
  cursor: pointer;
  border: 1px solid transparent;
  transition: transform 0.2s var(--comdesk-mkt-ease), box-shadow 0.2s var(--comdesk-mkt-ease);
}
.mkt-btn:hover:not(:disabled) {
  transform: translateY(-1px);
}
.mkt-btn:disabled {
  opacity: 0.6;
  cursor: default;
}
.mkt-btn--primary {
  background-color: var(--comdesk-mkt-primary-mid);
  background-image: var(--comdesk-mkt-accent-gradient);
  color: #fff;
  box-shadow: 0 10px 24px var(--comdesk-mkt-primary-glow);
}
.mkt-btn--ghost {
  background: #fff;
  border-color: var(--comdesk-mkt-border-strong);
  color: var(--comdesk-mkt-muted);
}
.mkt-page-header {
  padding: 32px 24px 36px;
  background: linear-gradient(135deg, #1e1b4b 0%, #312e81 40%, #4338ca 100%);
  color: #fff;
}
.mkt-page-header__inner {
  max-width: 1240px;
  margin: 0 auto;
}
.mkt-page-header__back {
  display: inline-flex;
  padding: 7px 12px;
  border-radius: 0;
  font-size: 0.8125rem;
  font-weight: 600;
  color: rgb(255 255 255 / 92%);
  text-decoration: none;
  background: rgb(255 255 255 / 10%);
  border: 1px solid rgb(255 255 255 / 16%);
  backdrop-filter: blur(10px);
}
.mkt-page-header__eyebrow {
  margin: 14px 0 0;
  font-size: 0.6875rem;
  font-weight: var(--comdesk-mkt-fw-semibold);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgb(255 255 255 / 72%);
}
.mkt-page-header__title {
  margin: 8px 0 0;
  font-size: clamp(1.5rem, 3vw, 2.125rem);
  font-weight: var(--comdesk-mkt-fw-semibold);
  letter-spacing: var(--comdesk-mkt-tracking-tight);
  line-height: 1.1;
}
.mkt-page-header__lead {
  margin: 10px 0 0;
  max-width: 560px;
  font-size: 0.9375rem;
  line-height: 1.55;
  color: rgb(255 255 255 / 84%);
}
.mkt-page-body {
  max-width: 1240px;
  margin: 0 auto;
  padding: 28px 24px 56px;
  display: flex;
  flex-direction: column;
  gap: 22px;
}
.mkt-page-body--narrow {
  max-width: 760px;
}
.mkt-list-item {
  padding: 16px 18px;
  border-radius: var(--comdesk-mkt-radius-sm);
  border: 1px solid var(--comdesk-mkt-border);
  background: linear-gradient(135deg, rgb(248 250 252 / 90%) 0%, #fff 100%);
}
.mkt-tag {
  display: inline-flex;
  padding: 4px 10px;
  border-radius: 0;
  font-size: 0.6875rem;
  font-weight: var(--comdesk-mkt-fw-semibold);
  letter-spacing: 0.03em;
  text-transform: uppercase;
  background: var(--comdesk-mkt-primary-soft);
  color: var(--comdesk-mkt-primary-mid);
  border: 1px solid rgb(79 70 229 / 12%);
}
/* ── Property detail (Bright Rich–style) ── */
.prop-detail {
  background: var(--comdesk-mkt-bg-accent);
  min-height: 100%;
}
.prop-detail__wrap {
  max-width: 1240px;
  margin: 0 auto;
  padding: 20px 24px 56px;
}
.prop-detail__back {
  display: inline-flex;
  align-items: center;
  margin: 0 0 16px;
  padding: 7px 12px;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--comdesk-mkt-muted);
  text-decoration: none;
  background: rgb(255 255 255 / 72%);
  border: 1px solid var(--comdesk-mkt-border);
  transition: color 0.2s ease, border-color 0.2s ease, background 0.2s ease;
}
.prop-detail__back:hover {
  color: var(--comdesk-mkt-primary-mid);
  border-color: rgb(79 70 229 / 22%);
  background: #fff;
}
.prop-detail__crumbs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin: 0 0 20px;
  font-size: 0.8125rem;
  color: var(--comdesk-mkt-subtle);
}
.prop-detail__crumbs a {
  color: var(--comdesk-mkt-muted);
  text-decoration: none;
  font-weight: 600;
}
.prop-detail__crumbs a:hover {
  color: var(--comdesk-mkt-primary-mid);
}
.prop-detail__crumbs-sep {
  opacity: 0.45;
}
.prop-detail__head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 42%);
  gap: 28px;
  align-items: stretch;
  margin-bottom: 24px;
  padding: 24px 28px;
  background: #fff;
  border: 1px solid var(--comdesk-mkt-border);
  box-shadow: var(--comdesk-mkt-shadow);
}
.prop-detail__intro {
  display: flex;
  flex-direction: column;
  min-height: 100%;
}
.prop-detail__intro-top {
  flex: 1 1 auto;
}
.prop-detail__intro-stats {
  margin-top: auto;
  padding-top: 20px;
  border-top: 1px solid rgb(15 23 42 / 8%);
}
.prop-detail__stats-strip {
  margin: 0;
  padding: 14px 0 0;
  background: none;
  border: none;
  box-shadow: none;
}
.prop-detail__stats-strip .mkt-price-strip__item + .mkt-price-strip__item {
  padding-left: 18px;
  border-left: 1px solid rgb(15 23 42 / 8%);
}
.prop-detail__intro-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 16px;
}
.prop-detail__intro-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 11px 18px;
  font: inherit;
  font-size: 0.875rem;
  font-weight: var(--comdesk-mkt-fw-semibold);
  text-decoration: none;
  border: 1px solid transparent;
  cursor: pointer;
  transition: transform 0.2s var(--comdesk-mkt-ease), filter 0.2s ease;
}
.prop-detail__intro-btn:hover {
  transform: translateY(-1px);
}
.prop-detail__intro-btn--primary {
  background: var(--comdesk-mkt-accent-gradient);
  color: #fff;
  box-shadow: 0 8px 20px var(--comdesk-mkt-primary-glow);
}
.prop-detail__intro-btn--ghost {
  background: #fff;
  border-color: var(--comdesk-mkt-border-strong);
  color: var(--comdesk-mkt-text);
}
.prop-detail__title {
  margin: 0;
  font-size: clamp(1.625rem, 3.2vw, 2.375rem);
  font-weight: var(--comdesk-mkt-fw-semibold);
  line-height: 1.08;
  letter-spacing: var(--comdesk-mkt-tracking-tight);
  color: var(--comdesk-mkt-text);
}
.prop-detail__class {
  display: inline-flex;
  margin-top: 10px;
  padding: 5px 10px;
  border: 1px solid rgb(79 70 229 / 18%);
  background: var(--comdesk-mkt-primary-soft);
  font-size: 0.6875rem;
  font-weight: var(--comdesk-mkt-fw-semibold);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--comdesk-mkt-primary-mid);
}
.prop-detail__address {
  margin: 12px 0 0;
  font-size: 1rem;
  line-height: 1.5;
  color: var(--comdesk-mkt-muted);
}
.prop-detail__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-top: 14px;
}
.prop-detail__metro-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 14px;
}
.prop-detail__gallery {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
}
.prop-detail__gallery-main {
  position: relative;
  aspect-ratio: 16 / 10;
  max-height: 360px;
  overflow: hidden;
  background: #e2e8f0;
}
.prop-detail__head .prop-detail__gallery-main {
  border: none;
}
.prop-detail__gallery-main img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.prop-detail__gallery-placeholder {
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
}
.prop-detail__gallery-thumbs {
  display: flex;
  gap: 6px;
  overflow-x: auto;
  scrollbar-width: thin;
}
.prop-detail__gallery-thumb {
  flex: 0 0 72px;
  height: 54px;
  padding: 0;
  border: 2px solid transparent;
  background: #e2e8f0;
  cursor: pointer;
  overflow: hidden;
  opacity: 0.72;
  transition: opacity 0.2s ease, border-color 0.2s ease;
}
.prop-detail__gallery-thumb img,
.prop-detail__gallery-thumb span {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.prop-detail__gallery-thumb--active {
  opacity: 1;
  border-color: var(--comdesk-mkt-primary-mid);
}
.prop-detail__lead {
  display: none;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px 24px;
  padding: 18px 22px;
  margin-bottom: 28px;
  background: linear-gradient(135deg, #1e1b4b 0%, #312e81 55%, #4338ca 100%);
  border: 1px solid rgb(79 70 229 / 25%);
  color: #fff;
}
.prop-detail__lead-text {
  margin: 0;
  font-size: 1.0625rem;
  font-weight: var(--comdesk-mkt-fw-semibold);
  line-height: 1.35;
  max-width: 520px;
}
.prop-detail__lead-sub {
  margin: 4px 0 0;
  font-size: 0.8125rem;
  font-weight: 500;
  color: rgb(255 255 255 / 78%);
}
.prop-detail__lead-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.prop-detail__lead-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 20px;
  font: inherit;
  font-size: 0.875rem;
  font-weight: var(--comdesk-mkt-fw-semibold);
  text-decoration: none;
  border: 1px solid transparent;
  cursor: pointer;
  transition: transform 0.2s var(--comdesk-mkt-ease), filter 0.2s ease;
}
.prop-detail__lead-btn:hover {
  transform: translateY(-1px);
}
.prop-detail__lead-btn--primary {
  background: #fff;
  color: #312e81;
}
.prop-detail__lead-btn--ghost {
  background: rgb(255 255 255 / 12%);
  border-color: rgb(255 255 255 / 28%);
  color: #fff;
}
.prop-detail__body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 28px;
  align-items: start;
}
.prop-detail__listings-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px 16px;
  margin-bottom: 16px;
  padding-bottom: 14px;
  border-bottom: 2px solid var(--comdesk-mkt-text);
}
.prop-detail__listings-title {
  margin: 0;
  font-size: 1.25rem;
  font-weight: var(--comdesk-mkt-fw-semibold);
  letter-spacing: -0.02em;
}
.prop-detail__toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 14px;
}
.prop-detail__sort {
  min-width: 118px;
  max-width: 100%;
  padding: 8px 32px 8px 12px;
  border: 1px solid var(--comdesk-mkt-border-strong);
  font: inherit;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--comdesk-mkt-text);
  background-color: #fff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M3 4.5L6 7.5L9 4.5' stroke='%235c667a' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: 12px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  cursor: pointer;
}
.prop-detail__price-modes {
  display: flex;
  border: 1px solid var(--comdesk-mkt-border);
}
.prop-detail__price-mode {
  padding: 7px 11px;
  border: none;
  border-right: 1px solid var(--comdesk-mkt-border);
  background: #fff;
  font-size: 0.6875rem;
  font-weight: var(--comdesk-mkt-fw-semibold);
  color: var(--comdesk-mkt-muted);
  cursor: pointer;
  white-space: nowrap;
}
.prop-detail__price-mode:last-child {
  border-right: none;
}
.prop-detail__price-mode--active {
  background: var(--comdesk-mkt-primary-soft);
  color: var(--comdesk-mkt-primary-mid);
}
.prop-detail__spaces {
  display: flex;
  flex-direction: column;
  gap: 0;
  border: 1px solid var(--comdesk-mkt-border);
  background: #fff;
}
.prop-detail__space-row {
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr) minmax(140px, 180px) auto;
  gap: 12px 16px;
  align-items: center;
  padding: 14px 16px;
  border-bottom: 1px solid var(--comdesk-mkt-border);
  text-decoration: none;
  color: inherit;
  transition: background 0.18s ease;
}
.prop-detail__space-media {
  display: block;
  width: 112px;
  height: 84px;
  border-radius: 6px;
  overflow: hidden;
  background: #e2e8f0;
  flex-shrink: 0;
  text-decoration: none;
}
.prop-detail__space-media :deep(img) {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.prop-detail__space-main {
  min-width: 0;
}
.prop-detail__space-title-link {
  color: inherit;
  text-decoration: none;
}
.prop-detail__space-title-link:hover {
  color: var(--comdesk-mkt-primary-mid);
}
.prop-detail__space-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 10px 0 0;
  padding: 0;
  list-style: none;
}
.prop-detail__space-chips li {
  padding: 4px 8px;
  font-size: 0.6875rem;
  font-weight: var(--comdesk-mkt-fw-semibold);
  color: var(--comdesk-mkt-muted);
  background: rgb(15 23 42 / 4%);
  border: 1px solid rgb(15 23 42 / 8%);
}
.prop-detail__space-chips li.prop-detail__space-chip--warn {
  color: #b45309;
  background: rgb(254 243 199 / 55%);
  border-color: rgb(245 158 11 / 35%);
}
.prop-detail__space-chips li.prop-detail__space-chip--good {
  color: #15803d;
  background: rgb(220 252 231 / 55%);
  border-color: rgb(34 197 94 / 30%);
}
.prop-detail__space-row:last-child {
  border-bottom: none;
}
.prop-detail__space-row:hover {
  background: rgb(248 250 252 / 90%);
}
.prop-detail__space-title {
  margin: 0;
  font-size: 1rem;
  font-weight: var(--comdesk-mkt-fw-semibold);
  letter-spacing: -0.02em;
  color: var(--comdesk-mkt-text);
}
.prop-detail__space-type {
  margin: 4px 0 0;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--comdesk-mkt-subtle);
}
.prop-detail__space-org {
  margin: 6px 0 0;
  font-size: 0.8125rem;
  font-weight: var(--comdesk-mkt-fw-medium);
  color: var(--comdesk-mkt-text);
}
.prop-detail__space-also {
  margin: 4px 0 0;
  font-size: 0.75rem;
  line-height: 1.35;
  color: var(--comdesk-mkt-subtle);
}
.prop-detail__space-prices {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}
.prop-detail__space-price {
  margin: 0;
  font-size: 0.875rem;
  font-weight: var(--comdesk-mkt-fw-semibold);
  color: var(--comdesk-mkt-text);
  line-height: 1.3;
}
.prop-detail__space-price--secondary {
  font-size: 0.8125rem;
  font-weight: var(--comdesk-mkt-fw-medium);
  color: var(--comdesk-mkt-muted);
}
.prop-detail__space-price-label {
  display: block;
  font-size: 0.625rem;
  font-weight: var(--comdesk-mkt-fw-semibold);
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--comdesk-mkt-subtle);
  margin-bottom: 2px;
}
.prop-detail__space-price--highlight {
  color: var(--comdesk-mkt-primary-mid);
  font-size: 1.0625rem;
}
.prop-detail__space-meta {
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 0.8125rem;
  color: var(--comdesk-mkt-muted);
  line-height: 1.45;
}
.prop-detail__space-meta li + li {
  margin-top: 2px;
}
.prop-detail__space-actions {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 148px;
}
.prop-detail__space-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 14px;
  font: inherit;
  font-size: 0.8125rem;
  font-weight: var(--comdesk-mkt-fw-semibold);
  text-decoration: none;
  border: 1px solid var(--comdesk-mkt-border-strong);
  background: #fff;
  color: var(--comdesk-mkt-text);
  cursor: pointer;
  transition: border-color 0.15s ease, color 0.15s ease;
}
.prop-detail__space-btn--primary {
  background-color: var(--comdesk-mkt-primary-mid);
  background-image: var(--comdesk-mkt-accent-gradient);
  border-color: transparent;
  color: #fff !important;
}
.prop-detail__space-btn:hover {
  border-color: var(--comdesk-mkt-primary-mid);
  color: var(--comdesk-mkt-primary-mid);
}
.prop-detail__space-btn--primary:hover {
  color: #fff !important;
  filter: brightness(1.05);
}
.prop-detail__facts {
  position: sticky;
  top: 88px;
  display: flex;
  flex-direction: column;
  gap: 0;
  border: 1px solid var(--comdesk-mkt-border);
  background: #fff;
}
.prop-detail__fact-block {
  padding: 18px 20px;
  border-bottom: 1px solid var(--comdesk-mkt-border);
}
.prop-detail__fact-block:last-child {
  border-bottom: none;
}
.prop-detail__fact-title {
  margin: 0 0 12px;
  font-size: 0.6875rem;
  font-weight: var(--comdesk-mkt-fw-semibold);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--comdesk-mkt-subtle);
}
.prop-detail__fact-row {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 6px 0;
  font-size: 0.8125rem;
  line-height: 1.4;
  border-bottom: 1px solid rgb(15 23 42 / 5%);
}
.prop-detail__fact-row:last-child {
  border-bottom: none;
}
.prop-detail__fact-label {
  color: var(--comdesk-mkt-muted);
  flex: 0 0 48%;
}
.prop-detail__fact-value {
  font-weight: var(--comdesk-mkt-fw-semibold);
  color: var(--comdesk-mkt-text);
  text-align: right;
}
.prop-detail__fact-value--accent {
  color: var(--comdesk-mkt-primary-mid);
}
.prop-detail__about {
  margin-top: 36px;
  padding: 28px 30px;
  background: #fff;
  border: 1px solid var(--comdesk-mkt-border);
}
.prop-detail__about-title {
  margin: 0 0 14px;
  font-size: 1.25rem;
  font-weight: var(--comdesk-mkt-fw-semibold);
  letter-spacing: -0.02em;
}
.prop-detail__about-text {
  margin: 0;
  font-size: 0.9375rem;
  line-height: 1.7;
  color: var(--comdesk-mkt-muted);
  white-space: pre-line;
}
.prop-detail__about-text--clamped {
  display: -webkit-box;
  -webkit-line-clamp: 6;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.prop-detail__about-toggle {
  margin-top: 12px;
  padding: 0;
  border: none;
  background: none;
  font-size: 0.875rem;
  font-weight: var(--comdesk-mkt-fw-semibold);
  color: var(--comdesk-mkt-primary-mid);
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.prop-detail__fact-cta {
  margin-top: 12px;
}
.prop-detail__fact-note {
  margin: 0;
  font-size: 0.8125rem;
  line-height: 1.5;
  color: var(--comdesk-mkt-muted);
}
.prop-detail__fact-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin-top: 12px;
  padding: 11px 16px;
  border: none;
  border-radius: var(--comdesk-mkt-radius-sm);
  background: var(--comdesk-mkt-accent-gradient);
  color: #fff;
  font: inherit;
  font-size: 0.875rem;
  font-weight: var(--comdesk-mkt-fw-semibold);
  cursor: pointer;
  box-shadow: 0 8px 20px var(--comdesk-mkt-primary-glow);
}
.prop-detail__fact-btn:hover {
  filter: brightness(1.05);
}
@media (max-width: 960px) {
  .prop-detail__body {
    grid-template-columns: 1fr;
  }

  .prop-detail__facts {
    position: static;
  }

  .prop-detail__space-row {
    grid-template-columns: 96px minmax(0, 1fr);
    align-items: start;
  }

  .prop-detail__space-media {
    width: 96px;
    height: 72px;
    grid-row: 1 / span 2;
  }

  .prop-detail__space-prices {
    grid-column: 2;
  }

  .prop-detail__space-actions {
    flex-direction: row;
    min-width: 0;
    width: 100%;
    grid-column: 1 / -1;
  }

  .prop-detail__space-btn {
    flex: 1 1 auto;
  }
}
@media (max-width: 640px) {
  .prop-detail__space-prices {
    padding-top: 4px;
  }

  .prop-detail__price-modes {
    flex-wrap: wrap;
  }

  .prop-detail__wrap {
    padding: 16px 16px 40px;
  }
}
@media (max-width: 720px) {
  .mkt-card__cta,
  .mkt-card:hover .mkt-card__cta {
    opacity: 1;
    transform: none;
  }
}
*, ::before, ::after {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}
::backdrop {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}
/* ! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com */
/*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/
*,
::before,
::after {
  box-sizing: border-box; /* 1 */
  border-width: 0; /* 2 */
  border-style: solid; /* 2 */
  border-color: #e5e7eb; /* 2 */
}
::before,
::after {
  --tw-content: '';
}
/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
5. Use the user's configured `sans` font-feature-settings by default.
6. Use the user's configured `sans` font-variation-settings by default.
7. Disable tap highlights on iOS
*/
html,
:host {
  line-height: 1.5; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -moz-tab-size: 4; /* 3 */
  -o-tab-size: 4;
     tab-size: 4; /* 3 */
  font-family: var(--font-family-sans); /* 4 */
  font-feature-settings: normal; /* 5 */
  font-variation-settings: normal; /* 6 */
  -webkit-tap-highlight-color: transparent; /* 7 */
}
/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/
body {
  margin: 0; /* 1 */
  line-height: inherit; /* 2 */
}
/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/
hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
  border-top-width: 1px; /* 3 */
}
/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/
abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}
/*
Remove the default font size and weight for headings.
*/
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}
/*
Reset links to optimize for opt-in styling instead of opt-out.
*/
a {
  color: inherit;
  text-decoration: inherit;
}
/*
Add the correct font weight in Edge and Safari.
*/
b,
strong {
  font-weight: bolder;
}
/*
1. Use the user's configured `mono` font-family by default.
2. Use the user's configured `mono` font-feature-settings by default.
3. Use the user's configured `mono` font-variation-settings by default.
4. Correct the odd `em` font sizing in all browsers.
*/
code,
kbd,
samp,
pre {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; /* 1 */
  font-feature-settings: normal; /* 2 */
  font-variation-settings: normal; /* 3 */
  font-size: 1em; /* 4 */
}
/*
Add the correct font size in all browsers.
*/
small {
  font-size: 80%;
}
/*
Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sub {
  bottom: -0.25em;
}
sup {
  top: -0.5em;
}
/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/
table {
  text-indent: 0; /* 1 */
  border-color: inherit; /* 2 */
  border-collapse: collapse; /* 3 */
}
/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/
button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-feature-settings: inherit; /* 1 */
  font-variation-settings: inherit; /* 1 */
  font-size: 100%; /* 1 */
  font-weight: inherit; /* 1 */
  line-height: inherit; /* 1 */
  letter-spacing: inherit; /* 1 */
  color: inherit; /* 1 */
  margin: 0; /* 2 */
  padding: 0; /* 3 */
}
/*
Remove the inheritance of text transform in Edge and Firefox.
*/
button,
select {
  text-transform: none;
}
/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/
button,
input:where([type='button']),
input:where([type='reset']),
input:where([type='submit']) {
  -webkit-appearance: button; /* 1 */
  background-color: transparent; /* 2 */
  background-image: none; /* 2 */
}
/*
Use the modern Firefox focus style for all focusable elements.
*/
:-moz-focusring {
  outline: auto;
}
/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/
:-moz-ui-invalid {
  box-shadow: none;
}
/*
Add the correct vertical alignment in Chrome and Firefox.
*/
progress {
  vertical-align: baseline;
}
/*
Correct the cursor style of increment and decrement buttons in Safari.
*/
::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}
/*
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/
[type='search'] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}
/*
Remove the inner padding in Chrome and Safari on macOS.
*/
::-webkit-search-decoration {
  -webkit-appearance: none;
}
/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to `inherit` in Safari.
*/
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}
/*
Add the correct display in Chrome and Safari.
*/
summary {
  display: list-item;
}
/*
Removes the default spacing and border for appropriate elements.
*/
blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}
fieldset {
  margin: 0;
  padding: 0;
}
legend {
  padding: 0;
}
ol,
ul,
menu {
  list-style: none;
  margin: 0;
  padding: 0;
}
/*
Reset default styling for dialogs.
*/
dialog {
  padding: 0;
}
/*
Prevent resizing textareas horizontally by default.
*/
textarea {
  resize: vertical;
}
/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/
input::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}
input::placeholder,
textarea::placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}
/*
Set the default cursor for buttons.
*/
button,
[role="button"] {
  cursor: pointer;
}
/*
Make sure disabled buttons don't get the pointer cursor.
*/
:disabled {
  cursor: default;
}
/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
   This can trigger a poorly considered lint error in some tools but is included by design.
*/
img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block; /* 1 */
  vertical-align: middle; /* 2 */
}
/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/
img,
video {
  max-width: 100%;
  height: auto;
}
/* Make elements with the HTML hidden attribute stay hidden by default */
[hidden]:where(:not([hidden="until-found"])) {
  display: none;
}
.\!container {
  width: 100% !important;
}
.container {
  width: 100%;
}
@media (min-width: 640px) {
  .\!container {
    max-width: 640px !important;
  }
  .container {
    max-width: 640px;
  }
}
@media (min-width: 768px) {
  .\!container {
    max-width: 768px !important;
  }
  .container {
    max-width: 768px;
  }
}
@media (min-width: 1024px) {
  .\!container {
    max-width: 1024px !important;
  }
  .container {
    max-width: 1024px;
  }
}
@media (min-width: 1280px) {
  .\!container {
    max-width: 1280px !important;
  }
  .container {
    max-width: 1280px;
  }
}
@media (min-width: 1536px) {
  .\!container {
    max-width: 1536px !important;
  }
  .container {
    max-width: 1536px;
  }
}
.card {
    border-radius: var(--surface-radius);
    border-width: 1px;
    padding: 1.5rem;
    transition-property: box-shadow;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 200ms;
    background-color: var(--color-background-surface);
    border-color: var(--color-border);
  }
.field-required {
    color: var(--color-error);
  }
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}
.pointer-events-none {
  pointer-events: none;
}
.pointer-events-auto {
  pointer-events: auto;
}
.visible {
  visibility: visible;
}
.invisible {
  visibility: hidden;
}
.collapse {
  visibility: collapse;
}
.static {
  position: static;
}
.fixed {
  position: fixed;
}
.absolute {
  position: absolute;
}
.relative {
  position: relative;
}
.sticky {
  position: sticky;
}
.inset-0 {
  inset: 0px;
}
.inset-y-0 {
  top: 0px;
  bottom: 0px;
}
.bottom-0 {
  bottom: 0px;
}
.left-0 {
  left: 0px;
}
.left-1 {
  left: 0.25rem;
}
.right-0 {
  right: 0px;
}
.right-1 {
  right: 0.25rem;
}
.top-0 {
  top: 0px;
}
.isolate {
  isolation: isolate;
}
.z-10 {
  z-index: 10;
}
.z-20 {
  z-index: 20;
}
.z-30 {
  z-index: 30;
}
.z-40 {
  z-index: 40;
}
.z-50 {
  z-index: 50;
}
.z-\[10100\] {
  z-index: 10100;
}
.z-\[10200\] {
  z-index: 10200;
}
.z-\[180\] {
  z-index: 180;
}
.z-\[190\] {
  z-index: 190;
}
.z-\[200\] {
  z-index: 200;
}
.z-\[400\] {
  z-index: 400;
}
.z-\[401\] {
  z-index: 401;
}
.z-\[60\] {
  z-index: 60;
}
.m-0 {
  margin: 0px;
}
.mx-1 {
  margin-left: 0.25rem;
  margin-right: 0.25rem;
}
.mx-4 {
  margin-left: 1rem;
  margin-right: 1rem;
}
.mx-auto {
  margin-left: auto;
  margin-right: auto;
}
.my-1 {
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;
}
.-mb-px {
  margin-bottom: -1px;
}
.mb-0 {
  margin-bottom: 0px;
}
.mb-0\.5 {
  margin-bottom: 0.125rem;
}
.mb-1 {
  margin-bottom: 0.25rem;
}
.mb-2 {
  margin-bottom: 0.5rem;
}
.mb-3 {
  margin-bottom: 0.75rem;
}
.mb-4 {
  margin-bottom: 1rem;
}
.mb-5 {
  margin-bottom: 1.25rem;
}
.mb-6 {
  margin-bottom: 1.5rem;
}
.ml-0\.5 {
  margin-left: 0.125rem;
}
.ml-2 {
  margin-left: 0.5rem;
}
.ml-3 {
  margin-left: 0.75rem;
}
.ml-auto {
  margin-left: auto;
}
.mr-1\.5 {
  margin-right: 0.375rem;
}
.mr-auto {
  margin-right: auto;
}
.mt-0\.5 {
  margin-top: 0.125rem;
}
.mt-1 {
  margin-top: 0.25rem;
}
.mt-1\.5 {
  margin-top: 0.375rem;
}
.mt-2 {
  margin-top: 0.5rem;
}
.mt-3 {
  margin-top: 0.75rem;
}
.mt-4 {
  margin-top: 1rem;
}
.mt-6 {
  margin-top: 1.5rem;
}
.mt-auto {
  margin-top: auto;
}
.line-clamp-1 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}
.line-clamp-2 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.\!block {
  display: block !important;
}
.block {
  display: block;
}
.inline-block {
  display: inline-block;
}
.inline {
  display: inline;
}
.flex {
  display: flex;
}
.inline-flex {
  display: inline-flex;
}
.table {
  display: table;
}
.\!grid {
  display: grid !important;
}
.grid {
  display: grid;
}
.contents {
  display: contents;
}
.hidden {
  display: none;
}
.\!h-2\.5 {
  height: 0.625rem !important;
}
.h-1 {
  height: 0.25rem;
}
.h-1\.5 {
  height: 0.375rem;
}
.h-10 {
  height: 2.5rem;
}
.h-12 {
  height: 3rem;
}
.h-16 {
  height: 4rem;
}
.h-2 {
  height: 0.5rem;
}
.h-20 {
  height: 5rem;
}
.h-3 {
  height: 0.75rem;
}
.h-3\.5 {
  height: 0.875rem;
}
.h-4 {
  height: 1rem;
}
.h-5 {
  height: 1.25rem;
}
.h-6 {
  height: 1.5rem;
}
.h-7 {
  height: 1.75rem;
}
.h-8 {
  height: 2rem;
}
.h-9 {
  height: 2.25rem;
}
.h-\[18px\] {
  height: 18px;
}
.h-\[40px\] {
  height: 40px;
}
.h-\[42px\] {
  height: 42px;
}
.h-full {
  height: 100%;
}
.max-h-24 {
  max-height: 6rem;
}
.max-h-48 {
  max-height: 12rem;
}
.max-h-64 {
  max-height: 16rem;
}
.max-h-80 {
  max-height: 20rem;
}
.max-h-96 {
  max-height: 24rem;
}
.max-h-\[100dvh\] {
  max-height: 100dvh;
}
.max-h-\[min\(70vh\2c 420px\)\] {
  max-height: min(70vh, 420px);
}
.min-h-0 {
  min-height: 0px;
}
.min-h-28 {
  min-height: 7rem;
}
.min-h-\[4\.5rem\] {
  min-height: 4.5rem;
}
.min-h-\[40px\] {
  min-height: 40px;
}
.min-h-\[420px\] {
  min-height: 420px;
}
.min-h-\[60px\] {
  min-height: 60px;
}
.min-h-\[72px\] {
  min-height: 72px;
}
.min-h-screen {
  min-height: 100vh;
}
.\!w-2\.5 {
  width: 0.625rem !important;
}
.w-1 {
  width: 0.25rem;
}
.w-1\.5 {
  width: 0.375rem;
}
.w-10 {
  width: 2.5rem;
}
.w-12 {
  width: 3rem;
}
.w-14 {
  width: 3.5rem;
}
.w-16 {
  width: 4rem;
}
.w-2 {
  width: 0.5rem;
}
.w-20 {
  width: 5rem;
}
.w-24 {
  width: 6rem;
}
.w-3 {
  width: 0.75rem;
}
.w-3\.5 {
  width: 0.875rem;
}
.w-32 {
  width: 8rem;
}
.w-4 {
  width: 1rem;
}
.w-5 {
  width: 1.25rem;
}
.w-56 {
  width: 14rem;
}
.w-6 {
  width: 1.5rem;
}
.w-7 {
  width: 1.75rem;
}
.w-72 {
  width: 18rem;
}
.w-8 {
  width: 2rem;
}
.w-9 {
  width: 2.25rem;
}
.w-\[18px\] {
  width: 18px;
}
.w-\[40px\] {
  width: 40px;
}
.w-\[56px\] {
  width: 56px;
}
.w-fit {
  width: -moz-fit-content;
  width: fit-content;
}
.w-full {
  width: 100%;
}
.min-w-0 {
  min-width: 0px;
}
.min-w-\[100px\] {
  min-width: 100px;
}
.min-w-\[110px\] {
  min-width: 110px;
}
.min-w-\[120px\] {
  min-width: 120px;
}
.min-w-\[130px\] {
  min-width: 130px;
}
.min-w-\[140px\] {
  min-width: 140px;
}
.min-w-\[150px\] {
  min-width: 150px;
}
.min-w-\[160px\] {
  min-width: 160px;
}
.min-w-\[180px\] {
  min-width: 180px;
}
.min-w-\[200px\] {
  min-width: 200px;
}
.min-w-\[220px\] {
  min-width: 220px;
}
.min-w-\[240px\] {
  min-width: 240px;
}
.min-w-\[40px\] {
  min-width: 40px;
}
.min-w-\[64px\] {
  min-width: 64px;
}
.min-w-\[70px\] {
  min-width: 70px;
}
.min-w-\[72px\] {
  min-width: 72px;
}
.min-w-\[80px\] {
  min-width: 80px;
}
.min-w-\[88px\] {
  min-width: 88px;
}
.min-w-\[90px\] {
  min-width: 90px;
}
.min-w-\[96px\] {
  min-width: 96px;
}
.min-w-full {
  min-width: 100%;
}
.max-w-2xl {
  max-width: 42rem;
}
.max-w-5xl {
  max-width: 64rem;
}
.max-w-7xl {
  max-width: 80rem;
}
.max-w-\[280px\] {
  max-width: 280px;
}
.max-w-\[40px\] {
  max-width: 40px;
}
.max-w-\[85\%\] {
  max-width: 85%;
}
.max-w-\[min\(14rem\2c calc\(100vw-16px\)\)\] {
  max-width: min(14rem, calc(100vw - 16px));
}
.max-w-lg {
  max-width: 32rem;
}
.max-w-md {
  max-width: 28rem;
}
.max-w-sm {
  max-width: 24rem;
}
.max-w-xl {
  max-width: 36rem;
}
.max-w-xs {
  max-width: 20rem;
}
.flex-1 {
  flex: 1 1 0%;
}
.flex-shrink {
  flex-shrink: 1;
}
.flex-shrink-0 {
  flex-shrink: 0;
}
.shrink-0 {
  flex-shrink: 0;
}
.border-collapse {
  border-collapse: collapse;
}
.translate-x-0 {
  --tw-translate-x: 0px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-x-full {
  --tw-translate-x: 100%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.rotate-180 {
  --tw-rotate: 180deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.rotate-90 {
  --tw-rotate: 90deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.transform {
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
.animate-spin {
  animation: spin 1s linear infinite;
}
.cursor-grab {
  cursor: grab;
}
.cursor-move {
  cursor: move;
}
.cursor-not-allowed {
  cursor: not-allowed;
}
.cursor-pointer {
  cursor: pointer;
}
.select-none {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.select-all {
  -webkit-user-select: all;
     -moz-user-select: all;
          user-select: all;
}
.resize-y {
  resize: vertical;
}
.resize {
  resize: both;
}
.list-disc {
  list-style-type: disc;
}
.list-none {
  list-style-type: none;
}
.grid-cols-1 {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
.grid-cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.grid-cols-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.grid-cols-7 {
  grid-template-columns: repeat(7, minmax(0, 1fr));
}
.flex-col {
  flex-direction: column;
}
.flex-wrap {
  flex-wrap: wrap;
}
.items-start {
  align-items: flex-start;
}
.items-end {
  align-items: flex-end;
}
.items-center {
  align-items: center;
}
.items-baseline {
  align-items: baseline;
}
.items-stretch {
  align-items: stretch;
}
.justify-start {
  justify-content: flex-start;
}
.justify-end {
  justify-content: flex-end;
}
.justify-center {
  justify-content: center;
}
.justify-between {
  justify-content: space-between;
}
.gap-0 {
  gap: 0px;
}
.gap-0\.5 {
  gap: 0.125rem;
}
.gap-1 {
  gap: 0.25rem;
}
.gap-1\.5 {
  gap: 0.375rem;
}
.gap-2 {
  gap: 0.5rem;
}
.gap-2\.5 {
  gap: 0.625rem;
}
.gap-3 {
  gap: 0.75rem;
}
.gap-4 {
  gap: 1rem;
}
.gap-5 {
  gap: 1.25rem;
}
.gap-x-1\.5 {
  -moz-column-gap: 0.375rem;
       column-gap: 0.375rem;
}
.space-y-0 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0px * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0px * var(--tw-space-y-reverse));
}
.space-y-0\.5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.125rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.125rem * var(--tw-space-y-reverse));
}
.space-y-1 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));
}
.space-y-1\.5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.375rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.375rem * var(--tw-space-y-reverse));
}
.space-y-2 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));
}
.space-y-2\.5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.625rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.625rem * var(--tw-space-y-reverse));
}
.space-y-3 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.75rem * var(--tw-space-y-reverse));
}
.space-y-4 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1rem * var(--tw-space-y-reverse));
}
.space-y-6 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1.5rem * var(--tw-space-y-reverse));
}
.divide-y > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-y-reverse: 0;
  border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
  border-bottom-width: calc(1px * var(--tw-divide-y-reverse));
}
.divide-border > :not([hidden]) ~ :not([hidden]) {
  border-color: var(--color-border);
}
.self-start {
  align-self: flex-start;
}
.self-end {
  align-self: flex-end;
}
.overflow-auto {
  overflow: auto;
}
.overflow-hidden {
  overflow: hidden;
}
.overflow-x-auto {
  overflow-x: auto;
}
.overflow-y-auto {
  overflow-y: auto;
}
.overscroll-contain {
  overscroll-behavior: contain;
}
.truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.whitespace-nowrap {
  white-space: nowrap;
}
.whitespace-pre-wrap {
  white-space: pre-wrap;
}
.text-wrap {
  text-wrap: wrap;
}
.break-words {
  overflow-wrap: break-word;
}
.break-all {
  word-break: break-all;
}
.rounded {
  border-radius: 0.25rem;
}
.rounded-button {
  border-radius: var(--button-radius);
}
.rounded-field {
  border-radius: var(--field-radius);
}
.rounded-full {
  border-radius: 9999px;
}
.rounded-lg {
  border-radius: 0.5rem;
}
.rounded-none {
  border-radius: 0px;
}
.rounded-sm {
  border-radius: 0.125rem;
}
.rounded-surface {
  border-radius: var(--surface-radius);
}
.rounded-xl {
  border-radius: 0.75rem;
}
.\!border-2 {
  border-width: 2px !important;
}
.border {
  border-width: 1px;
}
.border-0 {
  border-width: 0px;
}
.border-2 {
  border-width: 2px;
}
.border-b {
  border-bottom-width: 1px;
}
.border-b-2 {
  border-bottom-width: 2px;
}
.border-l {
  border-left-width: 1px;
}
.border-l-\[3px\] {
  border-left-width: 3px;
}
.border-r {
  border-right-width: 1px;
}
.border-t {
  border-top-width: 1px;
}
.border-dashed {
  border-style: dashed;
}
.\!border-error {
  border-color: var(--color-error) !important;
}
.border-\[var\(--border-default\)\] {
  border-color: var(--border-default);
}
.border-amber-200 {
  --tw-border-opacity: 1;
  border-color: rgb(253 230 138 / var(--tw-border-opacity, 1));
}
.border-border {
  border-color: var(--color-border);
}
.border-green-300 {
  --tw-border-opacity: 1;
  border-color: rgb(134 239 172 / var(--tw-border-opacity, 1));
}
.border-pink-100 {
  --tw-border-opacity: 1;
  border-color: rgb(252 231 243 / var(--tw-border-opacity, 1));
}
.border-pink-200 {
  --tw-border-opacity: 1;
  border-color: rgb(251 207 232 / var(--tw-border-opacity, 1));
}
.border-primary {
  border-color: var(--color-primary);
}
.border-slate-100 {
  --tw-border-opacity: 1;
  border-color: rgb(241 245 249 / var(--tw-border-opacity, 1));
}
.border-slate-200 {
  --tw-border-opacity: 1;
  border-color: rgb(226 232 240 / var(--tw-border-opacity, 1));
}
.border-slate-300 {
  --tw-border-opacity: 1;
  border-color: rgb(203 213 225 / var(--tw-border-opacity, 1));
}
.border-transparent {
  border-color: transparent;
}
.border-l-primary {
  border-left-color: var(--color-primary);
}
.\!bg-primary {
  background-color: var(--color-primary) !important;
}
.\!bg-slate-400 {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(148 163 184 / var(--tw-bg-opacity, 1)) !important;
}
.bg-\[var\(--bg-elevated\)\] {
  background-color: var(--bg-elevated);
}
.bg-amber-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 243 199 / var(--tw-bg-opacity, 1));
}
.bg-amber-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(255 251 235 / var(--tw-bg-opacity, 1));
}
.bg-background {
  background-color: var(--color-background);
}
.bg-background-surface {
  background-color: var(--color-background-surface);
}
.bg-black\/50 {
  background-color: rgb(0 0 0 / 0.5);
}
.bg-blue-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(191 219 254 / var(--tw-bg-opacity, 1));
}
.bg-emerald-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(209 250 229 / var(--tw-bg-opacity, 1));
}
.bg-gray-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
}
.bg-gray-100\/50 {
  background-color: rgb(243 244 246 / 0.5);
}
.bg-green-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(220 252 231 / var(--tw-bg-opacity, 1));
}
.bg-green-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(240 253 244 / var(--tw-bg-opacity, 1));
}
.bg-green-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(34 197 94 / var(--tw-bg-opacity, 1));
}
.bg-pink-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(251 207 232 / var(--tw-bg-opacity, 1));
}
.bg-pink-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(253 242 248 / var(--tw-bg-opacity, 1));
}
.bg-pink-700 {
  --tw-bg-opacity: 1;
  background-color: rgb(190 24 93 / var(--tw-bg-opacity, 1));
}
.bg-primary {
  background-color: var(--color-primary);
}
.bg-red-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 242 242 / var(--tw-bg-opacity, 1));
}
.bg-red-50\/30 {
  background-color: rgb(254 242 242 / 0.3);
}
.bg-sky-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(224 242 254 / var(--tw-bg-opacity, 1));
}
.bg-slate-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(241 245 249 / var(--tw-bg-opacity, 1));
}
.bg-slate-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(226 232 240 / var(--tw-bg-opacity, 1));
}
.bg-slate-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(248 250 252 / var(--tw-bg-opacity, 1));
}
.bg-text-secondary {
  background-color: var(--color-text-secondary);
}
.bg-transparent {
  background-color: transparent;
}
.bg-violet-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(237 233 254 / var(--tw-bg-opacity, 1));
}
.bg-white {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.bg-yellow-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 252 232 / var(--tw-bg-opacity, 1));
}
.bg-yellow-50\/30 {
  background-color: rgb(254 252 232 / 0.3);
}
.object-cover {
  -o-object-fit: cover;
     object-fit: cover;
}
.object-center {
  -o-object-position: center;
     object-position: center;
}
.p-0 {
  padding: 0px;
}
.p-1 {
  padding: 0.25rem;
}
.p-2 {
  padding: 0.5rem;
}
.p-3 {
  padding: 0.75rem;
}
.p-4 {
  padding: 1rem;
}
.p-6 {
  padding: 1.5rem;
}
.p-8 {
  padding: 2rem;
}
.px-0\.5 {
  padding-left: 0.125rem;
  padding-right: 0.125rem;
}
.px-1 {
  padding-left: 0.25rem;
  padding-right: 0.25rem;
}
.px-1\.5 {
  padding-left: 0.375rem;
  padding-right: 0.375rem;
}
.px-2 {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
.px-2\.5 {
  padding-left: 0.625rem;
  padding-right: 0.625rem;
}
.px-3 {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}
.px-4 {
  padding-left: 1rem;
  padding-right: 1rem;
}
.px-6 {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
.py-0 {
  padding-top: 0px;
  padding-bottom: 0px;
}
.py-0\.5 {
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
}
.py-1 {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}
.py-1\.5 {
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
}
.py-12 {
  padding-top: 3rem;
  padding-bottom: 3rem;
}
.py-16 {
  padding-top: 4rem;
  padding-bottom: 4rem;
}
.py-2 {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}
.py-2\.5 {
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
}
.py-3 {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}
.py-4 {
  padding-top: 1rem;
  padding-bottom: 1rem;
}
.py-6 {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}
.py-8 {
  padding-top: 2rem;
  padding-bottom: 2rem;
}
.py-px {
  padding-top: 1px;
  padding-bottom: 1px;
}
.pb-0 {
  padding-bottom: 0px;
}
.pb-1 {
  padding-bottom: 0.25rem;
}
.pb-1\.5 {
  padding-bottom: 0.375rem;
}
.pb-2 {
  padding-bottom: 0.5rem;
}
.pb-3 {
  padding-bottom: 0.75rem;
}
.pb-5 {
  padding-bottom: 1.25rem;
}
.pl-1 {
  padding-left: 0.25rem;
}
.pl-2 {
  padding-left: 0.5rem;
}
.pl-3\.5 {
  padding-left: 0.875rem;
}
.pl-5 {
  padding-left: 1.25rem;
}
.pr-2 {
  padding-right: 0.5rem;
}
.pr-3\.5 {
  padding-right: 0.875rem;
}
.pr-8 {
  padding-right: 2rem;
}
.pt-0 {
  padding-top: 0px;
}
.pt-1 {
  padding-top: 0.25rem;
}
.pt-2 {
  padding-top: 0.5rem;
}
.pt-3 {
  padding-top: 0.75rem;
}
.pt-4 {
  padding-top: 1rem;
}
.text-left {
  text-align: left;
}
.text-center {
  text-align: center;
}
.text-right {
  text-align: right;
}
.align-top {
  vertical-align: top;
}
.font-mono {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}
.text-2xl {
  font-size: var(--text-2xl);
  line-height: var(--leading-lg);
}
.text-\[0\.625rem\] {
  font-size: 0.625rem;
}
.text-\[0\.6875rem\] {
  font-size: 0.6875rem;
}
.text-\[0\.9375rem\] {
  font-size: 0.9375rem;
}
.text-\[10px\] {
  font-size: 10px;
}
.text-\[11px\] {
  font-size: 11px;
}
.text-\[9px\] {
  font-size: 9px;
}
.text-base {
  font-size: var(--text-base);
  line-height: var(--leading-base);
}
.text-lg {
  font-size: var(--text-lg);
  line-height: var(--leading-lg);
}
.text-sm {
  font-size: var(--text-sm);
  line-height: var(--leading-sm);
}
.text-xs {
  font-size: var(--text-xs);
  line-height: var(--leading-xs);
}
.font-bold {
  font-weight: 700;
}
.font-medium {
  font-weight: 500;
}
.font-normal {
  font-weight: 400;
}
.font-semibold {
  font-weight: 600;
}
.uppercase {
  text-transform: uppercase;
}
.lowercase {
  text-transform: lowercase;
}
.capitalize {
  text-transform: capitalize;
}
.italic {
  font-style: italic;
}
.tabular-nums {
  --tw-numeric-spacing: tabular-nums;
  font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
}
.leading-none {
  line-height: 1;
}
.leading-relaxed {
  line-height: 1.625;
}
.leading-snug {
  line-height: 1.375;
}
.leading-tight {
  line-height: 1.25;
}
.tracking-wide {
  letter-spacing: 0.025em;
}
.tracking-wider {
  letter-spacing: 0.05em;
}
.\!text-error {
  color: var(--color-error) !important;
}
.text-\[var\(--color-success\)\] {
  color: var(--color-success);
}
.text-amber-800 {
  --tw-text-opacity: 1;
  color: rgb(146 64 14 / var(--tw-text-opacity, 1));
}
.text-amber-900 {
  --tw-text-opacity: 1;
  color: rgb(120 53 15 / var(--tw-text-opacity, 1));
}
.text-amber-950 {
  --tw-text-opacity: 1;
  color: rgb(69 26 3 / var(--tw-text-opacity, 1));
}
.text-blue-600 {
  --tw-text-opacity: 1;
  color: rgb(37 99 235 / var(--tw-text-opacity, 1));
}
.text-blue-700 {
  --tw-text-opacity: 1;
  color: rgb(29 78 216 / var(--tw-text-opacity, 1));
}
.text-blue-950 {
  --tw-text-opacity: 1;
  color: rgb(23 37 84 / var(--tw-text-opacity, 1));
}
.text-emerald-700 {
  --tw-text-opacity: 1;
  color: rgb(4 120 87 / var(--tw-text-opacity, 1));
}
.text-emerald-800 {
  --tw-text-opacity: 1;
  color: rgb(6 95 70 / var(--tw-text-opacity, 1));
}
.text-error {
  color: var(--color-error);
}
.text-green-700 {
  --tw-text-opacity: 1;
  color: rgb(21 128 61 / var(--tw-text-opacity, 1));
}
.text-green-800 {
  --tw-text-opacity: 1;
  color: rgb(22 101 52 / var(--tw-text-opacity, 1));
}
.text-pink-600 {
  --tw-text-opacity: 1;
  color: rgb(219 39 119 / var(--tw-text-opacity, 1));
}
.text-pink-700 {
  --tw-text-opacity: 1;
  color: rgb(190 24 93 / var(--tw-text-opacity, 1));
}
.text-pink-950 {
  --tw-text-opacity: 1;
  color: rgb(80 7 36 / var(--tw-text-opacity, 1));
}
.text-primary {
  color: var(--color-primary);
}
.text-red-500 {
  --tw-text-opacity: 1;
  color: rgb(239 68 68 / var(--tw-text-opacity, 1));
}
.text-red-600 {
  --tw-text-opacity: 1;
  color: rgb(220 38 38 / var(--tw-text-opacity, 1));
}
.text-secondary {
  color: var(--color-secondary);
}
.text-sky-800 {
  --tw-text-opacity: 1;
  color: rgb(7 89 133 / var(--tw-text-opacity, 1));
}
.text-slate-300 {
  --tw-text-opacity: 1;
  color: rgb(203 213 225 / var(--tw-text-opacity, 1));
}
.text-slate-400 {
  --tw-text-opacity: 1;
  color: rgb(148 163 184 / var(--tw-text-opacity, 1));
}
.text-slate-500 {
  --tw-text-opacity: 1;
  color: rgb(100 116 139 / var(--tw-text-opacity, 1));
}
.text-slate-600 {
  --tw-text-opacity: 1;
  color: rgb(71 85 105 / var(--tw-text-opacity, 1));
}
.text-slate-700 {
  --tw-text-opacity: 1;
  color: rgb(51 65 85 / var(--tw-text-opacity, 1));
}
.text-slate-800 {
  --tw-text-opacity: 1;
  color: rgb(30 41 59 / var(--tw-text-opacity, 1));
}
.text-slate-900 {
  --tw-text-opacity: 1;
  color: rgb(15 23 42 / var(--tw-text-opacity, 1));
}
.text-success {
  color: var(--color-success);
}
.text-teal-700 {
  --tw-text-opacity: 1;
  color: rgb(15 118 110 / var(--tw-text-opacity, 1));
}
.text-text-muted {
  color: var(--color-text-muted);
}
.text-text-primary {
  color: var(--color-text-primary);
}
.text-text-secondary {
  color: var(--color-text-secondary);
}
.text-violet-800 {
  --tw-text-opacity: 1;
  color: rgb(91 33 182 / var(--tw-text-opacity, 1));
}
.text-warning {
  color: var(--color-warning);
}
.text-white {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.underline {
  text-decoration-line: underline;
}
.antialiased {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.accent-primary {
  accent-color: var(--color-primary);
}
.opacity-0 {
  opacity: 0;
}
.opacity-40 {
  opacity: 0.4;
}
.opacity-45 {
  opacity: 0.45;
}
.opacity-50 {
  opacity: 0.5;
}
.opacity-60 {
  opacity: 0.6;
}
.opacity-65 {
  opacity: 0.65;
}
.opacity-70 {
  opacity: 0.7;
}
.opacity-80 {
  opacity: 0.8;
}
.shadow-\[2px_0_4px_rgba\(0\2c 0\2c 0\2c 0\.05\)\] {
  --tw-shadow: 2px 0 4px rgba(0,0,0,0.05);
  --tw-shadow-colored: 2px 0 4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-lg {
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-sm {
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-xl {
  --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.outline {
  outline-style: solid;
}
.blur {
  --tw-blur: blur(8px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.drop-shadow {
  --tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / 0.1)) drop-shadow(0 1px 1px rgb(0 0 0 / 0.06));
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.filter {
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.backdrop-filter {
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.\!transition {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter !important;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important;
  transition-duration: 150ms !important;
}
.transition {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-colors {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-opacity {
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-transform {
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.duration-150 {
  transition-duration: 150ms;
}
.duration-300 {
  transition-duration: 300ms;
}
.ease-in-out {
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.rounded-button {
    border-radius: var(--button-radius);
  }
.rounded-field {
    border-radius: var(--field-radius);
  }
.rounded-surface {
    border-radius: var(--surface-radius);
  }
body {
  margin: 0;
  font-family: var(--font-family-sans);
  letter-spacing: var(--tracking-body);
  background: var(--color-background);
  color: var(--color-text-primary);
}
/* Token radius utilities — надёжнее Tailwind @apply и JIT для var()-радиусов */
.last\:mb-0:last-child {
  margin-bottom: 0px;
}
.last\:border-b-0:last-child {
  border-bottom-width: 0px;
}
.last\:border-r-0:last-child {
  border-right-width: 0px;
}
.last\:pb-0:last-child {
  padding-bottom: 0px;
}
.hover\:border-blue-300:hover {
  --tw-border-opacity: 1;
  border-color: rgb(147 197 253 / var(--tw-border-opacity, 1));
}
.hover\:border-pink-300:hover {
  --tw-border-opacity: 1;
  border-color: rgb(249 168 212 / var(--tw-border-opacity, 1));
}
.hover\:border-primary:hover {
  border-color: var(--color-primary);
}
.hover\:border-teal-600:hover {
  --tw-border-opacity: 1;
  border-color: rgb(13 148 136 / var(--tw-border-opacity, 1));
}
.hover\:bg-background:hover {
  background-color: var(--color-background);
}
.hover\:bg-blue-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(239 246 255 / var(--tw-bg-opacity, 1));
}
.hover\:bg-green-200:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(187 247 208 / var(--tw-bg-opacity, 1));
}
.hover\:bg-pink-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(253 242 248 / var(--tw-bg-opacity, 1));
}
.hover\:bg-pink-800:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(157 23 77 / var(--tw-bg-opacity, 1));
}
.hover\:bg-primary:hover {
  background-color: var(--color-primary);
}
.hover\:bg-primary-hover:hover {
  background-color: var(--color-primary-hover);
}
.hover\:text-blue-400:hover {
  --tw-text-opacity: 1;
  color: rgb(96 165 250 / var(--tw-text-opacity, 1));
}
.hover\:text-current:hover {
  color: currentColor;
}
.hover\:text-pink-400:hover {
  --tw-text-opacity: 1;
  color: rgb(244 114 182 / var(--tw-text-opacity, 1));
}
.hover\:text-primary:hover {
  color: var(--color-primary);
}
.hover\:text-text-primary:hover {
  color: var(--color-text-primary);
}
.hover\:text-white:hover {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.hover\:underline:hover {
  text-decoration-line: underline;
}
.hover\:\!opacity-100:hover {
  opacity: 1 !important;
}
.hover\:opacity-90:hover {
  opacity: 0.9;
}
.focus\:\!border-error:focus {
  border-color: var(--color-error) !important;
}
.focus\:\!shadow-\[0_0_0_2px_color-mix\(in_srgb\2c var\(--color-error\)_25\%\2c transparent\)\]:focus {
  --tw-shadow: 0 0 0 2px color-mix(in srgb,var(--color-error) 25%,transparent) !important;
  --tw-shadow-colored: 0 0 0 2px var(--tw-shadow-color) !important;
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important;
}
.focus\:outline-none:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.focus\:ring-2:focus {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.focus\:ring-border:focus {
  --tw-ring-color: var(--color-border);
}
.focus\:ring-primary:focus {
  --tw-ring-color: var(--color-primary);
}
.focus\:ring-offset-0:focus {
  --tw-ring-offset-width: 0px;
}
.active\:bg-background:active {
  background-color: var(--color-background);
}
.disabled\:border-border:disabled {
  border-color: var(--color-border);
}
.disabled\:border-primary-light:disabled {
  border-color: var(--color-primary-light);
}
.disabled\:bg-primary-light:disabled {
  background-color: var(--color-primary-light);
}
.disabled\:text-text-muted:disabled {
  color: var(--color-text-muted);
}
.disabled\:opacity-40:disabled {
  opacity: 0.4;
}
.disabled\:opacity-50:disabled {
  opacity: 0.5;
}
.group:hover .group-hover\:bg-background {
  background-color: var(--color-background);
}
.group\/cat:hover .group-hover\/cat\:text-primary {
  color: var(--color-primary);
}
.group\/row:hover .group-hover\/row\:opacity-100 {
  opacity: 1;
}
.group\/row:hover .group-hover\/row\:opacity-70 {
  opacity: 0.7;
}
@media (min-width: 640px) {
  .sm\:col-span-2 {
    grid-column: span 2 / span 2;
  }
  .sm\:flex {
    display: flex;
  }
  .sm\:max-h-\[min\(90vh\2c 720px\)\] {
    max-height: min(90vh, 720px);
  }
  .sm\:\!w-16 {
    width: 4rem !important;
  }
  .sm\:w-16 {
    width: 4rem;
  }
  .sm\:w-96 {
    width: 24rem;
  }
  .sm\:\!min-w-16 {
    min-width: 4rem !important;
  }
  .sm\:min-w-16 {
    min-width: 4rem;
  }
  .sm\:\!max-w-16 {
    max-width: 4rem !important;
  }
  .sm\:max-w-16 {
    max-width: 4rem;
  }
  .sm\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .sm\:items-center {
    align-items: center;
  }
  .sm\:rounded-surface {
    border-radius: var(--surface-radius);
  }
  .sm\:p-4 {
    padding: 1rem;
  }
  .sm\:p-6 {
    padding: 1.5rem;
  }
  .sm\:px-5 {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }
  .sm\:px-6 {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
  .sm\:py-2 {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }
  .sm\:py-3 {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
  }
  .sm\:py-4 {
    padding-top: 1rem;
    padding-bottom: 1rem;
  }
  .sm\:text-sm {
    font-size: var(--text-sm);
    line-height: var(--leading-sm);
  }
  .sm\:text-xs {
    font-size: var(--text-xs);
    line-height: var(--leading-xs);
  }

  .sm\:rounded-surface {
    border-radius: var(--surface-radius);
  }
}
@media (min-width: 768px) {
  .md\:block {
    display: block;
  }
  .md\:flex {
    display: flex;
  }
  .md\:hidden {
    display: none;
  }
  .md\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .md\:self-center {
    align-self: center;
  }
  .md\:p-4 {
    padding: 1rem;
  }
  .md\:px-3 {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }
  .md\:py-2\.5 {
    padding-top: 0.625rem;
    padding-bottom: 0.625rem;
  }
}
@media (min-width: 1024px) {
  .lg\:hidden {
    display: none;
  }
}
:root {
  --field-height: 30px;
}

.field-label {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px;
  margin-bottom: 4px;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.3;
  color: var(--color-text-secondary);
  cursor: default;
}

.field-label__hint {
  position: relative;
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
}

.field-label__hint-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  padding: 0;
  border: none;
  border-radius: 50%;
  background: transparent;
  color: color-mix(in srgb, var(--color-text-muted) 88%, var(--color-primary));
  cursor: help;
  transition: color 0.15s ease;
}

.field-label__hint-btn svg {
  width: 14px;
  height: 14px;
}

.field-label__hint-btn:hover,
.field-label__hint-btn:focus-visible {
  color: var(--color-primary);
  outline: none;
}

.field-label__hint-tip {
  position: fixed;
  z-index: 10200;
  transform: translateX(-50%);
  width: -moz-max-content;
  width: max-content;
  max-width: 220px;
  padding: 6px 10px;
  border-radius: var(--field-radius);
  border: 1px solid color-mix(in srgb, var(--color-border) 70%, transparent);
  background: var(--color-background-surface);
  box-shadow:
    0 4px 12px color-mix(in srgb, #000 8%, transparent),
    0 0 0 1px color-mix(in srgb, var(--color-primary) 4%, transparent);
  font-size: 11px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0;
  text-transform: none;
  color: var(--color-text-primary);
  white-space: normal;
  pointer-events: none;
}

.field-label__mark--required {
  margin-left: 2px;
  font-weight: 600;
  color: var(--color-error);
}

.field-input {
  display: block;
  width: 100%;
  height: var(--field-height);
  padding: 0 12px 0 8px;
  box-sizing: border-box;
  font-size: 0.875rem;
  line-height: normal;
  border: 1px solid var(--input-border);
  border-radius: var(--field-radius);
  background-color: var(--input-bg);
  color: var(--input-text);
  box-shadow: 0 1px 2px rgb(0 0 0 / 4%);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.field-input::-moz-placeholder {
  color: var(--input-placeholder);
  font-weight: 400;
}

.field-input::placeholder {
  color: var(--input-placeholder);
  font-weight: 400;
}

.field-input:focus {
  outline: none;
  border-color: var(--color-primary);
  box-shadow: 0 0 0 2px var(--focus-ring);
}

.field-input:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  background-color: var(--color-background);
}

.field-input-wrap {
  position: relative;
  width: 100%;
}

.field-input-wrap--has-value .field-input,
.field-input-wrap--has-value .field-textarea {
  padding-right: 28px;
}

.field-input-wrap--has-value:not(.field-input-wrap--disabled):hover .field-input-clear,
.field-input-wrap--has-value:not(.field-input-wrap--disabled):focus-within .field-input-clear {
  opacity: 1;
  pointer-events: auto;
}

.field-input-clear {
  position: absolute;
  right: 2px;
  top: 50%;
  transform: translateY(-50%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  padding: 0;
  border: none;
  border-radius: var(--swatch-radius);
  background: transparent;
  color: var(--color-text-secondary);
  cursor: pointer;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.15s ease, color 0.15s ease, background-color 0.15s ease;
}

.field-input-clear:hover {
  color: var(--color-text-primary);
  background-color: color-mix(in srgb, var(--color-border) 40%, transparent);
}

.field-input-wrap--multiline .field-input-clear {
  top: 6px;
  transform: none;
}

.field-input-clear__icon {
  width: 14px;
  height: 14px;
}

.field-textarea {
  display: block;
  width: 100%;
  min-height: calc(var(--field-height) * 2.4);
  padding: 6px 12px 6px 8px;
  box-sizing: border-box;
  font-size: 0.875rem;
  line-height: 1.4;
  resize: vertical;
  border: 1px solid var(--input-border);
  border-radius: var(--field-radius);
  background-color: var(--input-bg);
  color: var(--input-text);
  box-shadow: 0 1px 2px rgb(0 0 0 / 4%);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.field-textarea::-moz-placeholder {
  color: var(--input-placeholder);
  font-weight: 400;
}

.field-textarea::placeholder {
  color: var(--input-placeholder);
  font-weight: 400;
}

.field-textarea:focus {
  outline: none;
  border-color: var(--color-primary);
  box-shadow: 0 0 0 2px var(--focus-ring);
}

.field-textarea:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  background-color: var(--color-background);
}

/* Селекты: убираем нативную стрелку, рисуем свою (как v1 main.scss) */
.field-select,
select:not(.select-plain):not([multiple]) {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23718096' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M19 9l-7 7-7-7'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 6px center;
  background-size: 14px 14px;
}

.field-select:disabled,
select:not(.select-plain):not([multiple]):disabled {
  cursor: not-allowed;
}

.select-plain {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: none;
}

.field-select {
  display: block;
  width: 100%;
  height: var(--field-height);
  padding: 0 32px 0 8px;
  box-sizing: border-box;
  font-size: 0.875rem;
  line-height: normal;
  border: 1px solid var(--input-border);
  border-radius: var(--field-radius);
  background-color: var(--input-bg);
  color: var(--input-text);
  box-shadow: 0 1px 2px rgb(0 0 0 / 4%);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.field-select:focus {
  outline: none;
  border-color: var(--color-primary);
  box-shadow: 0 0 0 2px var(--focus-ring);
}

.field-select:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  background-color: var(--color-background);
}

.field-select--compact {
  width: auto;
  min-width: 3.75rem;
  max-width: 4.75rem;
  padding: 0 8px;
  text-align: center;
  -moz-text-align-last: center;
       text-align-last: center;
}

select optgroup {
  font-weight: 600;
  color: var(--color-text-primary);
  background-color: var(--color-background);
}

select option {
  font-weight: normal;
  color: var(--color-text-primary);
  background-color: var(--color-background-surface);
}

/* Выпадающие панели (Autocomplete, StringCombobox, ServiceComboPicker — Teleport to body) */
.field-dropdown.picker-panel {
  border-radius: var(--field-radius);
  max-height: min(320px, 50vh);
  padding: 4px 0;
  background-color: var(--bg-elevated, var(--color-background-surface));
  border: 1px solid var(--border-default, var(--color-border));
  box-shadow:
    0 4px 6px -2px rgb(0 0 0 / 6%),
    0 12px 28px -6px rgb(0 0 0 / 12%);
}

.field-dropdown.picker-panel .dropdown-option,
.field-dropdown.picker-panel .autocomplete-option {
  display: block;
  width: 100%;
  padding: 4px 10px;
  border: none;
  background-color: var(--bg-elevated, var(--color-background-surface));
  color: var(--text-primary, var(--color-text-primary));
  font-size: 0.8125rem;
  line-height: 1.2;
  text-align: left;
  cursor: pointer;
  transition: background-color 0.15s ease;
}

.field-dropdown.picker-panel .dropdown-option--muted {
  color: var(--color-text-secondary);
  cursor: default;
}

.field-dropdown.picker-panel .dropdown-option--action {
  font-weight: 500;
  color: var(--color-primary);
  border-top: 1px solid var(--divider, var(--color-border));
}

.field-dropdown.picker-panel .dropdown-option:hover,
.field-dropdown.picker-panel .dropdown-option:focus-visible,
.field-dropdown.picker-panel .autocomplete-option:hover,
.field-dropdown.picker-panel .autocomplete-option:focus-visible {
  background-color: var(--bg-muted, var(--color-fill-muted, var(--color-background)));
  outline: none;
}

.field-dropdown.picker-panel.service-combo-picker__panel {
  padding: 0;
}

.field-checkbox {
  display: inline-flex;
  align-items: flex-start;
  gap: 0.5rem;
  cursor: pointer;
  color: var(--color-text-primary);
  font-size: 0.875rem;
  line-height: 1.35;
}

.field-checkbox--disabled {
  cursor: not-allowed;
  opacity: 0.6;
}

.field-checkbox__input {
  width: 1rem;
  height: 1rem;
  flex-shrink: 0;
  margin-top: 0.125rem;
  border-radius: var(--swatch-radius, 4px);
  border: 1px solid var(--color-border);
  accent-color: var(--color-primary);
  cursor: pointer;
}

.field-checkbox--disabled .field-checkbox__input {
  cursor: not-allowed;
}

.field-checkbox__label {
  flex: 1;
  min-width: 0;
}
.schema-section {
  min-width: 0;
}

.schema-section + .schema-section {
  margin-top: 12px;
}

.schema-section + .schema-section--panel,
.schema-section + .schema-section--titled {
  margin-top: 10px;
}

.schema-section__title {
  margin: 0 0 8px;
  padding: 0;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--color-text-secondary);
}

.schema-section--panel .schema-section__title,
.schema-section--titled:not(.schema-section--divider) .schema-section__title {
  margin: 0 0 12px;
  padding: 0 0 10px;
  border-bottom: 1px solid color-mix(in srgb, var(--color-border) 72%, transparent);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: -0.01em;
  line-height: 1.35;
  text-transform: none;
  color: var(--color-text-primary);
}

.schema-section__fields {
  min-width: 0;
}

.schema-section--compact {
  --field-height: 32px;
  --field-label-gap: 4px;
}
.schema-section--compact .field-label {
  margin-bottom: var(--field-label-gap);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.35;
  color: var(--color-text-primary);
  letter-spacing: -0.01em;
}
.schema-section--compact .field-input,
.schema-section--compact .field-select,
.schema-section--compact .field-textarea {
  box-shadow: none;
  border-color: color-mix(in srgb, var(--color-border) 88%, transparent);
  font-size: 14px;
}
.schema-section--compact .field-input:focus,
.schema-section--compact .field-select:focus,
.schema-section--compact .field-textarea:focus {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-primary) 16%, transparent);
}

.schema-section--compact .schema-section__title {
  margin-bottom: 6px;
}

.schema-section--panel {
  padding: 14px 14px 14px;
  border-radius: var(--field-radius);
  border: 1px solid color-mix(in srgb, var(--color-primary) 18%, var(--color-border));
  background: color-mix(in srgb, var(--color-primary) 4%, var(--color-background-surface));
}

.schema-section--card {
  padding: 12px;
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--field-radius);
  background: var(--color-background-surface);
}

.schema-section--card .schema-section__title {
  margin: 0 0 10px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: -0.01em;
  line-height: 1.35;
  text-transform: none;
  color: var(--color-text-primary);
}

.schema-section--divider {
  padding-top: 10px;
  border-top: 1px solid var(--color-border-subtle);
}

.schema-section--divider .schema-section__title {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 10px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--color-text-secondary) 82%, var(--color-primary));
}
.schema-section--divider .schema-section__title::after {
  content: "";
  flex: 1;
  min-width: 24px;
  height: 1px;
  background: color-mix(in srgb, var(--color-border) 78%, transparent);
}

.schema-section--divider:first-child {
  padding-top: 0;
  border-top: none;
}

.schema-section--gap-sm .schema-section__fields:not(.schema-section__fields--columns) {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.schema-section--gap-md .schema-section__fields:not(.schema-section__fields--columns) {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.schema-section--gap-lg .schema-section__fields:not(.schema-section__fields--columns) {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.schema-section__fields--columns.space-y-3 {
  row-gap: 10px;
}

.schema-section--gap-sm .schema-section__fields--columns.space-y-3 {
  row-gap: 8px;
}

.schema-section--gap-lg .schema-section__fields--columns.space-y-3 {
  row-gap: 14px;
}.schema-form--columns.space-y-3 {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  -moz-column-gap: var(--form-split-gap, 12px);
       column-gap: var(--form-split-gap, 12px);
  row-gap: var(--form-split-gap, 12px);
  align-items: start;
}
.schema-form--columns.space-y-3 > :not([hidden]) ~ :not([hidden]) {
  margin-top: 0;
}
.schema-form--columns h4 {
  grid-column: 1/-1;
}
.schema-form--columns .schema-tabs,
.schema-form--columns .schema-wizard {
  grid-column: 1/-1;
}
.schema-form--columns .schema-field--col-1 {
  grid-column: span 1;
  min-width: 0;
}
.schema-form--columns .schema-field--col-2 {
  grid-column: span 2;
  min-width: 0;
}
.schema-form--columns .schema-field--col-3 {
  grid-column: span 3;
  min-width: 0;
}
.schema-form--columns .schema-field--col-4 {
  grid-column: span 4;
  min-width: 0;
}
.schema-form--columns .schema-field--col-5 {
  grid-column: span 5;
  min-width: 0;
}
.schema-form--columns .schema-field--col-6 {
  grid-column: span 6;
  min-width: 0;
}
.schema-form--columns .schema-field--col-7 {
  grid-column: span 7;
  min-width: 0;
}
.schema-form--columns .schema-field--col-8 {
  grid-column: span 8;
  min-width: 0;
}
.schema-form--columns .schema-field--col-9 {
  grid-column: span 9;
  min-width: 0;
}
.schema-form--columns .schema-field--col-10 {
  grid-column: span 10;
  min-width: 0;
}
.schema-form--columns .schema-field--col-11 {
  grid-column: span 11;
  min-width: 0;
}
.schema-form--columns .schema-field--col-12 {
  grid-column: span 12;
  min-width: 0;
}
.schema-form--drawer {
  --field-height: 40px;
  /* --field-radius наследуется из design-tokens.css (:root) */
  --field-label-gap: 8px;
  --form-field-gap: 16px;
  --form-split-gap: 12px;
}
.schema-form--drawer .schema-section--compact {
  --field-height: 40px;
}
.schema-form--drawer {
  display: flex;
  flex-direction: column;
  gap: var(--form-field-gap);
}
.schema-form--drawer.schema-form--columns.space-y-3,
.schema-form--drawer .schema-form--columns.space-y-3 {
  -moz-column-gap: var(--form-split-gap);
       column-gap: var(--form-split-gap);
  row-gap: var(--form-split-gap);
}
.schema-form--drawer .field-label {
  margin-bottom: var(--field-label-gap);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: -0.01em;
  color: var(--color-text-primary);
}
.schema-form--drawer .field-label__mark--required {
  color: var(--color-primary);
  font-weight: 700;
}
.schema-form--drawer .field-input,
.schema-form--drawer .field-select,
.schema-form--drawer .field-textarea {
  border-color: color-mix(in srgb, var(--border-default) 82%, transparent);
  border-radius: var(--field-radius);
  font-size: 14px;
  box-shadow: 0 1px 2px color-mix(in srgb, var(--text-inverse) 3%, transparent);
}
.schema-form--drawer .field-input::-moz-placeholder, .schema-form--drawer .field-select::-moz-placeholder, .schema-form--drawer .field-textarea::-moz-placeholder {
  color: var(--input-placeholder);
  font-weight: 400;
}
.schema-form--drawer .field-input::placeholder,
.schema-form--drawer .field-select::placeholder,
.schema-form--drawer .field-textarea::placeholder {
  color: var(--input-placeholder);
  font-weight: 400;
}
.schema-form--drawer .field-input:hover:not(:disabled),
.schema-form--drawer .field-select:hover:not(:disabled),
.schema-form--drawer .field-textarea:hover:not(:disabled) {
  border-color: color-mix(in srgb, var(--color-primary) 22%, var(--border-default));
}
.schema-form--drawer .field-input:focus,
.schema-form--drawer .field-select:focus,
.schema-form--drawer .field-textarea:focus {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px var(--focus-ring), 0 1px 2px color-mix(in srgb, var(--text-inverse) 3%, transparent);
}
.schema-form--drawer .field-input,
.schema-form--drawer .field-select {
  height: var(--field-height);
  min-height: var(--field-height);
  max-height: var(--field-height);
}
.schema-form--drawer .field-input {
  padding: 0 14px;
}
.schema-form--drawer .field-input-addon-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  height: var(--field-height);
  width: var(--field-height);
  min-height: var(--field-height);
  min-width: var(--field-height);
  padding: 0;
  border: 1px solid var(--color-primary);
  border-radius: var(--field-radius);
  background-color: var(--color-primary);
  color: #fff;
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1;
  cursor: pointer;
  transition: opacity 0.15s ease, box-shadow 0.15s ease;
}
.schema-form--drawer .field-input-addon-btn:hover:not(:disabled) {
  opacity: 0.92;
}
.schema-form--drawer .field-input-addon-btn:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-primary) 28%, transparent);
}
.schema-form--drawer .field-input-addon-btn:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}
.schema-form--drawer .client-tags-input-row {
  display: flex;
  gap: 8px;
  align-items: stretch;
  margin-bottom: 8px;
}
.schema-form--drawer .client-tags-input-row .field-input {
  flex: 1;
  min-width: 0;
}
.schema-form--drawer .client-tags-quick {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.schema-form--drawer .client-tags-quick__list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.schema-form--drawer .client-tags-quick__chip {
  border: 1px solid var(--color-border);
  border-radius: var(--badge-radius);
  padding: 4px 10px;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.2;
  cursor: pointer;
  transition: background-color 0.15s ease, border-color 0.15s ease, opacity 0.15s ease;
}
.schema-form--drawer .client-tags-quick__chip:hover:not(:disabled) {
  opacity: 0.92;
}
.schema-form--drawer .client-tags-quick__chip:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.schema-form--drawer .client-tags-quick__chip--selected {
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--color-primary) 35%, transparent);
}
.schema-form--drawer .field-select {
  padding: 0 36px 0 14px;
}
.schema-form--drawer .field-select--compact {
  width: auto;
  min-width: 0;
  max-width: none;
  padding: 0 8px;
  text-align: center;
  -moz-text-align-last: center;
       text-align-last: center;
}
.schema-form--drawer .schema-field--employee_id,
.schema-form--drawer .schema-field--duration,
.schema-form--drawer .schema-field--datetime,
.schema-form--drawer .schema-field--end_datetime {
  min-width: 0;
}
.schema-form--drawer .schema-form--columns.space-y-3 .schema-field--datetime.schema-field--col-12,
.schema-form--drawer .schema-form--columns.space-y-3 .schema-field--end_datetime.schema-field--col-12 {
  display: grid;
  grid-column: 1/-1;
  grid-template-columns: subgrid;
}
.schema-form--drawer .schema-form--columns.space-y-3 .schema-field--datetime.schema-field--col-12 .schema-datetime-field,
.schema-form--drawer .schema-form--columns.space-y-3 .schema-field--end_datetime.schema-field--col-12 .schema-datetime-field {
  display: contents;
}
.schema-form--drawer .schema-form--columns.space-y-3 .schema-field--datetime.schema-field--col-12 .schema-datetime-field__label,
.schema-form--drawer .schema-form--columns.space-y-3 .schema-field--datetime.schema-field--col-12 .schema-datetime-field__error,
.schema-form--drawer .schema-form--columns.space-y-3 .schema-field--end_datetime.schema-field--col-12 .schema-datetime-field__label,
.schema-form--drawer .schema-form--columns.space-y-3 .schema-field--end_datetime.schema-field--col-12 .schema-datetime-field__error {
  grid-column: 1/-1;
}
.schema-form--drawer .schema-form--columns.space-y-3 .schema-field--datetime.schema-field--col-12 .datetime-row__date,
.schema-form--drawer .schema-form--columns.space-y-3 .schema-field--end_datetime.schema-field--col-12 .datetime-row__date {
  grid-column: span 8;
}
.schema-form--drawer .schema-form--columns.space-y-3 .schema-field--datetime.schema-field--col-12 .datetime-row__time,
.schema-form--drawer .schema-form--columns.space-y-3 .schema-field--end_datetime.schema-field--col-12 .datetime-row__time {
  grid-column: span 4;
}
.schema-form--drawer .schema-field--duration :deep(.field-input) {
  text-align: center;
}
.schema-form--drawer .datetime-row__date :deep(.field-input) {
  background-color: var(--input-bg);
}
.schema-form--drawer .datetime-row__time .time-select .field-input {
  min-height: var(--field-height);
  height: var(--field-height);
}
.schema-form--drawer .field-textarea {
  min-height: 88px;
  padding: 10px 14px;
  line-height: 1.45;
}
.schema-form--drawer .field-dropdown,
.schema-form--drawer .picker-panel {
  border-radius: var(--surface-radius);
  border: 1px solid color-mix(in srgb, var(--border-default) 65%, transparent);
  box-shadow: 0 4px 6px -2px color-mix(in srgb, var(--color-primary) 5%, transparent), 0 12px 28px -6px color-mix(in srgb, var(--text-inverse) 10%, transparent);
}
.schema-form--drawer .schema-section--panel {
  padding: 14px 14px 14px;
  border-radius: var(--field-radius);
  border: 1px solid color-mix(in srgb, var(--color-primary) 18%, var(--border-default));
  background: color-mix(in srgb, var(--color-primary) 4%, var(--bg-surface));
}
.schema-form--drawer .schema-section--panel .schema-section__title,
.schema-form--drawer .schema-section--titled .schema-section__title {
  margin-bottom: 14px;
  padding-bottom: 11px;
  font-size: 13px;
}
.schema-form--drawer .schema-section + .schema-section--panel {
  margin-top: 12px;
}
.schema-form--drawer .status-segment__btn {
  min-height: var(--field-height);
  border-radius: var(--field-radius);
}
.schema-form--drawer .schema-section:first-child .schema-section__title {
  margin-top: 0;
}
.schema-form--drawer .schema-section__fields:not(.schema-section__fields--columns) {
  display: flex;
  flex-direction: column;
  gap: var(--form-field-gap);
}
.schema-form--drawer .schema-section--gap-sm .schema-section__fields:not(.schema-section__fields--columns) {
  gap: 12px;
}
.schema-form--drawer .schema-section--gap-md .schema-section__fields:not(.schema-section__fields--columns) {
  gap: var(--form-field-gap);
}
.schema-form--drawer .schema-section--gap-lg .schema-section__fields:not(.schema-section__fields--columns) {
  gap: 20px;
}
.schema-form--drawer .schema-field {
  min-width: 0;
}
.schema-form--drawer .service-chips-select__box {
  min-height: var(--field-height);
  padding: 4px 10px;
  border-radius: var(--field-radius);
  border-color: color-mix(in srgb, var(--border-default) 82%, transparent);
  box-shadow: 0 1px 2px color-mix(in srgb, var(--text-inverse) 3%, transparent);
}
.schema-form--drawer .service-chips-select__box:focus-within {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px var(--focus-ring);
}
.schema-form--drawer .service-chips-select__add {
  width: var(--field-height);
  height: var(--field-height);
  border-radius: var(--field-radius);
}
.schema-form--drawer .service-chips-select__chip {
  padding: 4px 8px 4px 10px;
  border-radius: var(--field-radius);
  font-size: 13px;
}
.schema-form--drawer .service-combo-picker__cart-item {
  border-radius: var(--field-radius);
  background-color: var(--bg-surface);
}
.schema-form--drawer .service-combo-picker__search {
  min-height: var(--field-height);
  background-color: var(--input-bg);
}
.schema-form--drawer .schema-client-field__icon-btn {
  border-radius: var(--field-radius);
  transition: background-color 0.15s ease, border-color 0.15s ease;
}
.schema-form--drawer .schema-client-field__icon-btn:hover:not(:disabled) {
  background: color-mix(in srgb, var(--color-primary) 10%, var(--bg-surface));
}
.schema-form--drawer .schema-client-field__tags {
  border-radius: var(--field-radius);
  background: color-mix(in srgb, var(--bg-page) 38%, var(--bg-surface));
}
.schema-form--drawer .schema-client-field__tag {
  font-size: 12px;
  padding: 4px 11px 4px 9px;
}

.event-drawer__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
}

.event-drawer__footer-start {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  flex: 1;
}

.event-drawer__summary {
  font-size: 13px;
  font-weight: 600;
  color: var(--color-text-primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.event-drawer__footer-spacer {
  flex: 1;
}

.event-drawer__footer-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

.event-drawer .drawer-panel__body {
  scroll-padding-bottom: 24px;
}
.event-drawer .schema-section--details {
  scroll-margin-bottom: 12px;
}
.event-drawer .schema-field--status {
  padding-bottom: 4px;
  margin-bottom: 4px;
  border-bottom: 1px solid color-mix(in srgb, var(--border-default) 55%, transparent);
}
.event-drawer .drawer-panel__body {
  padding-top: 12px;
}.schema-form--floating {
  gap: 1rem;
}
.schema-form--floating .field-floating {
  position: relative;
  width: 100%;
}
.schema-form--floating .field-floating .field-input,
.schema-form--floating .field-floating .field-textarea {
  height: 52px;
  min-height: 52px;
  padding: 1.25rem 0.75rem 0.375rem;
  font-size: 0.9375rem;
  border-color: color-mix(in srgb, var(--color-border) 90%, transparent);
}
.schema-form--floating .field-floating .field-input::-moz-placeholder, .schema-form--floating .field-floating .field-textarea::-moz-placeholder {
  color: transparent;
}
.schema-form--floating .field-floating .field-input::placeholder,
.schema-form--floating .field-floating .field-textarea::placeholder {
  color: transparent;
}
.schema-form--floating .field-floating .field-input:focus,
.schema-form--floating .field-floating .field-textarea:focus {
  border-color: var(--color-primary);
}
.schema-form--floating .field-floating .field-textarea {
  min-height: 88px;
  padding-top: 1.375rem;
  resize: vertical;
}
.schema-form--floating .field-floating__label {
  position: absolute;
  left: 0.75rem;
  top: 1rem;
  max-width: calc(100% - 1.5rem);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.2;
  color: var(--color-text-secondary);
  pointer-events: none;
  transition: top 0.15s ease, font-size 0.15s ease, color 0.15s ease;
  cursor: text;
}
.schema-form--floating .field-floating--filled .field-floating__label, .schema-form--floating .field-floating:focus-within .field-floating__label {
  top: 0.375rem;
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--color-text-primary);
}
.schema-form--floating .field-floating:focus-within .field-floating__label {
  color: var(--color-primary);
}
.schema-form--floating .field-floating--textarea .field-floating__label {
  top: 0.875rem;
}
.schema-form--floating .field-floating--textarea.field-floating--filled .field-floating__label, .schema-form--floating .field-floating--textarea:focus-within .field-floating__label {
  top: 0.375rem;
}
.schema-form--floating .field-floating--error .field-input, .schema-form--floating .field-floating--error .field-textarea {
  border-color: var(--color-error);
}
.schema-form--floating .field-floating__error {
  margin: 0.25rem 0 0;
  font-size: 0.75rem;
  color: var(--color-error);
}
.entity-form-drawer__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
}

.entity-form-drawer__footer-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

.entity-form-drawer,
.event-drawer {
  --field-height: 40px;
  /* --field-radius наследуется из design-tokens.css (:root) */
  --field-label-gap: 8px;
  --form-field-gap: 16px;
  --entity-form-drawer-width: 640px;
}
.entity-form-drawer .drawer-panel__body,
.event-drawer .drawer-panel__body {
  padding-top: 12px;
  scroll-padding-bottom: 24px;
}
.entity-form-drawer .schema-form--drawer,
.event-drawer .schema-form--drawer {
  gap: 10px;
}
.entity-form-drawer .schema-section + .schema-section,
.entity-form-drawer .schema-section + .schema-section--panel,
.event-drawer .schema-section + .schema-section,
.event-drawer .schema-section + .schema-section--panel {
  margin-top: 0;
}
.entity-form-drawer .schema-section--details,
.event-drawer .schema-section--details {
  scroll-margin-bottom: 12px;
}
.entity-form-drawer .field-label,
.event-drawer .field-label {
  margin-bottom: var(--field-label-gap);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: -0.01em;
  color: var(--color-text-primary);
}
.entity-form-drawer .field-label__mark--required,
.event-drawer .field-label__mark--required {
  color: var(--color-primary);
  font-weight: 700;
}
.entity-form-drawer .field-input,
.entity-form-drawer .field-select,
.event-drawer .field-input,
.event-drawer .field-select {
  height: var(--field-height);
  min-height: var(--field-height);
  max-height: var(--field-height);
  border-color: color-mix(in srgb, var(--border-default) 82%, transparent);
  border-radius: var(--field-radius);
  font-size: 14px;
  box-shadow: 0 1px 2px color-mix(in srgb, var(--text-inverse) 3%, transparent);
}
.entity-form-drawer .field-input::-moz-placeholder, .entity-form-drawer .field-select::-moz-placeholder, .event-drawer .field-input::-moz-placeholder, .event-drawer .field-select::-moz-placeholder {
  color: var(--input-placeholder);
  font-weight: 400;
}
.entity-form-drawer .field-input::placeholder,
.entity-form-drawer .field-select::placeholder,
.event-drawer .field-input::placeholder,
.event-drawer .field-select::placeholder {
  color: var(--input-placeholder);
  font-weight: 400;
}
.entity-form-drawer .field-input:hover:not(:disabled),
.entity-form-drawer .field-select:hover:not(:disabled),
.event-drawer .field-input:hover:not(:disabled),
.event-drawer .field-select:hover:not(:disabled) {
  border-color: color-mix(in srgb, var(--color-primary) 22%, var(--border-default));
}
.entity-form-drawer .field-input:focus,
.entity-form-drawer .field-select:focus,
.event-drawer .field-input:focus,
.event-drawer .field-select:focus {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px var(--focus-ring), 0 1px 2px color-mix(in srgb, var(--text-inverse) 3%, transparent);
}
.entity-form-drawer .field-input,
.event-drawer .field-input {
  padding: 0 14px;
}
.entity-form-drawer .field-select,
.event-drawer .field-select {
  padding: 0 36px 0 14px;
}

.entity-form-drawer__footer-actions--end {
  width: 100%;
  justify-content: flex-end;
}/* Выравнивание шапки сайдбара и контентной колонки (как v1 app-shell.scss) */

:root {
  --app-shell-header-height: 4rem;
  --app-shell-topbar-height: 3rem;
  --app-shell-sidebar-width: 16rem;
  --app-shell-sidebar-width-collapsed: 4rem;
  --app-shell-mobile-tab-height: 3rem;
}

.app-shell {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  height: 100vh;
  height: 100dvh;
  overflow: hidden;
  background: var(--color-background);
}

.app-shell-body {
  display: flex;
  min-width: 0;
  min-height: 0;
  flex: 1;
  overflow: hidden;
}

.app-shell--sidebar-collapsed {
  --app-shell-sidebar-width: var(--app-shell-sidebar-width-collapsed);
}

.app-shell-header {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  box-sizing: border-box;
  height: var(--app-shell-header-height);
  min-height: var(--app-shell-header-height);
  border-bottom: 1px solid var(--color-border);
}

.app-shell-sidebar .app-shell-header .notification-bell,
.app-shell-header .notification-bell {
  padding: 0.5rem;
  border-radius: var(--field-radius);
}

.app-shell-sidebar .app-shell-header .notification-bell:hover,
.app-shell-header .notification-bell:hover {
  background: var(--color-sidebar-hover);
}

.app-shell-sidebar {
  display: flex;
  width: var(--app-shell-sidebar-width);
  flex-shrink: 0;
  flex-direction: column;
  min-height: 0;
  overflow: hidden;
  border-right: 1px solid var(--color-sidebar-border);
  background: var(--color-sidebar-bg);
  transition: width 0.3s ease, transform 0.3s ease;
}

.app-shell-sidebar .app-shell-header {
  border-bottom-color: var(--color-sidebar-border);
}

.app-shell-sidebar__toggle,
.app-shell-sidebar__close {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  flex-shrink: 0;
  padding: 0;
  color: var(--color-text-primary);
  background: transparent;
  border: none;
  border-radius: var(--field-radius);
  cursor: pointer;
  transition: background 0.15s;
}

.app-shell-sidebar__toggle:hover,
.app-shell-sidebar__close:hover {
  background: var(--color-sidebar-hover);
}

.app-shell-sidebar__toggle-icon {
  width: 1.25rem;
  height: 1.25rem;
}

.app-shell-main {
  display: flex;
  min-width: 0;
  min-height: 0;
  flex: 1;
  flex-direction: column;
  overflow: hidden;
}

.app-shell-content {
  display: flex;
  min-width: 0;
  min-height: 0;
  flex: 1;
  flex-direction: column;
  overflow: hidden;
}

.app-shell-content > * {
  display: flex;
  flex: 1;
  min-height: 0;
  flex-direction: column;
}

.app-shell-overlay {
  position: fixed;
  inset: 0;
  z-index: 120;
  background: rgb(0 0 0 / 50%);
}

@media (max-width: 1023px) {
  .app-shell {
    overflow-x: hidden;
    max-width: 100%;
  }

  .mobile-shell-header {
    --mobile-shell-control-size: 32px;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    padding: 4px 8px;
    box-sizing: border-box;
    min-height: 40px;
    flex-shrink: 0;
    position: sticky;
    top: 0;
    z-index: 20;
    background: var(--color-background-surface);
    border-bottom: 1px solid var(--color-border);
  }

  .mobile-shell-header__start,
  .mobile-shell-header__end {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    width: auto;
    min-width: var(--mobile-shell-control-size);
    gap: 4px;
  }

  .mobile-shell-header__title-wrap {
    display: flex;
    flex: 1;
    min-width: 0;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 0 4px;
  }

  .mobile-shell-header__title {
    min-width: 0;
    margin: 0;
    font-size: 0.875rem;
    font-weight: 600;
    line-height: var(--mobile-shell-control-size);
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    color: var(--color-text-primary);
  }

  .mobile-shell-header__btn,
  .mobile-shell-header__end .notification-bell,
  .mobile-shell-header__end .shell-crm-ai-trigger {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--mobile-shell-control-size);
    height: var(--mobile-shell-control-size);
    min-width: var(--mobile-shell-control-size);
    min-height: var(--mobile-shell-control-size);
    padding: 0;
    color: var(--color-text-primary);
    background: transparent;
    border: none;
    border-radius: 0;
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
  }

  .mobile-shell-header__btn:hover,
  .mobile-shell-header__end .notification-bell:hover,
  .mobile-shell-header__end .shell-crm-ai-trigger:hover {
    background: var(--color-background);
  }

  .mobile-shell-header__icon,
  .mobile-shell-header__end .notification-bell svg,
  .mobile-shell-header__end .shell-crm-ai-trigger__icon {
    width: 1.25rem;
    height: 1.25rem;
    flex-shrink: 0;
  }

  .app-shell-main--mobile-tabs {
    padding-bottom: calc(var(--app-shell-mobile-tab-height) + env(safe-area-inset-bottom, 0px));
  }

  .mobile-bottom-nav {
    position: fixed;
    inset-inline: 0;
    bottom: 0;
    z-index: 110;
    display: flex;
    align-items: stretch;
    box-sizing: border-box;
    min-height: var(--app-shell-mobile-tab-height);
    padding-bottom: env(safe-area-inset-bottom, 0px);
    background: var(--color-background-surface);
    border-top: 1px solid var(--color-border);
  }

  .mobile-bottom-nav__item {
    display: flex;
    flex: 1;
    min-width: 0;
    align-items: center;
    justify-content: center;
    padding: 8px 4px;
    color: var(--color-text-secondary);
    text-decoration: none;
    background: transparent;
    border: none;
    cursor: pointer;
    transition: color 0.15s;
    -webkit-tap-highlight-color: transparent;
  }

  .mobile-bottom-nav__item:hover {
    color: var(--color-text-primary);
  }

  .mobile-bottom-nav__item--active {
    color: var(--color-primary);
  }

  .mobile-bottom-nav__icon {
    width: 1.375rem;
    height: 1.375rem;
    flex-shrink: 0;
  }

  .mobile-bottom-nav__icon-wrap {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .mobile-hub-sub-nav {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 12px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    background: var(--color-background-surface);
    border-bottom: 1px solid var(--color-border);
  }

  .mobile-hub-sub-nav::-webkit-scrollbar {
    display: none;
  }

  .mobile-hub-sub-nav__link {
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    gap: 0.35rem;
    padding: 0.45rem 0.8rem;
    border: 1px solid var(--color-border);
    border-radius: var(--badge-radius);
    background: var(--color-background);
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--color-text-secondary);
    text-decoration: none;
    transition: color 0.15s, border-color 0.15s, background 0.15s;
    -webkit-tap-highlight-color: transparent;
  }

  .mobile-hub-sub-nav__link--active {
    color: var(--color-primary);
    border-color: var(--color-primary);
    background: color-mix(in srgb, var(--color-primary) 8%, var(--color-background));
  }
}

@media (min-width: 1024px) {
  .mobile-shell-header {
    display: none;
  }

  /* Кнопка sub-panel выступает за край sidebar — не обрезать и держать над контентом */
  .app-shell-body:has(.app-shell-sidebar--hub) {
    overflow: visible;
  }

  .app-shell-sidebar.app-shell-sidebar--hub {
    overflow: visible;
  }

  .app-shell-main {
    position: relative;
    z-index: 1;
  }
}
/* Единые стили бокового меню (как v1 sidebar-nav.scss) */

.sidebar-nav {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
  overflow: hidden;
  padding: 16px 0;
}

.sidebar-nav__section {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 0 8px;
}

.sidebar-nav__section--main {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: transparent transparent;
}

.sidebar-nav__section--main::-webkit-scrollbar {
  width: 4px;
}

.sidebar-nav__section--main::-webkit-scrollbar-track {
  background: transparent;
}

.sidebar-nav__section--main::-webkit-scrollbar-thumb {
  background: transparent;
  border-radius: var(--badge-radius);
}

.sidebar-nav__section--main:hover {
  scrollbar-color: color-mix(in srgb, var(--color-border) 85%, transparent) transparent;
}

.sidebar-nav__section--main:hover::-webkit-scrollbar-thumb {
  background: color-mix(in srgb, var(--color-border) 85%, transparent);
}

.sidebar-nav__section--divider {
  flex-shrink: 0;
  margin-top: auto;
  padding-top: 16px;
  border-top: 1px solid var(--color-sidebar-border);
}

.sidebar-nav__group-label {
  margin: 14px 12px 6px;
  padding: 0 4px;
  flex-shrink: 0;
  font-size: 0.6875rem;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--color-text-muted);
}

.sidebar-nav__group-label--first {
  margin-top: 0;
}

.sidebar-nav__group-divider {
  border: none;
  border-top: 1px solid var(--color-sidebar-border);
  margin: 8px 4px;
  flex-shrink: 0;
}

.sidebar-nav__link {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 40px;
  padding: 8px 12px;
  border-radius: var(--field-radius);
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.375;
  color: var(--color-text-secondary);
  text-decoration: none;
  transition: color 0.15s, background-color 0.15s;
  cursor: pointer;
  border: none;
  background: transparent;
  width: 100%;
  text-align: left;
}

.sidebar-nav__link:hover {
  color: var(--color-text-primary);
  background-color: var(--color-sidebar-hover);
}

.sidebar-nav__link--active {
  background-color: var(--color-primary);
  color: #fff;
}

.sidebar-nav__link--active:hover {
  background-color: var(--color-primary);
  color: #fff;
}

.sidebar-nav__link--collapsed {
  justify-content: center;
  padding-left: 8px;
  padding-right: 8px;
}

.sidebar-nav__icon {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}

.sidebar-nav__icon--lg {
  width: 20px;
  height: 20px;
}

.sidebar-user-menu {
  position: relative;
  width: 100%;
}

.sidebar-user-menu__trigger-avatar,
.sidebar-user-menu__avatar {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 2rem;
  height: 2rem;
  border-radius: var(--badge-radius);
  background: var(--color-primary);
  color: #fff;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1;
}

.sidebar-user-menu__trigger-text {
  min-width: 0;
  flex: 1;
}

.sidebar-user-menu__trigger-name {
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.25;
  color: var(--color-text-primary);
}

.sidebar-user-menu__trigger-email {
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.75rem;
  line-height: 1.25;
  color: var(--color-text-secondary);
}

.sidebar-user-menu__trigger--open {
  color: var(--color-text-primary);
  background: var(--color-sidebar-hover);
}

.sidebar-user-menu__dropdown {
  position: fixed;
  z-index: 140;
  width: 252px;
  overflow: hidden;
  border-radius: var(--field-radius);
  border: 1px solid var(--color-border);
  background: var(--color-background-surface);
  box-shadow:
    0 4px 6px rgb(15 23 42 / 4%),
    0 12px 28px rgb(15 23 42 / 12%);
  animation: sidebar-user-menu-in-sidebar 0.16s ease-out;
}

.sidebar-user-menu__backdrop {
  position: fixed;
  inset: 0;
  z-index: 139;
  border: none;
  background: rgb(15 23 42 / 45%);
}

.sidebar-user-menu__dropdown--sheet {
  inset: auto 0 0;
  width: 100%;
  max-width: none;
  border-right: none;
  border-bottom: none;
  border-left: none;
  border-radius: var(--surface-radius) var(--surface-radius) 0 0;
  padding-bottom: calc(env(safe-area-inset-bottom, 0px) + 12px);
  box-shadow: 0 -8px 32px rgb(15 23 42 / 16%);
  animation: sidebar-user-menu-sheet-in 0.2s ease-out;
}

@keyframes sidebar-user-menu-sheet-in {
  from {
    opacity: 0;
    transform: translateY(100%);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes sidebar-user-menu-in {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.sidebar-user-menu--topbar {
  width: auto;
  flex-shrink: 0;
}

.sidebar-user-menu--topbar .sidebar-user-menu__dropdown {
  animation: sidebar-user-menu-in 0.16s ease-out;
}

.sidebar-user-menu__trigger--topbar {
  width: auto;
  min-height: 2.5rem;
  padding: 4px 8px 4px 4px;
  gap: 8px;
  border-radius: var(--badge-radius);
  border: 1px solid var(--color-border);
  background: var(--color-background-surface);
}

.sidebar-user-menu__trigger--topbar:hover,
.sidebar-user-menu__trigger--topbar.sidebar-user-menu__trigger--open {
  background: var(--color-background);
  color: var(--color-text-primary);
}

.sidebar-user-menu__trigger-chevron {
  width: 1rem;
  height: 1rem;
  flex-shrink: 0;
  color: var(--color-text-muted);
}

@media (max-width: 1023px) {
  .sidebar-user-menu__trigger--topbar-compact,
  .sidebar-user-menu--topbar .sidebar-user-menu__trigger--topbar {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    min-height: auto;
    padding: 0;
    gap: 0;
    border: none;
    background: transparent;
    border-radius: var(--field-radius);
  }

  .sidebar-user-menu__trigger--topbar-compact:hover,
  .sidebar-user-menu__trigger--topbar-compact.sidebar-user-menu__trigger--open,
  .sidebar-user-menu--topbar .sidebar-user-menu__trigger--topbar:hover,
  .sidebar-user-menu--topbar .sidebar-user-menu__trigger--topbar.sidebar-user-menu__trigger--open {
    background: var(--color-background);
  }

  .mobile-shell-header .sidebar-user-menu__trigger--topbar,
  .mobile-shell-header .sidebar-user-menu__trigger--topbar-compact {
    width: var(--mobile-shell-control-size, 32px);
    height: var(--mobile-shell-control-size, 32px);
    min-height: var(--mobile-shell-control-size, 32px);
  }

  .mobile-shell-header .sidebar-user-menu__trigger-avatar {
    width: var(--mobile-shell-control-size, 32px);
    height: var(--mobile-shell-control-size, 32px);
    font-size: 0.75rem;
  }
}

.shell-account-actions {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}

.topbar-billing-badge {
  display: inline-flex;
  align-items: center;
  max-width: 9rem;
  padding: 0.375rem 0.625rem;
  border-radius: var(--badge-radius);
  border: 1px solid var(--color-border);
  background: var(--color-background-surface);
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1.2;
  color: var(--color-text-secondary);
  text-decoration: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: background 0.15s, color 0.15s, border-color 0.15s;
}

.topbar-billing-badge:hover {
  background: var(--color-background);
  color: var(--color-text-primary);
}

.topbar-billing-badge--warning {
  border-color: color-mix(in srgb, var(--color-warning) 45%, var(--color-border));
  background: color-mix(in srgb, var(--color-warning) 10%, var(--color-background-surface));
  color: color-mix(in srgb, var(--color-warning) 85%, var(--color-text-primary));
}

.desktop-shell-topbar {
  display: none;
}

@media (min-width: 1024px) {
  .desktop-shell-topbar {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    box-sizing: border-box;
    width: 100%;
    height: var(--app-shell-topbar-height);
    min-height: var(--app-shell-topbar-height);
    padding: 0 1rem;
    background: var(--color-background-surface);
    border-bottom: 1px solid var(--color-border);
  }

  .desktop-shell-topbar__product {
    flex-shrink: 0;
    cursor: pointer;
  }

  .desktop-shell-topbar__product:hover {
    opacity: 1;
  }

  .desktop-shell-topbar__end {
    display: flex;
    min-width: 0;
    flex-shrink: 0;
    align-items: center;
    gap: 12px;
    margin-left: auto;
  }

  .desktop-shell-topbar__org {
    min-width: 0;
    max-width: 20rem;
  }

  .desktop-shell-topbar__actions {
    flex-shrink: 0;
  }

  .desktop-shell-topbar .notification-bell {
    padding: 0.375rem;
    border-radius: var(--field-radius);
  }

  .desktop-shell-topbar .notification-bell__icon {
    width: 1.25rem;
    height: 1.25rem;
  }

  .desktop-shell-topbar .topbar-billing-badge {
    padding: 0.25rem 0.5rem;
    font-size: 0.6875rem;
  }

  .desktop-shell-topbar .sidebar-user-menu__trigger--topbar {
    min-height: 2rem;
    padding: 2px 6px 2px 2px;
    gap: 6px;
  }

  .desktop-shell-topbar .sidebar-user-menu__trigger-avatar {
    width: 1.75rem;
    height: 1.75rem;
    font-size: 0.75rem;
  }

  .desktop-shell-topbar .sidebar-user-menu__trigger-name {
    font-size: 0.8125rem;
    line-height: 1.2;
  }

  .desktop-shell-topbar .sidebar-user-menu__trigger-chevron {
    width: 0.875rem;
    height: 0.875rem;
  }
}

@keyframes sidebar-user-menu-in-sidebar {
  from {
    opacity: 0;
    transform: translateX(-6px);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

.sidebar-user-menu__header {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  border-bottom: 1px solid var(--color-border);
}

.sidebar-user-menu__identity {
  min-width: 0;
  flex: 1;
}

.sidebar-user-menu__name {
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.3;
  color: var(--color-text-primary);
}

.sidebar-user-menu__email {
  margin: 2px 0 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.75rem;
  line-height: 1.3;
  color: var(--color-text-secondary);
}

.sidebar-user-menu__actions {
  padding: 6px;
}

.sidebar-user-menu__divider {
  margin: 4px 6px;
  border-top: 1px solid var(--color-border);
}

.sidebar-user-menu__action {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  padding: 9px 10px;
  border: none;
  border-radius: var(--field-radius);
  background: transparent;
  box-sizing: border-box;
  text-align: left;
  font-size: 0.875rem;
  line-height: 1.25;
  color: var(--color-text-primary);
  cursor: pointer;
  transition: background-color 0.15s ease;
}

.sidebar-user-menu__action:hover {
  background: var(--color-background);
}

.sidebar-user-menu__action--danger {
  color: #dc2626;
}

.sidebar-user-menu__action--danger:hover {
  background: color-mix(in srgb, #dc2626 10%, var(--color-background-surface));
}

.sidebar-user-menu__action-icon {
  width: 1rem;
  height: 1rem;
  flex-shrink: 0;
}

.sidebar-help-menu--rail {
  width: 100%;
  padding: 0 4px 2px;
  margin-top: auto;
  flex-shrink: 0;
}

.sidebar-help-menu__trigger.nav-rail__item {
  margin-top: 0;
}

.sidebar-help-menu__icon.nav-rail__icon path {
  stroke-width: var(--nav-rail-icon-stroke, 1.75);
}

.sidebar-help-menu__trigger.sidebar-nav__link {
  width: 100%;
}

.sidebar-help-menu__mobile-label {
  flex: 1;
  min-width: 0;
}

.sidebar-help-menu__dropdown {
  position: fixed;
  z-index: 10050;
  width: 260px;
  padding: 12px 0 10px;
  border: 1px solid var(--color-border);
  border-radius: var(--surface-radius);
  background: var(--color-background-surface);
  box-shadow:
    0 4px 6px rgb(15 17 21 / 4%),
    0 16px 40px rgb(15 17 21 / 12%);
  animation: sidebar-user-menu-in 0.16s ease-out;
}

.sidebar-help-menu__title {
  margin: 0;
  padding: 0 14px 8px;
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.3;
  color: var(--color-text-primary);
}

.sidebar-help-menu__links {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 0 6px;
}

.sidebar-help-menu__link {
  display: block;
  padding: 8px 10px;
  border-radius: var(--field-radius);
  font-size: 0.8125rem;
  line-height: 1.35;
  color: var(--color-text-primary);
  text-decoration: none;
  transition: background-color 0.15s ease, color 0.15s ease;
}

.sidebar-help-menu__link:hover {
  background: var(--color-background);
  color: var(--color-primary);
}

.sidebar-help-menu__link--accent {
  font-weight: 600;
  color: var(--color-primary);
}

.sidebar-help-menu__link--accent:hover {
  background: color-mix(in srgb, var(--color-primary) 10%, transparent);
}

.sidebar-help-menu__version {
  margin: 10px 0 0;
  padding: 10px 14px 0;
  border-top: 1px solid var(--color-border);
  font-size: 0.6875rem;
  line-height: 1.45;
  color: var(--color-text-secondary);
  text-align: left;
}

.sidebar-help-menu__copyright {
  margin: 0;
}

.sidebar-help-menu__platform {
  margin: 4px 0 0;
}

.sidebar-help-menu__platform-link {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.sidebar-help-menu__platform-link:hover {
  color: var(--color-primary);
}

@media (max-width: 1023px) {
  .sidebar-user-menu__dropdown:not(.sidebar-user-menu__dropdown--sheet) {
    width: auto;
    max-width: none;
    animation: none;
  }
}

@media (max-height: 820px) {
  .sidebar-nav {
    padding: 8px 0;
  }

  .sidebar-nav__section {
    gap: 2px;
  }

  .sidebar-nav__link {
    min-height: 34px;
    padding: 5px 10px;
    font-size: 0.8125rem;
    gap: 8px;
  }

  .sidebar-nav__section--divider {
    padding-top: 8px;
  }

  .sidebar-nav__group-label {
    margin: 10px 10px 4px;
    font-size: 0.625rem;
  }

  .sidebar-nav__group-divider {
    margin: 6px 4px;
  }
}

@media (max-width: 1023px) {
  .sidebar-nav__link {
    min-height: 44px;
    padding: 10px 12px;
  }

  .sidebar-nav__section--divider {
    padding-top: 12px;
  }
}
/* Hub navigation: icon rail + sub-panel */

.app-shell-sidebar--hub:not(.app-shell-sidebar--hub-labels) {
  --app-shell-nav-rail-width: var(--app-shell-nav-rail-width-icons);
  --app-shell-sidebar-width-hub: calc(var(--app-shell-nav-rail-width-icons) + var(--app-shell-nav-sub-width));
  --app-shell-sidebar-width-hub-collapsed: var(--app-shell-nav-rail-width-icons);
}

.app-shell-sidebar--hub {
  position: relative;
  z-index: 4;
  background: var(--color-sidebar-bg);
  width: var(--app-shell-sidebar-width-hub);
  overflow: visible;
}

.app-shell-sidebar--hub-sub-collapsed {
  width: var(--app-shell-sidebar-width-hub-collapsed);
}

.app-shell--sidebar-collapsed.app-shell:has(.app-shell-sidebar--hub) {
  --app-shell-sidebar-width: var(--app-shell-sidebar-width-hub-collapsed);
}

.app-shell:has(.app-shell-sidebar--hub:not(.app-shell-sidebar--hub-sub-collapsed)) {
  --app-shell-sidebar-width: var(--app-shell-sidebar-width-hub);
}

.app-shell-sidebar__hub-layout {
  position: relative;
  display: flex;
  flex: 1;
  min-height: 0;
  overflow: visible;
}

.app-shell-sidebar__hub-rail-col {
  position: relative;
  display: flex;
  width: var(--app-shell-nav-rail-width);
  flex-shrink: 0;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 10px 0 12px;
  background: var(--color-nav-rail-bg, var(--color-sidebar-bg));
  border-right: none;
}

.app-shell-sidebar__hub-layout--sub-collapsed .app-shell-sidebar__hub-rail-col {
  border-right: 1px solid var(--color-sidebar-border);
}

.app-shell-sidebar__org-mark {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  flex-shrink: 0;
  border-radius: var(--badge-radius);
  background: var(--color-nav-rail-org-bg, var(--color-primary));
  color: var(--color-nav-rail-org-fg, var(--text-inverse));
  font-size: 0.875rem;
  font-weight: var(--font-weight-bold);
}

.app-shell-sidebar__org-letter {
  line-height: 1;
}

.nav-rail {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  width: 100%;
  min-height: 0;
  overflow-y: auto;
  padding: 0 4px;
}

.nav-rail__item {
  display: flex;
  width: 100%;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  padding: 8px 3px;
  border: none;
  border-radius: var(--field-radius);
  background: transparent;
  color: var(--color-nav-rail-fg);
  text-decoration: none;
  cursor: pointer;
  transition: background 0.15s, color 0.15s;
}

.nav-rail__item:hover {
  background: var(--color-sidebar-hover);
  color: var(--color-nav-rail-fg-hover);
}

.nav-rail__item--active {
  background: var(--color-nav-rail-active-bg);
  color: var(--color-nav-rail-fg-active);
}

.nav-rail__item--active .nav-rail__label {
  color: var(--color-nav-rail-fg-active);
  font-weight: var(--font-weight-semibold);
}

.nav-rail__icon {
  width: var(--nav-rail-icon-size, 1.375rem);
  height: var(--nav-rail-icon-size, 1.375rem);
  flex-shrink: 0;
}

.nav-rail__icon-wrap {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.nav-unread-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1rem;
  height: 1rem;
  padding: 0 0.2rem;
  font-size: 0.625rem;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  background: #ef4444;
  border-radius: var(--badge-radius);
}

.nav-unread-badge--rail,
.nav-unread-badge--mobile {
  position: absolute;
  top: -0.35rem;
  right: -0.45rem;
  box-shadow: 0 0 0 2px var(--color-nav-rail-bg, var(--color-sidebar-bg));
}

.nav-unread-badge--sub {
  margin-left: auto;
  flex-shrink: 0;
}

.nav-rail__icon path {
  stroke-width: var(--nav-rail-icon-stroke, 1.75);
}

.nav-rail__label {
  width: 100%;
  font-family: var(--font-family-sans);
  font-size: var(--text-nav-rail);
  font-weight: var(--font-weight-medium);
  line-height: var(--leading-nav-rail);
  letter-spacing: var(--tracking-nav-rail);
  text-align: center;
  white-space: normal;
  overflow-wrap: break-word;
}

.app-shell-sidebar__hub-collapse {
  display: none;
}

.nav-sub-panel {
  position: relative;
  z-index: 2;
  display: flex;
  width: var(--app-shell-nav-sub-width);
  flex-shrink: 0;
  flex-direction: column;
  min-height: 0;
  overflow: visible;
  background: var(--color-sidebar-sub-bg);
  border-right: none;
  box-shadow: none;
}

.nav-sub-panel::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 100%;
  width: 8px;
  background: linear-gradient(
    90deg,
    var(--nav-sub-panel-edge-shadow) 0%,
    transparent 62%
  );
  pointer-events: none;
}

.nav-sub-panel__title {
  margin: 0;
  padding: 16px 16px 10px;
  font-family: var(--font-family-sans);
  font-size: var(--text-nav-heading);
  font-weight: var(--font-weight-semibold);
  letter-spacing: var(--tracking-tight);
  line-height: var(--leading-nav-sub);
  color: var(--color-nav-heading-fg);
}

.nav-sub-panel__nav {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 2px;
  min-height: 0;
  overflow-y: auto;
  padding: 0 8px 16px;
}

.nav-sub-panel__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-height: 34px;
  padding: 7px 12px;
  border-radius: var(--field-radius);
  font-family: var(--font-family-sans);
  font-size: var(--text-nav-sub);
  font-weight: var(--font-weight-medium);
  letter-spacing: var(--tracking-body);
  line-height: var(--leading-nav-sub);
  color: var(--color-nav-sub-link-fg);
  text-decoration: none;
  transition: background 0.15s, color 0.15s;
}

.nav-sub-panel__link:hover {
  background: var(--color-nav-sub-hover-bg);
  color: var(--color-nav-sub-link-fg-hover);
}

.nav-sub-panel__link--active {
  background: var(--color-nav-sub-active-bg);
  color: var(--color-nav-sub-link-fg-active);
  font-weight: var(--font-weight-semibold);
}

.nav-sub-panel-edge-toggle {
  position: absolute;
  top: 50%;
  right: -0.75rem;
  z-index: 30;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  padding: 0;
  border: 1px solid var(--color-border);
  border-radius: var(--badge-radius);
  background: var(--color-background-surface);
  color: var(--color-text-secondary);
  box-shadow: var(--shadow-nav-edge-toggle);
  cursor: pointer;
  transform: translateY(-50%);
  transition: background 0.15s, color 0.15s, border-color 0.15s;
}

.nav-sub-panel-edge-toggle:hover {
  background: var(--color-background);
  color: var(--color-text-primary);
  border-color: var(--color-nav-edge-toggle-hover-border);
}

.nav-sub-panel-edge-toggle__icon {
  width: 0.875rem;
  height: 0.875rem;
}
/* Toolbar страниц — та же высота, что шапка сайдбара (как v1 page-toolbar.scss) */

.page-root {
  display: flex;
  flex: 1;
  min-height: 0;
  flex-direction: column;
}

.page-root--full-bleed > .page-main > .data-table-root {
  border-top: none;
}

.page-main {
  flex: 1;
  min-height: 0;
  overflow: hidden;
}

.page-main--scroll {
  flex: 1;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
}

.page-main--fill {
  display: flex;
  flex: 1;
  min-height: 0;
  flex-direction: column;
  overflow: hidden;
}

.page-chrome {
  flex-shrink: 0;
  background: var(--color-background-surface);
}

@media (max-width: 1023px) {
  .page-chrome--desktop-only {
    display: none;
  }
}

.page-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  box-sizing: border-box;
  height: var(--app-shell-header-height);
  min-height: var(--app-shell-header-height);
  padding: 0 1.5rem;
  border-bottom: 1px solid var(--color-border);
}

.page-toolbar__start,
.page-toolbar__end {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 8px;
}

.page-toolbar__start {
  flex: 1;
}

.page-toolbar__end {
  flex-shrink: 0;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.page-toolbar__title {
  margin: 0;
  font-size: 0.9375rem;
  font-weight: 600;
  line-height: 2rem;
  color: var(--color-text-primary);
  white-space: nowrap;
}

.page-toolbar .notification-bell {
  padding: 0.5rem;
  border-radius: var(--field-radius);
}

.page-toolbar .notification-bell:hover {
  background: var(--color-background);
}

.toolbar-icon-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  height: 32px;
  width: 32px;
  padding: 0;
  color: var(--color-text-primary);
  background: var(--color-background-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--button-radius);
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s;
}

.toolbar-icon-action:hover:not(:disabled) {
  background: var(--color-background);
  border-color: color-mix(in srgb, var(--color-primary) 40%, var(--color-border));
}

.toolbar-icon-action:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.toolbar-segment {
  display: inline-flex;
  align-items: stretch;
  flex-shrink: 0;
  overflow: hidden;
  border: 1px solid var(--color-border);
  border-radius: var(--control-radius);
  background: var(--color-background);
}

.toolbar-segment--nav .toolbar-segment-btn + .toolbar-segment-btn {
  border-left: 1px solid var(--color-border);
}

.toolbar-segment-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 4.25rem;
  height: 32px;
  padding: 0 12px;
  border: none;
  background: transparent;
  color: var(--color-text-secondary);
  font-family: inherit;
  font-size: 0.8125rem;
  font-weight: 500;
  cursor: pointer;
  transition: background 0.15s, color 0.15s;
}

.toolbar-segment-btn:hover:not(.toolbar-segment-btn--active) {
  background: var(--color-background-surface);
  color: var(--color-text-primary);
}

.toolbar-segment-btn--active {
  background: var(--color-primary);
  color: #fff;
}

.toolbar-segment-btn--icon {
  width: 32px;
  min-width: 32px;
  padding: 0;
}

.toolbar-segment-btn--compact {
  width: 32px;
  min-width: 32px;
  padding: 0;
  font-size: 0.75rem;
  font-weight: 600;
}

.toolbar-segment-btn + .toolbar-segment-btn {
  border-left: 1px solid var(--color-border);
}

/* Calendar toolbar — mirrors page-toolbar layout */
.calendar-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  box-sizing: border-box;
  height: var(--app-shell-header-height);
  min-height: var(--app-shell-header-height);
  padding: 0 1.5rem;
  border-bottom: 1px solid var(--color-border);
}

.calendar-toolbar__start,
.calendar-toolbar__end {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 8px;
}

.calendar-toolbar__start {
  flex: 1;
}

.calendar-toolbar__end {
  flex-shrink: 0;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.calendar-toolbar__title {
  margin: 0;
  font-size: 0.9375rem;
  font-weight: 600;
  line-height: 2rem;
  color: var(--color-text-primary);
  white-space: nowrap;
}

.toolbar-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 32px;
  padding: 0 12px;
  border: 1px solid var(--color-border);
  border-radius: var(--button-radius);
  background: var(--color-background-surface);
  color: var(--color-text-primary);
  font-family: inherit;
  font-size: 0.8125rem;
  font-weight: 500;
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s;
}

.toolbar-pill:hover {
  background: var(--color-background);
  border-color: color-mix(in srgb, var(--color-primary) 40%, var(--color-border));
}

.toolbar-pill--icon {
  width: 32px;
  padding: 0;
}

.toolbar-create {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 32px;
  padding: 0 12px;
  border: none;
  border-radius: var(--button-radius);
  background: var(--color-primary);
  color: #fff;
  font-family: inherit;
  font-size: 0.8125rem;
  font-weight: 600;
  cursor: pointer;
  transition: opacity 0.15s;
}

.toolbar-create:hover {
  opacity: 0.92;
}

.toolbar-create__label {
  white-space: nowrap;
}

.toolbar-create--icon-only {
  width: 32px;
  padding: 0;
  justify-content: center;
  flex-shrink: 0;
}

.toolbar-utils-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  padding: 0;
  border: 1px solid var(--color-border);
  border-radius: var(--button-radius);
  background: var(--color-background-surface);
  color: var(--color-text-primary);
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s;
}

.toolbar-utils-btn:hover,
.toolbar-utils-btn--active {
  background: var(--color-background);
  border-color: color-mix(in srgb, var(--color-primary) 40%, var(--color-border));
}

.custom-calendar-wrapper {
  flex: 1;
  min-height: 0;
  overflow: hidden;
}
.data-table-root {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
  overflow: hidden;
  background: var(--color-background-surface);
  border: 1px solid var(--color-border);
}

.data-table-root--full-bleed {
  border-top: none;
}

.data-table-header-shadow {
  box-shadow: 0 1px 0 var(--color-border);
}

/* Выше sticky-шапок колонок (z-40), ниже боковых панелей (z-50) */
.data-table-overlay {
  z-index: 45;
}

.data-table-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  flex-shrink: 0;
}

.data-table-toolbar--unified {
  --toolbar-control-height: 32px;
  padding: 4px 8px;
}

.data-table-toolbar--unified .data-table-toolbar__row {
  flex-wrap: nowrap;
  overflow-x: auto;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

.data-table-toolbar--unified .data-table-toolbar__row::-webkit-scrollbar {
  display: none;
}

.data-table-toolbar__title {
  margin: 0;
  flex-shrink: 0;
  font-size: 0.9375rem;
  font-weight: 600;
  line-height: var(--toolbar-control-height, 2rem);
  color: var(--color-text-primary);
  white-space: nowrap;
}

@media (max-width: 1023px) {
  .data-table-toolbar__title {
    display: none;
  }
}

.data-table-toolbar--unified .data-table-toolbar__row--centered-title {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  -moz-column-gap: 12px;
       column-gap: 12px;
}

.data-table-toolbar--unified .data-table-toolbar__row--centered-title .data-table-toolbar__start {
  flex: none;
  justify-self: start;
}

.data-table-toolbar--unified .data-table-toolbar__row--centered-title .data-table-toolbar__start--spacer {
  min-height: 0;
  pointer-events: none;
}

.data-table-toolbar--unified .data-table-toolbar__row--centered-title .data-table-toolbar__center {
  justify-self: center;
  pointer-events: none;
}

.data-table-toolbar--unified .data-table-toolbar__row--centered-title .data-table-toolbar__center .data-table-toolbar__title,
.data-table-toolbar--unified .data-table-toolbar__row--centered-title .data-table-toolbar__center > * {
  pointer-events: auto;
}

.data-table-toolbar--unified .data-table-toolbar__row--centered-title .data-table-toolbar__end {
  justify-self: end;
  margin-left: 0;
}

.data-table-toolbar__center .data-table-toolbar__title {
  text-align: center;
}

.data-table-toolbar--unified .data-table-toolbar__start {
  flex: 1 1 auto;
  min-width: 0;
  overflow-x: auto;
  scrollbar-width: none;
}

.data-table-toolbar--unified .data-table-toolbar__start::-webkit-scrollbar {
  display: none;
}

.data-table-toolbar--unified .data-table-toolbar__end {
  gap: 6px;
  margin-left: auto;
}

.data-table-toolbar--unified .toolbar-create-btn,
.data-table-toolbar--unified .toolbar-utils-btn,
.data-table-toolbar--unified .bulk-action-btn {
  box-sizing: border-box;
  height: var(--toolbar-control-height);
  min-height: var(--toolbar-control-height);
  max-height: var(--toolbar-control-height);
}

.data-table-toolbar--unified .toolbar-create-btn:not(.toolbar-create-btn--labeled),
.data-table-toolbar--unified .toolbar-utils-btn,
.data-table-toolbar--unified .bulk-action-btn {
  width: var(--toolbar-control-height);
  min-width: var(--toolbar-control-height);
  padding: 0;
}

.data-table-toolbar--unified .toolbar-create-btn--labeled {
  width: auto;
  min-width: var(--toolbar-control-height);
  padding: 0 12px;
  gap: 6px;
  font-size: 0.8125rem;
  font-weight: 600;
  white-space: nowrap;
  color: #fff;
}

.toolbar-create-btn__icon {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}

@media (max-width: 1023px) {
  .toolbar-create-btn__label {
    display: none;
  }

  .toolbar-create-btn--labeled {
    width: var(--toolbar-control-height);
    min-width: var(--toolbar-control-height);
    padding: 0;
  }
}

.data-table-toolbar--unified .data-table-toolbar__utils {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  border: 1px solid var(--color-border);
  background: var(--color-background);
  overflow: visible;
  padding: 4px 5px 4px 0;
  margin: -4px -5px -4px 0;
}

.data-table-toolbar--unified .data-table-toolbar__utils .toolbar-utils-btn {
  border: none;
  border-radius: 0;
}

/* Иконки слева (экспорт и т.п.) — в одном стиле с bulk-сегментом */
.data-table-toolbar--unified .toolbar-icon-action {
  border-radius: var(--control-radius);
}

.data-table-toolbar--unified .data-table-toolbar__utils .toolbar-utils-btn + .toolbar-utils-btn {
  border-left: 1px solid var(--color-border);
}

.data-table-toolbar__notifications {
  display: flex;
  flex-shrink: 0;
  align-items: center;
}

@media (max-width: 1023px) {
  .data-table-toolbar__notifications {
    display: none;
  }
}

.data-table-toolbar__notifications .notification-bell {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  min-width: 32px;
  min-height: 32px;
  padding: 0;
  border: 1px solid var(--color-border);
  border-radius: var(--button-radius);
  background: var(--color-background);
}

.data-table-toolbar__notifications .notification-bell__icon {
  width: 1.25rem;
  height: 1.25rem;
}

.data-table-toolbar__notifications .notification-bell__badge {
  top: 2px;
  right: 2px;
  min-width: 14px;
  height: 14px;
  font-size: 0.5625rem;
  line-height: 14px;
}

@media (min-width: 1024px) {
  .data-table-toolbar.data-table-toolbar--unified {
    display: flex;
    align-items: center;
    height: var(--app-shell-header-height, 4rem);
    min-height: var(--app-shell-header-height, 4rem);
    padding: 0 12px;
    box-sizing: border-box;
  }

  .data-table-toolbar.data-table-toolbar--unified .data-table-toolbar__row {
    align-items: center;
    min-height: 100%;
    width: 100%;
  }
}

.data-table-toolbar__row {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  width: 100%;
}

.data-table-toolbar__start,
.data-table-toolbar__end,
.data-table-toolbar__before-utils {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.data-table-toolbar__utils {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
  overflow: visible;
  padding: 4px 5px 4px 0;
  margin: -4px -5px -4px 0;
}

.toolbar-create-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border: none;
  border-radius: var(--button-radius);
  background: var(--color-primary);
  color: #fff;
  cursor: pointer;
}

.toolbar-create-btn:hover {
  background: var(--color-primary-hover, var(--color-primary));
}

.toolbar-utils-btn {
  position: relative;
  display: inline-grid;
  place-items: center;
  width: 32px;
  height: 32px;
  padding: 0;
  border: 1px solid var(--color-border);
  border-radius: var(--button-radius);
  background: var(--color-background);
  color: var(--color-text-primary);
  cursor: pointer;
  overflow: visible;
  flex-shrink: 0;
}

.toolbar-utils-btn:hover {
  background: var(--color-background-surface);
}

.toolbar-utils-btn--active {
  background: var(--color-background-surface);
  border-color: var(--color-primary);
  color: var(--color-primary);
}

.toolbar-utils-btn__icon {
  display: block;
  width: 18px;
  height: 18px;
  margin: 0;
}

/* Воронка фильтра визуально «тяжелее» сверху — лёгкая оптическая коррекция */
.toolbar-utils-btn__icon--filter {
  transform: translateY(1px);
}

.toolbar-utils-btn:has(.toolbar-utils-badge) .toolbar-utils-btn__icon--filter {
  transform: none;
}

.toolbar-utils-btn:has(.toolbar-utils-badge) {
  z-index: 1;
}

.toolbar-utils-btn__icon--lg {
  width: 22px;
  height: 22px;
}

.toolbar-utils-badge {
  position: absolute;
  top: -5px;
  right: -5px;
  min-width: 16px;
  height: 16px;
  padding: 0 4px;
  font-size: 0.625rem;
  font-weight: 700;
  line-height: 16px;
  text-align: center;
  color: #fff;
  background: var(--color-primary);
  border: 2px solid var(--color-background);
  border-radius: 999px;
  pointer-events: none;
  z-index: 2;
  box-sizing: border-box;
}

.toolbar-utils-btn--active .toolbar-utils-badge {
  border-color: var(--color-background-surface);
}

/* Иконки-действия в строках таблиц / grouped-списках (как v1) */
.icon-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  padding: 0;
  border: 1px solid var(--color-border);
  border-radius: var(--control-radius);
  background: var(--color-background);
  color: var(--color-text-secondary);
  cursor: pointer;
  transition: color 0.15s ease, background-color 0.15s ease, border-color 0.15s ease;
}

.icon-btn-neutral:hover {
  background: color-mix(in srgb, var(--color-primary) 8%, var(--color-background));
  color: var(--color-primary);
  border-color: var(--color-primary);
}

.icon-btn-warning {
  color: color-mix(in srgb, var(--color-warning, #d97706) 70%, transparent);
}

.icon-btn-warning:hover {
  color: var(--color-warning, #d97706);
  border-color: var(--color-warning, #d97706);
  background: color-mix(in srgb, var(--color-warning, #d97706) 8%, var(--color-background));
}

.icon-btn-danger {
  color: color-mix(in srgb, var(--color-error) 70%, transparent);
}

.icon-btn-danger:hover {
  color: var(--color-error);
  border-color: var(--color-error);
  background: color-mix(in srgb, var(--color-error) 8%, var(--color-background));
}

.service-actions .icon-btn {
  width: 2rem;
  height: 2rem;
  border: none;
  border-radius: 0;
}

.service-actions .icon-btn + .icon-btn {
  border-left: 1px solid var(--color-border);
}

.service-actions {
  display: inline-flex;
  align-items: stretch;
  width: -moz-fit-content;
  width: fit-content;
  justify-self: end;
  border: 1px solid var(--color-border);
  background: var(--color-background);
  overflow: hidden;
}

@media (max-width: 767px) {
  .service-actions .icon-btn {
    width: 32px;
    height: 32px;
  }
}

.data-table-body {
  display: flex;
  flex: 1;
  min-height: 0;
  flex-direction: column;
  overflow: hidden;
}

.data-table-scroll {
  height: -moz-max-content;
  height: max-content;
  max-height: 100%;
  min-height: 0;
  overflow: auto;
  flex-shrink: 1;
}

.data-table-scroll table thead th {
  white-space: nowrap;
}

.data-table-pagination-bar {
  flex-shrink: 0;
  border-top: 1px solid var(--color-border);
  background: var(--color-background-surface);
}

.data-table-select-col {
  width: 40px;
  text-align: center;
  vertical-align: middle;
}

.data-table-select-col input[type='checkbox'] {
  width: 16px;
  height: 16px;
  cursor: pointer;
}

.data-table {
  width: 100%;
  border-collapse: collapse;
}

.data-table th {
  position: sticky;
  top: 0;
  z-index: 1;
  padding: 12px 16px;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  text-align: left;
  color: var(--color-text-secondary);
  background: var(--color-background-surface);
  border-bottom: 2px solid var(--color-border);
  white-space: nowrap;
}

.data-table th.sortable {
  cursor: pointer;
}

.data-table td {
  padding: 12px 16px;
  font-size: 13px;
  color: var(--color-text-primary);
  vertical-align: top;
  border-bottom: 1px solid var(--color-border);
}

.data-table tbody tr:hover td {
  background: var(--color-background);
}

.data-table-empty {
  padding: 48px 16px;
  text-align: center;
  color: var(--color-text-secondary);
}

.data-table-pagination {
  padding: 8px 16px;
}

.data-table-pagination__mobile {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 36px;
}

.data-table-pagination__mobile-status {
  min-width: 3.5rem;
  font-size: 12px;
  font-weight: 500;
  line-height: 1;
  text-align: center;
  color: var(--color-text-secondary);
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.data-table-pagination__desktop {
  display: none;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

@media (max-width: 639px) {
  .data-table-pagination {
    padding: 4px 12px;
  }

  .data-table-pagination__mobile {
    min-height: 32px;
  }
}

@media (min-width: 640px) {
  .data-table-pagination__mobile {
    display: none;
  }

  .data-table-pagination__desktop {
    display: flex;
  }
}

.data-table-pagination__range {
  margin: 0;
  flex-shrink: 0;
  font-size: 12px;
  line-height: 32px;
  color: var(--color-text-secondary);
  white-space: nowrap;
}

.data-table-pagination__controls {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}

.data-table-pagination__page-size {
  display: inline-flex;
  height: 32px;
  align-items: stretch;
  overflow: hidden;
  border: 1px solid var(--color-border);
  border-radius: var(--field-radius);
  background: var(--color-background-surface);
}

.data-table-pagination__page-size-label {
  display: inline-flex;
  align-items: center;
  padding: 0 10px;
  font-size: 12px;
  color: var(--color-text-secondary);
  white-space: nowrap;
  border-right: 1px solid var(--color-border);
  background: var(--color-background);
}

.data-table-pagination__page-size-select {
  min-width: 3.75rem;
  padding: 0 24px 0 8px;
  border: 0;
  background: transparent;
  font-size: 12px;
  font-weight: 500;
  color: var(--color-text-primary);
}

.data-table-pagination__page-size-select:focus {
  outline: 2px solid var(--color-primary);
  outline-offset: -2px;
}

.data-table-pagination__nav {
  display: inline-flex;
  align-items: center;
}

.data-table-pagination__nav-btn,
.data-table-pagination__page-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 32px;
  height: 32px;
  margin-left: -1px;
  padding: 0 8px;
  border: 1px solid var(--color-border);
  background: var(--color-background-surface);
  font-size: 13px;
  font-weight: 600;
  color: var(--color-text-primary);
  cursor: pointer;
  transition: background-color 0.15s ease;
}

.data-table-pagination__nav-btn:first-child,
.data-table-pagination__page-btn:first-child {
  margin-left: 0;
  border-top-left-radius: 6px;
  border-bottom-left-radius: 6px;
}

.data-table-pagination__nav-btn:last-child,
.data-table-pagination__page-btn:last-child {
  border-top-right-radius: 6px;
  border-bottom-right-radius: 6px;
}

.data-table-pagination__nav-btn:hover:not(:disabled),
.data-table-pagination__page-btn:hover:not(.data-table-pagination__page-btn--active) {
  background: var(--color-background);
}

.data-table-pagination__nav-btn:disabled {
  opacity: 0.45;
  cursor: default;
  color: var(--color-text-muted);
}

.data-table-pagination__page-btn--active {
  z-index: 1;
  background: var(--color-primary);
  border-color: var(--color-primary);
  color: #fff;
}

.list-badge,
.badge {
  display: inline-flex;
  align-items: center;
  padding: 3px 10px;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.25;
  border-radius: var(--badge-radius);
  white-space: nowrap;
}

.badge--sm {
  padding: 2px 7px;
  font-size: 10px;
}

.list-cell-sub {
  margin-top: 2px;
  font-size: 12px;
  color: var(--color-text-secondary);
}

.list-cell-meta {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 4px;
  font-size: 12px;
  color: var(--color-text-secondary);
}

.drawer-root {
  position: fixed;
  inset: 0;
  z-index: 10000;
  pointer-events: none;
}

.drawer-backdrop {
  position: fixed;
  inset: 0;
  pointer-events: auto;
  background: rgb(0 0 0 / 30%);
}

.drawer-panel {
  --drawer-close-size: 36px;

  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  display: flex;
  flex-direction: column;
  width: min(100vw, 640px);
  max-width: 100%;
  pointer-events: auto;
  background: var(--color-background-surface);
  border-left: 1px solid var(--color-border);
  box-shadow: -4px 0 24px rgb(0 0 0 / 10%);
}

.drawer-panel--split {
  position: fixed;
  overflow: hidden;
}

.drawer-panel--2xl {
  width: min(100vw, 920px);
}

.drawer-panel__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-shrink: 0;
  min-height: 56px;
  padding: 10px 12px 10px 16px;
  border-bottom: 1px solid var(--color-border);
}

.drawer-panel__header-main {
  min-width: 0;
  flex: 1;
}

.drawer-panel__title {
  margin: 0;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.3;
  color: var(--color-text-primary);
}

.drawer-panel__subtitle {
  margin: 4px 0 0;
  font-size: 13px;
  line-height: 1.35;
  color: var(--color-text-secondary);
}

/* Статус + close или только close — один блок одной высоты */
.drawer-header-cluster {
  display: inline-flex;
  align-items: stretch;
  flex-shrink: 0;
  height: var(--drawer-close-size);
  border: 1px solid var(--color-border);
  border-radius: var(--badge-radius);
  overflow: hidden;
  background: var(--color-background-surface);
  box-shadow: 0 1px 3px rgb(15 23 42 / 8%);
}

.drawer-header-cluster__label {
  border-right: 1px solid color-mix(in srgb, var(--color-border) 70%, transparent);
}

.drawer-panel__close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: none;
  background: var(--color-background-surface);
  color: var(--color-text-secondary);
  cursor: pointer;
  transition:
    background-color 0.15s ease,
    color 0.15s ease;
}

.drawer-panel__close:hover {
  background: var(--color-background);
  color: var(--color-text-primary);
}

.drawer-panel__close--header {
  width: var(--drawer-close-size);
  height: var(--drawer-close-size);
  flex-shrink: 0;
  border: 1px solid var(--color-border);
  border-radius: var(--badge-radius);
  box-shadow: 0 1px 3px rgb(15 23 42 / 8%);
}

.drawer-panel__close--cluster {
  width: var(--drawer-close-size);
  min-width: var(--drawer-close-size);
  height: 100%;
  flex-shrink: 0;
}

.drawer-panel__close-icon {
  width: 1.125rem;
  height: 1.125rem;
}

.drawer-panel__body {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  padding: 16px;
}

.drawer-panel__footer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-shrink: 0;
  padding: 12px 16px 16px;
  border-top: 1px solid var(--color-border);
}

.drawer-panel__footer--split {
  justify-content: space-between;
}

.schema-form-grid {
  display: grid;
  gap: 16px;
}

.status-radio-group {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.status-radio {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 12px;
  border: 1px solid var(--color-border);
  border-radius: var(--field-radius);
  cursor: pointer;
}

.status-radio--active {
  border-color: var(--color-primary);
  background: color-mix(in srgb, var(--color-primary) 8%, transparent);
}

.status-dot {
  width: 8px;
  height: 8px;
  border-radius: var(--badge-radius);
}

.filter-panel-overlay {
  position: fixed;
  inset: 0;
  z-index: 45;
  background: rgb(0 0 0 / 30%);
}

.filter-panel {
  position: fixed;
  inset-block: 0;
  right: 0;
  z-index: 50;
  display: flex;
  flex-direction: column;
  width: min(100vw, 24rem);
  background: var(--color-background-surface);
  border-left: 1px solid var(--color-border);
  box-shadow: -8px 0 24px rgb(0 0 0 / 10%);
}

.filter-panel__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px;
  border-bottom: 1px solid var(--color-border);
}

.filter-panel__body {
  flex: 1;
  overflow-y: auto;
  padding: 16px;
}

.filter-field + .filter-field {
  margin-top: 16px;
}

/* Единый layout контента CRM-страниц (таблицы, формы, аналитика) */
.page-content {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  background: var(--color-background-surface);
}

.page-section {
  padding: 16px;
  background: var(--color-background-surface);
  border-bottom: 1px solid var(--color-border);
}
.page-section:last-child {
  border-bottom: none;
}

.page-section__title {
  margin: 0 0 12px;
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--color-text-secondary);
}

.page-section__lead {
  margin: -4px 0 12px;
  font-size: 0.8125rem;
  line-height: 1.4;
  color: var(--color-text-secondary);
}

.page-section__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}
.page-section__header .page-section__title {
  margin: 0;
}
.page-section__header .page-section__lead {
  margin: 6px 0 0;
}

.page-section__header--compact {
  align-items: flex-start;
}

.page-section__header-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex-shrink: 0;
}

/* Плоская панель на всю ширину (таблицы, kanban, график) */
.page-panel {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  background: var(--color-background-surface);
  border: 1px solid var(--color-border);
  overflow: hidden;
}

.page-panel--fill {
  flex: 1;
  min-height: 0;
}

/* Сетка KPI */
.page-stat-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-bottom: 1px solid var(--color-border);
}
@media (max-width: 1023px) {
  .page-stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 639px) {
  .page-stat-grid {
    grid-template-columns: 1fr;
  }
}

.page-stat {
  padding: 16px;
  background: var(--color-background-surface);
  border-right: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
}
.page-stat:nth-child(4n) {
  border-right: none;
}
@media (max-width: 1023px) {
  .page-stat:nth-child(4n) {
    border-right: 1px solid var(--color-border);
  }
  .page-stat:nth-child(2n) {
    border-right: none;
  }
  .page-stat:nth-last-child(-n+2) {
    border-bottom: none;
  }
}
@media (max-width: 639px) {
  .page-stat {
    border-right: none !important;
  }
  .page-stat:last-child {
    border-bottom: none;
  }
}
@media (min-width: 1024px) {
  .page-stat:nth-last-child(-n+4) {
    border-bottom: none;
  }
}

.page-stat__label {
  margin-bottom: 4px;
  font-size: 0.75rem;
  color: var(--color-text-secondary);
}

.page-stat__value {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.2;
  color: var(--color-text-primary);
  font-variant-numeric: tabular-nums;
}

/* Две колонки без зазоров и скруглений */
.page-split {
  display: grid;
  grid-template-columns: 1fr;
  border-bottom: 1px solid var(--color-border);
}
@media (min-width: 1024px) {
  .page-split {
    grid-template-columns: 1fr 1fr;
  }
}

.page-split__col {
  padding: 16px;
  background: var(--color-background-surface);
  border-bottom: 1px solid var(--color-border);
}
@media (min-width: 1024px) {
  .page-split__col {
    border-bottom: none;
    border-right: 1px solid var(--color-border);
  }
  .page-split__col:last-child {
    border-right: none;
  }
}
@media (max-width: 1023px) {
  .page-split__col:last-child {
    border-bottom: none;
  }
}

/* Строка списка внутри секции */
.page-list-item {
  padding: 10px 12px;
  background: var(--color-background);
  border: 1px solid var(--color-border);
  border-left-width: 3px;
  border-left-color: var(--color-border);
  border-radius: var(--field-radius);
}
.page-list-item + .page-list-item {
  margin-top: 6px;
}

/* Карточка выбора (тип компании и т.п.) */
.page-choice-card {
  position: relative;
  padding: 12px;
  text-align: left;
  background: var(--color-background-surface);
  border: 1px solid var(--color-border);
  cursor: pointer;
  transition: border-color 0.15s, background 0.15s;
}
.page-choice-card:hover {
  border-color: color-mix(in srgb, var(--color-primary) 40%, var(--color-border));
  background: var(--color-background);
}
.page-choice-card--active {
  border-color: var(--color-primary);
  background: color-mix(in srgb, var(--color-primary) 5%, var(--color-background-surface));
}

.page-subsection {
  padding: 12px;
  border: 1px solid var(--color-border);
  background: var(--color-background);
}

.page-empty {
  padding: 24px 16px;
  font-size: 0.8125rem;
  text-align: center;
  color: var(--color-text-secondary);
}

/* Поля форм внутри секций */
.page-field-textarea {
  display: block;
  width: 100%;
  padding: 8px 10px;
  font-size: 0.8125rem;
  color: var(--color-text-primary);
  background: var(--color-background-surface);
  border: 1px solid var(--color-border);
  outline: none;
  resize: vertical;
}
.page-field-textarea:focus {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 1px var(--color-primary);
}
.page-field-textarea::-moz-placeholder {
  color: var(--input-placeholder);
  font-weight: 400;
}
.page-field-textarea::placeholder {
  color: var(--input-placeholder);
  font-weight: 400;
}

.work-schedule-scroll {
  overflow-x: scroll !important;
  overflow-y: auto;
}
.work-schedule-scroll::-webkit-scrollbar {
  height: 12px;
}
.work-schedule-scroll::-webkit-scrollbar-track {
  background: var(--color-background-surface);
}
.work-schedule-scroll::-webkit-scrollbar-thumb {
  background: var(--color-border);
  border-radius: var(--field-radius);
}
.work-schedule-scroll::-webkit-scrollbar-thumb:hover {
  background: var(--color-text-secondary);
}
.work-schedule-scroll {
  scrollbar-width: thin;
  scrollbar-color: var(--color-border) var(--color-background-surface);
}