html.premium-os-theme::before,
html.premium-os-theme::after {
  content: none !important;
}

html.premium-os-theme .premium-os-loader {
  inset: 0;
  opacity: 0;
  pointer-events: none;
  position: fixed;
  transition: opacity 120ms ease, visibility 0s linear 120ms;
  visibility: hidden;
  z-index: 1095;
}

html.premium-os-theme .premium-os-loader__backdrop {
  backdrop-filter: blur(8px);
  background:
    radial-gradient(circle at top, rgba(255, 255, 255, 0.28), transparent 42%),
    rgba(244, 247, 252, 0.54);
  inset: 0;
  position: absolute;
}

html.premium-os-theme .premium-os-loader__progress {
  height: 3px;
  inset: 0 0 auto;
  opacity: 0.34;
  overflow: hidden;
  position: absolute;
}

html.premium-os-theme .premium-os-loader__progress-bar {
  background: linear-gradient(90deg, rgba(57, 113, 244, 0.18) 0%, rgba(57, 113, 244, 0.88) 48%, rgba(121, 169, 255, 0.92) 100%);
  display: block;
  height: 100%;
  transition: width 120ms ease;
  width: var(--premium-os-loader-progress, 0%);
}

html.premium-os-theme .premium-os-loader__viewport {
  align-items: center;
  display: flex;
  inset: 0;
  justify-content: center;
  padding: 24px;
  position: absolute;
}

html.premium-os-theme .premium-os-loader__card {
  align-items: center;
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(226, 232, 240, 0.92);
  border-radius: 24px;
  box-shadow: 0 24px 60px rgba(15, 23, 42, 0.12);
  color: #1e293b;
  display: grid;
  gap: 10px;
  justify-items: center;
  max-width: min(92vw, 332px);
  min-width: min(92vw, 286px);
  opacity: 0;
  padding: 30px 28px 24px;
  position: relative;
  text-align: center;
  transform: translateY(8px) scale(0.985);
  transition: opacity 110ms ease, transform 140ms ease;
}

html.premium-os-theme .premium-os-loader__card::before {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.48), rgba(255, 255, 255, 0));
  border-radius: inherit;
  content: "";
  inset: 1px;
  opacity: 0.75;
  position: absolute;
}

html.premium-os-theme .premium-os-loader__ring,
html.premium-os-theme .premium-os-loader__title,
html.premium-os-theme .premium-os-loader__subtitle {
  position: relative;
  z-index: 1;
}

html.premium-os-theme .premium-os-loader__ring {
  animation: premium-os-loader-spin 780ms linear infinite;
  border: 4px solid rgba(59, 130, 246, 0.22);
  border-radius: 999px;
  border-right-color: rgba(96, 165, 250, 0.52);
  border-top-color: rgba(37, 99, 235, 0.96);
  box-shadow: 0 0 0 1px rgba(37, 99, 235, 0.08), 0 8px 18px rgba(59, 130, 246, 0.12);
  height: 52px;
  width: 52px;
}

html.premium-os-theme .premium-os-loader__title {
  color: #1e293b;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: -0.01em;
  line-height: 1.25;
  margin-top: 2px;
}

html.premium-os-theme .premium-os-loader__subtitle {
  color: #64748b;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.35;
}

html.premium-os-theme.premium-os-shell-preload .premium-os-loader,
html.premium-os-theme.premium-os-loader-active .premium-os-loader {
  opacity: 1;
  transition-delay: 0s;
  visibility: visible;
}

html.premium-os-theme.premium-os-shell-preload .premium-os-loader__card,
html.premium-os-theme.premium-os-loader-active .premium-os-loader__card {
  opacity: 1;
  transform: translateY(0) scale(1);
}

html[data-premium-os-theme="dark"].premium-os-theme .premium-os-loader__backdrop {
  background:
    radial-gradient(circle at top, rgba(96, 165, 250, 0.12), transparent 42%),
    rgba(7, 11, 18, 0.58);
}

html[data-premium-os-theme="dark"].premium-os-theme .premium-os-loader__progress {
  opacity: 0.42;
}

html[data-premium-os-theme="dark"].premium-os-theme .premium-os-loader__card {
  background: rgba(15, 23, 42, 0.94);
  border-color: rgba(71, 85, 105, 0.52);
  box-shadow: 0 26px 72px rgba(2, 6, 23, 0.44);
  color: #e5eef8;
}

html[data-premium-os-theme="dark"].premium-os-theme .premium-os-loader__card::before {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0));
  opacity: 1;
}

html[data-premium-os-theme="dark"].premium-os-theme .premium-os-loader__ring {
  border-color: rgba(96, 165, 250, 0.2);
  border-right-color: rgba(125, 211, 252, 0.44);
  border-top-color: rgba(96, 165, 250, 0.95);
  box-shadow: 0 0 0 1px rgba(96, 165, 250, 0.1), 0 10px 22px rgba(59, 130, 246, 0.12);
}

html[data-premium-os-theme="dark"].premium-os-theme .premium-os-loader__title {
  color: #f8fbff;
}

html[data-premium-os-theme="dark"].premium-os-theme .premium-os-loader__subtitle {
  color: #b6c4d6;
}

html.premium-os-theme[data-premium-os-motion="on"] .premium-os-loader,
html.premium-os-theme[data-premium-os-motion="on"] .premium-os-loader__card,
html.premium-os-theme[data-premium-os-motion="on"] .premium-os-loader__progress-bar {
  transition-duration: 0.01ms !important;
}

.premium-os-loading-surface {
  position: relative;
}

