/* ===== Glass — glassmorphism + aurora / небо / звёзды (2026) ===== */
/* Пресеты «Небо» (светлая) и «Звёзды» (тёмная) — чистый CSS, без внешних изображений. */

.ambient-bg {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
  contain: strict;
}

[data-style="glass"] .ambient-bg {
  display: block;
}

.ambient-bg__base {
  position: absolute;
  inset: -12%;
  background: var(--amb-base, #0a0e14);
  transition: background 0.8s ease;
}

/* Реальное фото неба (пресет sky): поверх базы, под блобами */
.ambient-bg__photo {
  display: none;
  position: absolute;
  inset: -2%;
  z-index: 1;
  background-image: var(--amb-sky-photo, none);
  background-size: cover;
  background-position: center 28%;
  background-repeat: no-repeat;
  transform: scale(1.04);
  pointer-events: none;
}

.ambient-bg__photo::after {
  content: '';
  position: absolute;
  inset: 0;
  background: var(--amb-photo-scrim, transparent);
  pointer-events: none;
}

.ambient-bg__blob {
  position: absolute;
  z-index: 2;
  border-radius: 50%;
  filter: blur(72px);
  opacity: var(--amb-blob-opacity, 0.55);
  mix-blend-mode: var(--amb-blend, plus-lighter);
  will-change: transform;
  animation: amb-float 22s ease-in-out infinite;
}

.ambient-bg__blob--a {
  width: min(72vw, 620px);
  height: min(72vw, 620px);
  left: -8%;
  top: 18%;
  background: var(--amb-c1, #2a5a6e);
  animation-delay: 0s;
}

.ambient-bg__blob--b {
  width: min(65vw, 520px);
  height: min(65vw, 520px);
  right: -12%;
  top: 42%;
  background: var(--amb-c2, #4a3a78);
  animation-delay: -7s;
  animation-duration: 26s;
}

.ambient-bg__blob--c {
  width: min(80vw, 680px);
  height: min(80vw, 680px);
  left: 22%;
  bottom: -25%;
  background: var(--amb-c3, #1e4d5c);
  animation-delay: -14s;
  animation-duration: 30s;
}

@keyframes amb-float {
  0%, 100% { transform: translate(0, 0) scale(1); }
  33% { transform: translate(4%, -3%) scale(1.05); }
  66% { transform: translate(-3%, 4%) scale(0.96); }
}

.ambient-bg__mesh {
  position: absolute;
  inset: 0;
  z-index: 3;
  opacity: 0.35;
  background:
    radial-gradient(ellipse 100% 80% at 50% 100%, var(--amb-mesh, rgba(80, 120, 200, 0.15)), transparent 55%);
  pointer-events: none;
}

.ambient-bg__stars {
  display: none;
  position: absolute;
  inset: 0;
  z-index: 4;
  opacity: 0.72;
  background-image:
    radial-gradient(1px 1px at 8% 12%, rgba(255, 255, 255, 0.95), transparent),
    radial-gradient(1px 1px at 18% 45%, rgba(255, 255, 255, 0.45), transparent),
    radial-gradient(1.2px 1.2px at 32% 8%, rgba(255, 255, 255, 0.85), transparent),
    radial-gradient(1px 1px at 55% 22%, rgba(255, 255, 255, 0.5), transparent),
    radial-gradient(1px 1px at 72% 15%, rgba(255, 255, 255, 0.9), transparent),
    radial-gradient(1px 1px at 88% 38%, rgba(255, 255, 255, 0.4), transparent),
    radial-gradient(1px 1px at 12% 72%, rgba(255, 255, 255, 0.55), transparent),
    radial-gradient(1.2px 1.2px at 28% 88%, rgba(255, 255, 255, 0.75), transparent),
    radial-gradient(1px 1px at 48% 62%, rgba(255, 255, 255, 0.35), transparent),
    radial-gradient(1px 1px at 65% 78%, rgba(255, 255, 255, 0.65), transparent),
    radial-gradient(1px 1px at 82% 92%, rgba(255, 255, 255, 0.5), transparent),
    radial-gradient(1px 1px at 95% 68%, rgba(255, 255, 255, 0.8), transparent),
    radial-gradient(1px 1px at 42% 35%, rgba(255, 255, 255, 0.25), transparent),
    radial-gradient(1px 1px at 60% 48%, rgba(255, 255, 255, 0.45), transparent);
  background-size: 100% 100%;
}

.ambient-bg__clouds {
  display: none;
  position: absolute;
  inset: 0;
  z-index: 4;
  background:
    radial-gradient(ellipse 42% 18% at 18% 28%, rgba(255, 255, 255, 0.92), transparent),
    radial-gradient(ellipse 38% 14% at 55% 22%, rgba(255, 255, 255, 0.78), transparent),
    radial-gradient(ellipse 50% 20% at 82% 35%, rgba(255, 255, 255, 0.88), transparent),
    radial-gradient(ellipse 36% 12% at 35% 48%, rgba(255, 255, 255, 0.65), transparent),
    radial-gradient(ellipse 44% 16% at 70% 58%, rgba(255, 255, 255, 0.72), transparent),
    radial-gradient(ellipse 30% 10% at 12% 62%, rgba(255, 255, 255, 0.55), transparent);
  filter: blur(1.2px);
  opacity: 0.88;
  mix-blend-mode: soft-light;
}

.ambient-bg__vignette {
  position: absolute;
  inset: 0;
  z-index: 5;
  background: radial-gradient(ellipse 85% 75% at 50% 45%, transparent 40%, var(--amb-vignette, rgba(0, 0, 0, 0.45)) 100%);
  pointer-events: none;
}

.ambient-bg__grain {
  position: absolute;
  inset: 0;
  z-index: 6;
  opacity: 0.045;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  mix-blend-mode: overlay;
  pointer-events: none;
}

@media (prefers-reduced-motion: reduce) {
  .ambient-bg__blob {
    animation: none;
  }
}

/* ── Dark aurora palettes (calm, readable) ── */
[data-style="glass"][data-theme="dark"][data-glass-active="a1"] {
  --amb-base: #070a10;
  --amb-c1: rgba(45, 120, 140, 0.55);
  --amb-c2: rgba(95, 70, 160, 0.45);
  --amb-c3: rgba(30, 85, 110, 0.5);
  --amb-mesh: rgba(100, 160, 220, 0.12);
  --amb-vignette: rgba(0, 0, 0, 0.5);
}

[data-style="glass"][data-theme="dark"][data-glass-active="a2"] {
  --amb-base: #060812;
  --amb-c1: rgba(55, 75, 150, 0.5);
  --amb-c2: rgba(120, 60, 140, 0.4);
  --amb-c3: rgba(40, 90, 130, 0.48);
  --amb-mesh: rgba(130, 100, 200, 0.1);
  --amb-vignette: rgba(0, 0, 0, 0.52);
}

[data-style="glass"][data-theme="dark"][data-glass-active="a3"] {
  --amb-base: #0a080c;
  --amb-c1: rgba(100, 60, 110, 0.42);
  --amb-c2: rgba(50, 130, 125, 0.45);
  --amb-c3: rgba(80, 70, 140, 0.38);
  --amb-mesh: rgba(180, 120, 200, 0.08);
  --amb-vignette: rgba(0, 0, 0, 0.48);
}

[data-style="glass"][data-theme="dark"][data-glass-active="a4"] {
  --amb-base: #050a08;
  --amb-c1: rgba(40, 110, 95, 0.5);
  --amb-c2: rgba(70, 130, 80, 0.42);
  --amb-c3: rgba(30, 85, 75, 0.48);
  --amb-mesh: rgba(100, 200, 160, 0.09);
  --amb-vignette: rgba(0, 0, 0, 0.5);
}

/* Пресет «Звёзды»: без внешних URL (CSP/офлайн) — градиент ночного неба + CSS-звёзды */
[data-style="glass"][data-theme="dark"][data-glass-active="sky"] {
  --amb-base: radial-gradient(ellipse 120% 100% at 50% 0%, #1a2840 0%, #0a0e18 42%, #03050c 100%);
  --amb-sky-photo: none;
  --amb-blob-opacity: 0.14;
  --amb-c1: rgba(50, 90, 140, 0.22);
  --amb-c2: rgba(30, 50, 100, 0.18);
  --amb-c3: rgba(20, 40, 80, 0.2);
  --amb-mesh: rgba(80, 120, 200, 0.08);
  --amb-vignette: rgba(0, 0, 0, 0.55);
}

[data-style="glass"][data-theme="dark"][data-glass-active="sky"] .ambient-bg__base {
  background: var(--amb-base);
}

[data-style="glass"][data-theme="dark"][data-glass-active="sky"] .ambient-bg__photo {
  display: none !important;
}

[data-style="glass"][data-theme="dark"][data-glass-active="sky"] .ambient-bg__stars {
  display: block !important;
  opacity: 0.88;
  background-image:
    radial-gradient(1px 1px at 5% 8%, rgba(255, 255, 255, 0.95), transparent),
    radial-gradient(1px 1px at 12% 22%, rgba(255, 255, 255, 0.5), transparent),
    radial-gradient(1.2px 1.2px at 22% 12%, rgba(255, 255, 255, 0.85), transparent),
    radial-gradient(1px 1px at 35% 28%, rgba(255, 255, 255, 0.4), transparent),
    radial-gradient(1px 1px at 48% 6%, rgba(255, 255, 255, 0.9), transparent),
    radial-gradient(1px 1px at 58% 18%, rgba(255, 255, 255, 0.55), transparent),
    radial-gradient(1.2px 1.2px at 72% 10%, rgba(255, 255, 255, 0.75), transparent),
    radial-gradient(1px 1px at 85% 24%, rgba(255, 255, 255, 0.45), transparent),
    radial-gradient(1px 1px at 92% 8%, rgba(255, 255, 255, 0.85), transparent),
    radial-gradient(1px 1px at 8% 45%, rgba(255, 255, 255, 0.35), transparent),
    radial-gradient(1px 1px at 18% 58%, rgba(255, 255, 255, 0.65), transparent),
    radial-gradient(1.2px 1.2px at 32% 48%, rgba(255, 255, 255, 0.5), transparent),
    radial-gradient(1px 1px at 45% 62%, rgba(255, 255, 255, 0.3), transparent),
    radial-gradient(1px 1px at 55% 42%, rgba(255, 255, 255, 0.7), transparent),
    radial-gradient(1px 1px at 68% 55%, rgba(255, 255, 255, 0.4), transparent),
    radial-gradient(1.2px 1.2px at 78% 38%, rgba(255, 255, 255, 0.8), transparent),
    radial-gradient(1px 1px at 88% 52%, rgba(255, 255, 255, 0.5), transparent),
    radial-gradient(1px 1px at 95% 68%, rgba(255, 255, 255, 0.35), transparent),
    radial-gradient(1px 1px at 15% 78%, rgba(255, 255, 255, 0.55), transparent),
    radial-gradient(1.2px 1.2px at 28% 88%, rgba(255, 255, 255, 0.45), transparent),
    radial-gradient(1px 1px at 42% 72%, rgba(255, 255, 255, 0.65), transparent),
    radial-gradient(1px 1px at 52% 92%, rgba(255, 255, 255, 0.4), transparent),
    radial-gradient(1px 1px at 65% 82%, rgba(255, 255, 255, 0.7), transparent),
    radial-gradient(1.2px 1.2px at 75% 95%, rgba(255, 255, 255, 0.5), transparent),
    radial-gradient(1px 1px at 38% 35%, rgba(200, 220, 255, 0.2), transparent),
    radial-gradient(2px 2px at 62% 22%, rgba(255, 255, 255, 0.15), transparent);
  background-size: 100% 100%;
}

/* ── Light aurora + sky ── */
[data-style="glass"][data-theme="light"][data-glass-active="a1"] {
  --amb-base: #e8eef5;
  --amb-c1: rgba(130, 190, 210, 0.55);
  --amb-c2: rgba(180, 160, 220, 0.42);
  --amb-c3: rgba(160, 200, 190, 0.48);
  --amb-mesh: rgba(100, 140, 200, 0.14);
  --amb-vignette: rgba(255, 255, 255, 0.25);
  --amb-blend: multiply;
}

[data-style="glass"][data-theme="light"][data-glass-active="a2"] {
  --amb-base: #f0ebe6;
  --amb-c1: rgba(230, 180, 150, 0.5);
  --amb-c2: rgba(150, 190, 230, 0.45);
  --amb-c3: rgba(200, 210, 230, 0.5);
  --amb-mesh: rgba(220, 160, 140, 0.12);
  --amb-vignette: rgba(255, 255, 255, 0.3);
  --amb-blend: multiply;
}

[data-style="glass"][data-theme="light"][data-glass-active="a3"] {
  --amb-base: #e9ebe8;
  --amb-c1: rgba(140, 175, 150, 0.5);
  --amb-c2: rgba(190, 200, 175, 0.48);
  --amb-c3: rgba(120, 160, 170, 0.45);
  --amb-mesh: rgba(100, 150, 120, 0.1);
  --amb-vignette: rgba(255, 255, 255, 0.28);
  --amb-blend: multiply;
}

[data-style="glass"][data-theme="light"][data-glass-active="a4"] {
  --amb-base: #eee8ec;
  --amb-c1: rgba(210, 160, 185, 0.45);
  --amb-c2: rgba(170, 185, 230, 0.48);
  --amb-c3: rgba(200, 175, 210, 0.42);
  --amb-mesh: rgba(200, 140, 180, 0.11);
  --amb-vignette: rgba(255, 255, 255, 0.26);
  --amb-blend: multiply;
}

/* Пресет «Небо» (светлая): градиент + мягкие облака из CSS, без внешних изображений */
[data-style="glass"][data-theme="light"][data-glass-active="sky"] {
  --amb-base: linear-gradient(180deg, #9ec8ea 0%, #c8dff5 35%, #e8f4fc 70%, #f6fafd 100%);
  --amb-sky-photo: none;
  --amb-blob-opacity: 0.22;
  --amb-c1: rgba(255, 255, 255, 0.55);
  --amb-c2: rgba(160, 200, 240, 0.45);
  --amb-c3: rgba(120, 175, 230, 0.35);
  --amb-mesh: rgba(255, 255, 255, 0.28);
  --amb-vignette: rgba(255, 255, 255, 0.14);
  --amb-blend: soft-light;
}

[data-style="glass"][data-theme="light"][data-glass-active="sky"] .ambient-bg__base {
  background: var(--amb-base);
}

[data-style="glass"][data-theme="light"][data-glass-active="sky"] .ambient-bg__photo {
  display: none !important;
}

[data-style="glass"][data-theme="light"][data-glass-active="sky"] .ambient-bg__clouds {
  display: block !important;
  opacity: 0.75;
}

[data-style="glass"][data-theme="light"] .ambient-bg__blob {
  mix-blend-mode: var(--amb-blend, multiply);
}

/* Page stacking */
[data-style="glass"] .page-wrapper,
[data-style="glass"] .site-footer {
  position: relative;
  z-index: 1;
}

/*
 * Тени рисуются снаружи border-box карточки. У .page-wrapper стоит overflow-x: clip
 * (layout.css) — тень обрезается по краю обёртки, хотя фон Aurora виден за её пределами.
 * Для Glass отключаем clip по осям, чтобы тень доходила до края окна (viewport режет html/body).
 */
[data-style="glass"] .page-wrapper {
  overflow-x: visible;
  overflow-y: visible;
}
[data-style="glass"] .page-main {
  overflow: visible;
}
[data-style="glass"] .main-grid {
  overflow: visible;
}

[data-style="glass"] body {
  background: transparent !important;
}

/* ── Glass design tokens ── */
[data-style="glass"][data-theme="light"] {
  --bg: rgba(245, 247, 250, 0.55);
  --card-bg: rgba(255, 255, 255, 0.42);
  --card-border: rgba(255, 255, 255, 0.65);
  --card-shadow: 0 8px 40px rgba(30, 50, 80, 0.08);
  --text: #0d0d0f;
  --text-secondary: #5c5c66;
  --text-tertiary: #8e8e93;
  --divider: rgba(0, 0, 0, 0.07);
  --row-hover: rgba(255, 255, 255, 0.45);
  --row-alt: rgba(255, 255, 255, 0.22);
  --today-bg: rgba(0, 122, 255, 0.1);
  --dropdown-bg: rgba(255, 255, 255, 0.82);
  --dropdown-shadow: 0 12px 48px rgba(20, 40, 70, 0.14), 0 0 0 1px rgba(255, 255, 255, 0.6);
  --filter-border: rgba(0, 0, 0, 0.1);
  --dashed-border: rgba(0, 0, 0, 0.14);
  --header-icon: #636366;
  --header-icon-active: #1c1c1e;
  --table-header: #636366;
  --table-border: rgba(0, 0, 0, 0.06);
  --header-bg: rgba(255, 255, 255, 0.45);
  --accent: #007aff;
  --accent-hover: #0066d6;
  --accent-light: rgba(0, 122, 255, 0.14);
  --auth-modal-radius: 24px;
  --auth-control-radius: 12px;
  --glass-blur: blur(28px) saturate(185%);
  /* Inset по верху на светлой карточе даёт заметную грань у скругления — оставляем едва заметный */
  --glass-shine: inset 0 1px 0 rgba(255, 255, 255, 0.55);
}

[data-style="glass"][data-theme="dark"] {
  --bg: rgba(18, 20, 28, 0.4);
  --card-bg: rgba(28, 28, 34, 0.48);
  --card-border: rgba(255, 255, 255, 0.14);
  --card-shadow: 0 12px 48px rgba(0, 0, 0, 0.35);
  --text: #f5f5f7;
  --text-secondary: #a1a1a6;
  --text-tertiary: #6e6e73;
  --divider: rgba(255, 255, 255, 0.09);
  --row-hover: rgba(255, 255, 255, 0.08);
  --row-alt: rgba(255, 255, 255, 0.035);
  --today-bg: rgba(10, 132, 255, 0.18);
  --dropdown-bg: rgba(36, 38, 48, 0.82);
  --dropdown-shadow: 0 16px 56px rgba(0, 0, 0, 0.55), 0 0 0 1px rgba(255, 255, 255, 0.08);
  --filter-border: rgba(255, 255, 255, 0.12);
  --dashed-border: rgba(255, 255, 255, 0.16);
  --header-icon: #98989d;
  --header-icon-active: #fff;
  --table-header: #98989d;
  --table-border: rgba(255, 255, 255, 0.07);
  --header-bg: rgba(22, 24, 32, 0.55);
  --accent: #0a84ff;
  --accent-hover: #409cff;
  --accent-light: rgba(10, 132, 255, 0.22);
  --auth-modal-radius: 24px;
  --auth-control-radius: 12px;
  --glass-blur: blur(32px) saturate(190%);
  --glass-shine: inset 0 1px 0 rgba(255, 255, 255, 0.12);
}

[data-style="glass"],
[data-style="glass"] body {
  font-family: 'Segoe UI Variable', 'Segoe UI', 'Inter', system-ui, sans-serif !important;
  font-size: 13.5px !important;
  line-height: 1.45 !important;
}

/* Карточки сайдбара — стекло; таблица без backdrop (Chromium: артефакты с sticky thead + overflow) */
[data-style="glass"] .card {
  background: color-mix(in srgb, var(--card-bg) 78%, transparent) !important;
  backdrop-filter: var(--glass-blur) !important;
  -webkit-backdrop-filter: var(--glass-blur) !important;
  border-radius: 20px !important;
  border: 1px solid color-mix(in srgb, var(--card-border) 85%, transparent) !important;
  box-shadow: var(--card-shadow), var(--glass-shine) !important;
}

[data-style="glass"] .table-card {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  background: color-mix(in srgb, var(--card-bg) 88%, rgba(255, 255, 255, 0.08)) !important;
  border-radius: 20px !important;
  border: 1px solid color-mix(in srgb, var(--card-border) 85%, transparent) !important;
  box-shadow: var(--card-shadow), var(--glass-shine) !important;
  isolation: isolate;
}

/* Hover: не подмешивать жёсткую тень из themes.css (.card:hover) */
[data-style="glass"] .card:hover {
  box-shadow: var(--card-shadow), var(--glass-shine), 0 4px 16px rgba(0, 0, 0, 0.08) !important;
}
[data-style="glass"][data-theme="dark"] .card:hover {
  box-shadow: var(--card-shadow), var(--glass-shine), 0 4px 16px rgba(0, 0, 0, 0.35) !important;
}

@supports not (background: color-mix(in srgb, white 50%, transparent)) {
  [data-style="glass"] .card,
  [data-style="glass"] .table-card {
    background: var(--card-bg) !important;
  }
}

[data-style="glass"][data-theme="dark"] .table-card {
  background: color-mix(in srgb, var(--card-bg) 90%, rgba(0, 0, 0, 0.15)) !important;
}

[data-style="glass"] .data-table thead th {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  background: color-mix(in srgb, var(--card-bg) 94%, rgba(255, 255, 255, 0.06)) !important;
}

[data-style="glass"][data-theme="dark"] .data-table thead th {
  background: color-mix(in srgb, var(--card-bg) 94%, rgba(0, 0, 0, 0.2)) !important;
}

[data-style="glass"] .header {
  background: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

[data-style="glass"] .right-col {
  isolation: isolate;
  /* table.css: overflow-x: clip на узком экране — обрезает тень .table-card */
  overflow-x: visible;
}

[data-style="glass"] .site-footer {
  background: color-mix(in srgb, var(--card-bg) 75%, transparent) !important;
  backdrop-filter: var(--glass-blur) !important;
  -webkit-backdrop-filter: var(--glass-blur) !important;
  border-top: 1px solid var(--card-border) !important;
}

/* Иконка лупы — выше слоя инпута (у Glass фон input непрозрачный и иначе закрывает лупу) */
[data-style="glass"] .search-wrap { position: relative; }
[data-style="glass"] .search-icon {
  z-index: 2 !important;
  color: var(--text-secondary) !important;
}
[data-style="glass"] .search-input {
  position: relative;
  z-index: 1;
}
[data-style="glass"] .search-clear {
  z-index: 2;
}

[data-style="glass"] .search-input,
[data-style="glass"] .filter-btn,
[data-style="glass"] .density-btn,
[data-style="glass"] .sort-price-btn {
  border-radius: 12px !important;
  background: rgba(255, 255, 255, 0.08) !important;
}

[data-style="glass"] .density-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  box-sizing: border-box !important;
}
[data-style="glass"] .density-btn svg {
  display: block !important;
  margin: 0 !important;
  flex-shrink: 0 !important;
}

[data-style="glass"][data-theme="light"] .search-input,
[data-style="glass"][data-theme="light"] .filter-btn,
[data-style="glass"][data-theme="light"] .density-btn,
[data-style="glass"][data-theme="light"] .sort-price-btn {
  background: rgba(255, 255, 255, 0.35) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
}

[data-style="glass"] .filter-btn.active,
[data-style="glass"] .density-btn.active,
[data-style="glass"] .pd-period-btn.active,
[data-style="glass"] .anomaly-limit-btn.active {
  background: var(--accent) !important;
  border-color: var(--accent) !important;
  color: #fff !important;
}

[data-style="glass"] .pd-period-btn.active,
[data-style="glass"] .anomaly-limit-btn.active {
  color: #fff !important;
}

[data-style="glass"] .user-menu,
[data-style="glass"] .dd-list,
[data-style="glass"] .theme-panel {
  backdrop-filter: var(--glass-blur) !important;
  -webkit-backdrop-filter: var(--glass-blur) !important;
}

/*
 * Меню профиля: в токенах Glass --card-border светлый, --row-hover белый на полупрозрачном
 * фоне — линии разделителей и hover сливаются с подложкой (в Circle границы тёмные).
 */
[data-style="glass"][data-theme="light"] .user-menu {
  border-color: rgba(0, 0, 0, 0.12);
}
[data-style="glass"][data-theme="light"] .user-menu__header {
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
[data-style="glass"][data-theme="light"] .user-menu__divider {
  background: rgba(0, 0, 0, 0.1);
}
[data-style="glass"][data-theme="light"] .user-menu__item:hover {
  background: rgba(0, 0, 0, 0.06);
}

[data-style="glass"][data-theme="dark"] .user-menu {
  border-color: rgba(255, 255, 255, 0.16);
}
[data-style="glass"][data-theme="dark"] .user-menu__header {
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}
[data-style="glass"][data-theme="dark"] .user-menu__divider {
  background: rgba(255, 255, 255, 0.12);
}
[data-style="glass"][data-theme="dark"] .user-menu__item:hover {
  background: rgba(255, 255, 255, 0.1);
}

/* Уведомления: плотнее фон, иначе текст теряется на таблице */
[data-style="glass"] .notif-dd {
  background: color-mix(in srgb, var(--dropdown-bg) 94%, white) !important;
  backdrop-filter: blur(40px) saturate(200%) !important;
  -webkit-backdrop-filter: blur(40px) saturate(200%) !important;
}
[data-style="glass"][data-theme="dark"] .notif-dd {
  background: color-mix(in srgb, var(--dropdown-bg) 92%, #0a0a0c) !important;
}

[data-style="glass"] .icon-circle { border-radius: 12px !important; }
[data-style="glass"] .icon-circle.blue { background: var(--accent) !important; }
[data-style="glass"] .icon-circle.green { background: #34c759 !important; }
[data-style="glass"] .icon-circle.purple { background: #af52de !important; }
[data-style="glass"] .icon-circle.orange { background: #ff9500 !important; }

[data-style="glass"] .bell-btn,
[data-style="glass"] .theme-trigger,
[data-style="glass"] .user-btn { border-radius: 12px !important; }
[data-style="glass"] .user-btn.logged-in {
  background: var(--accent) !important;
}

[data-style="glass"] .rate-row.today::before { background: var(--accent) !important; }
[data-style="glass"] .rate-row.today .label-name { color: var(--accent) !important; }

[data-style="glass"] .anomaly-badge {
  border-radius: 8px !important;
  color: #ff3b30 !important;
  background: rgba(255, 59, 48, 0.12) !important;
}
/* Как Circle: те же красный/зелёный, что у динамики цен */
[data-style="glass"] .pd-delta.up { color: #ff3b30 !important; }
[data-style="glass"] .pd-delta.down { color: #34c759 !important; }
[data-style="glass"] .reset-btn { color: #ff3b30 !important; }

[data-style="glass"] .cabinet-overlay {
  backdrop-filter: blur(20px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(20px) saturate(180%) !important;
  background: rgba(0, 0, 0, 0.42) !important;
}

[data-style="glass"] .cabinet-panel {
  background: color-mix(in srgb, var(--dropdown-bg) 88%, transparent) !important;
  backdrop-filter: var(--glass-blur) !important;
  -webkit-backdrop-filter: var(--glass-blur) !important;
  border-radius: 20px 0 0 20px !important;
  border-left: 1px solid var(--card-border) !important;
  box-shadow: -24px 0 64px rgba(0, 0, 0, 0.2) !important;
}

[data-style="glass"] .cabinet-tab { border-radius: 12px !important; }
[data-style="glass"] .cabinet-tab.active {
  background: var(--accent-light) !important;
  color: var(--text) !important;
}
[data-style="glass"] .cabinet-tab.active::before {
  display: none !important;
}

[data-style="glass"] .cab-tab-icon {
  width: 28px !important;
  height: 28px !important;
  border-radius: 50% !important;
  background: transparent !important;
}
[data-style="glass"] .cab-tab-icon svg {
  color: var(--text-secondary) !important;
}
[data-style="glass"] .cabinet-tab:hover:not(.active) .cab-tab-icon {
  background: var(--row-hover) !important;
}
[data-style="glass"] .cabinet-tab.active .cab-tab-icon {
  background: var(--accent) !important;
}
[data-style="glass"] .cabinet-tab.active .cab-tab-icon svg { color: #fff !important; }

[data-style="glass"] .cab-save-btn {
  border-radius: 14px !important;
  background: var(--accent) !important;
  color: #fff !important;
}

[data-style="glass"] .cab-toggle.on { background: #34c759 !important; }

[data-style="glass"] .cab-density-group,
[data-style="glass"] .cab-theme-group,
[data-style="glass"] .cab-style-group,
[data-style="glass"] .cab-glass-bg-grid {
  border-radius: 14px !important;
  padding: 4px !important;
  background: var(--row-alt) !important;
  border: 1px solid var(--card-border) !important;
  overflow: hidden !important;
}

[data-style="glass"] .cab-type-toggle {
  border-radius: 14px !important;
  padding: 4px !important;
  gap: 6px !important;
  background: var(--row-alt) !important;
  border: 1px solid var(--card-border) !important;
  overflow: visible !important;
}

[data-style="glass"] .cab-type-btn {
  border-radius: 10px !important;
  border: none !important;
  background: transparent !important;
}
[data-style="glass"] .cab-type-btn.active {
  background: var(--accent) !important;
  color: #fff !important;
  box-shadow: 0 2px 12px rgba(0, 122, 255, 0.35) !important;
}
[data-style="glass"] .cab-type-btn:not(.active):hover {
  background: var(--row-hover) !important;
  color: var(--text) !important;
}

[data-style="glass"] .cab-style-pill.active,
[data-style="glass"] .cab-theme-pill.active,
[data-style="glass"] .cab-density-pill.active {
  background: var(--accent) !important;
  color: #fff !important;
  border-color: transparent !important;
  box-shadow: 0 2px 12px rgba(0, 122, 255, 0.35) !important;
}

[data-style="glass"] .cab-theme-pill:not(.active),
[data-style="glass"] .cab-style-pill:not(.active),
[data-style="glass"] .cab-density-pill:not(.active) {
  border-color: transparent !important;
  background: transparent !important;
}
[data-style="glass"] .cab-theme-pill:not(.active):hover,
[data-style="glass"] .cab-style-pill:not(.active):hover,
[data-style="glass"] .cab-density-pill:not(.active):hover {
  background: var(--row-hover) !important;
  color: var(--text) !important;
}

[data-style="glass"] .cab-glass-bg-btn {
  flex: 1;
  min-width: 0;
  aspect-ratio: 1.15;
  border-radius: 12px !important;
  border: 2px solid transparent !important;
  cursor: pointer;
  padding: 0 !important;
  position: relative;
  overflow: hidden;
  transition: transform 0.15s ease, box-shadow 0.2s ease;
}

[data-style="glass"] .cab-glass-bg-btn:hover {
  transform: scale(1.02);
}

[data-style="glass"] .cab-glass-bg-btn.active {
  border-color: var(--accent) !important;
  box-shadow: 0 0 0 2px var(--accent-light) !important;
}

[data-style="glass"] .cab-glass-bg-btn__preview {
  position: absolute;
  inset: 0;
  border-radius: 10px;
}

[data-style="glass"] .cab-colvis-group {
  border-radius: 14px !important;
  border-color: var(--card-border) !important;
}

[data-style="glass"] .auth-modal,
[data-style="glass"] .report-modal,
[data-style="glass"] .chart-modal {
  border-radius: var(--auth-modal-radius) !important;
  background: color-mix(in srgb, var(--dropdown-bg) 90%, transparent) !important;
  backdrop-filter: var(--glass-blur) !important;
  -webkit-backdrop-filter: var(--glass-blur) !important;
}

[data-style="glass"] .dropzone {
  border-radius: 14px !important;
  background: rgba(255, 255, 255, 0.04) !important;
}

[data-style="glass"][data-theme="light"] .dropzone {
  background: rgba(255, 255, 255, 0.25) !important;
}

[data-style="glass"] .watch-card { border-radius: 18px !important; }

[data-style="glass"] .admin-nav,
[data-style="glass"] .admin-pane,
[data-style="glass"] .admin-stat,
[data-style="glass"] .admin-table,
[data-style="glass"] .api-card {
  border-radius: 18px !important;
  backdrop-filter: var(--glass-blur) !important;
  -webkit-backdrop-filter: var(--glass-blur) !important;
}

[data-style="glass"] .verify-card,
[data-style="glass"] .reset-card {
  background: color-mix(in srgb, var(--card-bg) 82%, transparent) !important;
  backdrop-filter: var(--glass-blur) !important;
  -webkit-backdrop-filter: var(--glass-blur) !important;
  border-radius: var(--auth-modal-radius) !important;
  border: 1px solid color-mix(in srgb, var(--card-border) 80%, transparent) !important;
  box-shadow: var(--card-shadow), var(--glass-shine) !important;
}

html[data-style="glass"] ::selection {
  background: rgba(0, 122, 255, 0.28);
}

html[data-style="glass"][data-theme="dark"] ::selection {
  background: rgba(10, 132, 255, 0.35);
}
