/* Spaif Dex overlay — инжектится через nginx sub_filter в </head>.
   Не зависит от bundle SPA, переживает любые ребилды фронта.
   Версионирование через ?v= в URL (см. nginx-конфиг). */

::selection { background: #000 !important; color: #fff !important; }
::-moz-selection { background: #000 !important; color: #fff !important; }

/* z-index: модалки и поповеры выше любого хедера */
[role="dialog"],
[data-state="open"][data-side],
[data-radix-popper-content-wrapper],
.Dialog, .modal, .Modal, .ant-modal-wrap,
[class*="Modal"][class*="overlay" i],
[class*="modal"][class*="overlay" i] {
  z-index: 9000 !important;
}
[role="dialog"] [class*="content" i],
[data-radix-dialog-content] {
  z-index: 9001 !important;
}
[class*="Toaster" i], [data-sonner-toaster] {
  z-index: 9999 !important;
}

/* Subscription banner */
#spaif-subs-banner {
  position: fixed;
  left: 50%;
  top: 12px;
  transform: translateX(-50%);
  z-index: 8500;
  max-width: calc(100vw - 24px);
  padding: 10px 16px;
  border-radius: 999px;
  background: linear-gradient(90deg, #0d6efd, #6f42c1);
  color: #fff;
  font-family: Manrope, system-ui, sans-serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.01em;
  box-shadow: 0 8px 30px rgba(0,0,0,.25), 0 0 0 1px rgba(255,255,255,.08) inset;
  display: none;
  align-items: center;
  gap: 10px;
  cursor: default;
  user-select: none;
  animation: spaif-banner-in 0.4s ease both;
}
#spaif-subs-banner[data-show="1"] { display: inline-flex; }
#spaif-subs-banner .dot {
  width: 8px; height: 8px; border-radius: 50%;
  background: #b6f0c8; box-shadow: 0 0 0 3px rgba(182,240,200,.25);
  animation: spaif-pulse 2.4s ease-in-out infinite;
}
@keyframes spaif-pulse {
  0%, 100% { opacity: 0.6; transform: scale(0.9); }
  50% { opacity: 1; transform: scale(1.15); }
}
@keyframes spaif-banner-in {
  from { transform: translate(-50%, -110%); opacity: 0; }
  to { transform: translate(-50%, 0); opacity: 1; }
}
@media (max-width: 540px) {
  #spaif-subs-banner { font-size: 12px; padding: 8px 12px; top: 8px; }
}

/* Скрытие CRM-секций для магазинных аккаунтов (см. JS-overlay). */
html[data-spaif-hide-crm="1"] [data-spaif-section="clients"],
html[data-spaif-hide-crm="1"] [data-spaif-section="masters"],
html[data-spaif-hide-crm="1"] [data-spaif-section="schedule"],
html[data-spaif-hide-crm="1"] [data-spaif-section="bookings"],
html[data-spaif-hide-crm="1"] [data-spaif-section="finance"],
html[data-spaif-hide-crm="1"] [aria-label="Клиенты"],
html[data-spaif-hide-crm="1"] [aria-label="Сотрудники"],
html[data-spaif-hide-crm="1"] [aria-label="График"],
html[data-spaif-hide-crm="1"] [aria-label="Записи"],
html[data-spaif-hide-crm="1"] [aria-label="Финансы"] {
  display: none !important;
}

/* «Радость» — плавные переходы для интерактивных элементов */
a, button, [role="button"], input, select, textarea {
  transition: background-color .18s ease, color .18s ease,
              border-color .18s ease, box-shadow .18s ease,
              transform .12s ease;
}
a:active, button:active, [role="button"]:active {
  transform: translateY(1px) scale(0.997);
}
