/**
 * CDTO Continuous Visual Shell (CVS) — единый first-paint Element ↔ MAS.
 * Маркер: enroll-ux-mono-cvs-20260804
 * Эталон разметки: enroll-mono-shell-snippet.html
 */
@keyframes cdto-mono-spin {
  to {
    transform: rotate(360deg);
  }
}

/* Фон mint на enroll-path (оба документа). */
html.cdto-mono-shell,
html.cdto-telegraf-oauth-callback,
html.cdto-telegraf-enroll-settle,
html.cdto-telegraf-auth-first-paint,
html.cdto-mas-consent-instant {
  background-color: var(--cdto-enroll-bg, #ecfdf5) !important;
}
html.cdto-mono-shell body,
html.cdto-telegraf-oauth-callback body,
html.cdto-telegraf-enroll-settle body,
html.cdto-telegraf-auth-first-paint body,
html.cdto-mas-consent-instant body {
  background-color: var(--cdto-enroll-bg, #ecfdf5) !important;
  background-image: none !important;
}

/* Overlay: меню сверху, карточка ниже gap. */
#cdto-telegraf-auth-busy.cdto-auth-wait-overlay,
#cdto-mas-enroll-veil.cdto-auth-wait-overlay {
  box-sizing: border-box !important;
  position: fixed !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  top: var(--cdto-space-menu-h, 52px) !important;
  z-index: 10050 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  background-color: var(--cdto-enroll-bg, #ecfdf5) !important;
  pointer-events: auto !important;
}

#cdto-mas-enroll-veil.cdto-auth-wait-overlay {
  top: var(--cdto-space-menu-h, 52px) !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  pointer-events: none !important;
}

#cdto-mas-enroll-veil .cdto-mono-shell-nav {
  flex: 0 0 var(--cdto-space-menu-h, 52px);
  width: 100%;
  background: #0f766e;
  color: #fff;
  display: flex;
  align-items: center;
  padding: 0 52px;
  font: 600 14px/1 system-ui, sans-serif;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  box-sizing: border-box;
}
#cdto-mas-enroll-veil .cdto-mono-shell-nav span {
  opacity: 0.95;
  margin-right: 1.25rem;
}
#cdto-mas-enroll-veil .cdto-mono-shell-nav span[aria-current] {
  background: rgba(0, 0, 0, 0.18);
  padding: 0.4rem 0.7rem;
  border-radius: 0.25rem;
}

#cdto-enroll-card,
#cdto-telegraf-auth-busy .cdto-auth-wait-card,
#cdto-mas-enroll-veil #cdto-enroll-card,
#cdto-mas-enroll-veil .cdto-auth-wait-card {
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  margin-top: var(--cdto-idp-card-gap-top, 146px) !important;
  width: min(var(--cdto-enroll-card-max-w, 36rem), calc(100vw - 2rem)) !important;
  max-width: var(--cdto-enroll-card-max-w, 36rem) !important;
  min-height: var(--cdto-enroll-card-min-h, 26rem) !important;
  padding: var(--cdto-enroll-card-pad-y, 2rem) var(--cdto-enroll-card-pad-x, 1.5rem) !important;
  gap: var(--cdto-enroll-card-gap, 0.85rem) !important;
  border-radius: var(--cdto-enroll-card-radius, 0.5rem) !important;
  background: #fff !important;
  box-shadow: 0 8px 28px rgba(15, 23, 42, 0.08) !important;
}

/* Ровно одно кольцо спиннера (M3: doubles=false). */
.cdto-auth-wait-spinner {
  position: relative !important;
  width: 3.25rem !important;
  height: 3.25rem !important;
  margin: 0 auto !important;
  flex: 0 0 auto !important;
}
.cdto-auth-wait-spinner__ring {
  display: block !important;
  box-sizing: border-box !important;
  width: 3.25rem !important;
  height: 3.25rem !important;
  border-radius: 50% !important;
  border: 3px solid #99f6e4 !important;
  border-top-color: #0f766e !important;
  animation: cdto-mono-spin 0.9s linear infinite !important;
}
.cdto-auth-wait-spinner .cdto-auth-wait-spinner__ring ~ .cdto-auth-wait-spinner__ring,
.cdto-auth-wait-card .cdto-auth-wait-spinner ~ .cdto-auth-wait-spinner {
  display: none !important;
}

.cdto-auth-wait-title {
  margin: 0 !important;
  color: var(--cdto-enroll-title-color, #151515) !important;
  font: 700 1.5rem/1.35 Helvetica Neue, Helvetica, Arial, sans-serif !important;
  text-align: center !important;
}
.cdto-auth-wait-long {
  margin: 0 !important;
  color: var(--cdto-enroll-sub-color, #475569) !important;
  font-size: var(--cdto-enroll-sub-size, 0.9375rem) !important;
  line-height: 1.45 !important;
  text-align: center !important;
  max-width: 22rem !important;
}

/* После reveal help — veil не виден. */
html.cdto-telegraf-help-ready #cdto-telegraf-auth-busy,
html[data-cdto-busy-dismissed="1"] #cdto-telegraf-auth-busy {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