.premium-os-loading-surface[data-premium-os-loading="true"] {
  min-height: 120px;
}

.premium-os-loading-surface[data-premium-os-loading="true"]::before {
  background: rgba(255, 255, 255, 0.52);
  border-radius: inherit;
  content: "";
  inset: 0;
  position: absolute;
  z-index: 1;
}

html[data-premium-os-theme="dark"] .premium-os-loading-surface[data-premium-os-loading="true"]::before {
  background: rgba(13, 18, 24, 0.5);
}

.premium-os-loading-surface[data-premium-os-loading="true"]::after {
  animation: premium-os-loader-shimmer 1.2s linear infinite;
  background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.58) 48%, transparent 100%);
  border-radius: inherit;
  content: "";
  inset: 0;
  position: absolute;
  transform: translateX(-100%);
  z-index: 2;
}

html[data-premium-os-theme="dark"] .premium-os-loading-surface[data-premium-os-loading="true"]::after {
  background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.09) 48%, transparent 100%);
}

.premium-os-loading-skeleton {
  animation: premium-os-loader-pulse 1.2s ease-in-out infinite;
  background: linear-gradient(90deg, rgba(226, 232, 240, 0.84), rgba(241, 245, 249, 0.98), rgba(226, 232, 240, 0.84));
  background-size: 200% 100%;
  border-radius: 12px;
  display: block;
  min-height: 14px;
}

html[data-premium-os-theme="dark"] .premium-os-loading-skeleton {
  background: linear-gradient(90deg, rgba(39, 49, 61, 0.96), rgba(52, 64, 78, 1), rgba(39, 49, 61, 0.96));
}

.premium-os-loading-skeleton--title {
  height: 18px;
  margin-bottom: 10px;
  max-width: 42%;
}

.premium-os-loading-skeleton--line {
  height: 12px;
  margin-top: 8px;
}

.premium-os-loading-skeleton--line.short {
  max-width: 52%;
}

.premium-os-loading-skeleton--card {
  height: 96px;
}

.premium-os-loading-skeleton--button {
  border-radius: 999px;
  height: 36px;
  max-width: 140px;
}

.premium-os-loading-table {
  display: grid;
  gap: 10px;
}

.premium-os-loading-table__row {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(var(--premium-os-loading-columns, 4), minmax(0, 1fr));
}

.btn.is-busy,
button.is-busy,
[data-premium-os-busy="true"] {
  color: transparent !important;
  pointer-events: none;
  position: relative;
}

.btn.is-busy::after,
button.is-busy::after,
[data-premium-os-busy="true"]::after {
  animation: premium-os-loader-spin 780ms linear infinite;
  border: 2px solid rgba(255, 255, 255, 0.72);
  border-radius: 999px;
  border-right-color: transparent;
  content: "";
  height: 14px;
  inset: 50% auto auto 50%;
  margin: -7px 0 0 -7px;
  opacity: 0.92;
  position: absolute;
  width: 14px;
}

.premium-os-loading-inline {
  align-items: center;
  color: var(--po-text-muted, #64748b);
  display: inline-flex;
  font-size: 11px;
  font-weight: 700;
  gap: 8px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.premium-os-loading-inline::before {
  animation: premium-os-loader-pulse 900ms ease-in-out infinite;
  background: currentColor;
  border-radius: 999px;
  content: "";
  flex: 0 0 8px;
  height: 8px;
  opacity: 0.68;
  width: 8px;
}

@keyframes premium-os-loader-spin {
  to {
    transform: rotate(360deg);
  }
}

@keyframes premium-os-loader-shimmer {
  to {
    transform: translateX(100%);
  }
}

@keyframes premium-os-loader-pulse {
  0%,
  100% {
    opacity: 0.55;
    transform: scale(0.96);
  }

  50% {
    opacity: 1;
    transform: scale(1);
  }
}

@media (max-width: 767px) {
  html.premium-os-theme .premium-os-loader__viewport {
    padding: 18px;
  }

  html.premium-os-theme .premium-os-loader__card {
    border-radius: 22px;
    min-width: min(92vw, 274px);
    padding: 26px 22px 22px;
  }

  html.premium-os-theme .premium-os-loader__title {
    font-size: 14px;
  }

  html.premium-os-theme .premium-os-loader__subtitle {
    font-size: 12px;
  }
}

@media (prefers-reduced-motion: reduce) {
  html.premium-os-theme .premium-os-loader,
  html.premium-os-theme .premium-os-loader__card,
  html.premium-os-theme .premium-os-loader__ring,
  html.premium-os-theme .premium-os-loader__progress-bar,
  .premium-os-loading-surface[data-premium-os-loading="true"]::after,
  .premium-os-loading-skeleton,
  .btn.is-busy::after,
  button.is-busy::after,
  [data-premium-os-busy="true"]::after,
  .premium-os-loading-inline::before {
    animation: none !important;
    transition-duration: 0.01ms !important;
  }
}

html.premium-os-theme.premium-os-loader-progress-only .premium-os-loader__backdrop,
html.premium-os-theme.premium-os-loader-progress-only .premium-os-loader__viewport {
  opacity: 0;
  transition: opacity 90ms ease;
}

html.premium-os-theme.premium-os-loader-progress-only .premium-os-loader__card {
  opacity: 0;
  transform: translateY(6px) scale(0.99);
}

html.premium-os-theme.premium-os-loader-progress-only .premium-os-loader__progress {
  opacity: 0.52;
}

html[data-premium-os-theme="dark"].premium-os-theme.premium-os-loader-progress-only .premium-os-loader__progress {
  opacity: 0.62;
}
