/* ============================================================================
 * STOXMAN QUANT — «Fayz» qatlami: kayfiyat, porlash va harakat (stoxman-polish.css dan KEYIN yuklanadi; sidebar.php ulaydi).
 * Hamma rang --accent-rgb dan olinadi (mavzuga moslashadi). Sinflar `mo-` bilan boshlanadi (`ad-*` reklama bloklovchi yashiradi — ishlatilmaydi).
 * Qoidalar: faqat transform/opacity animatsiya qilinadi, `prefers-reduced-motion` da hammasi o'chadi, JS ishlamasa kontent yashirin qolmaydi
 * (yashirish faqat html.mo-on da, uni stoxman-motion.js qo'yadi).
 * ========================================================================== */

:root {
  --mo-ease: cubic-bezier(.16, 1, .3, 1);
  --mo-a: var(--accent-rgb, 99, 102, 241);
  --mo-b: 168, 85, 247;
  --mo-c: 245, 158, 11;
  --mo-px: 0;
  --mo-py: 0;
}
/* Kursor koordinatalari ildizda o'zgaradi: ro'yxatdan o'tkazilgan va meros olinmaydigan xossa — butun daraxt qayta hisoblanmaydi */
@property --mo-px { syntax: '<number>'; inherits: false; initial-value: 0; }
@property --mo-py { syntax: '<number>'; inherits: false; initial-value: 0; }
[data-theme="cyber"] { --mo-b: 56, 189, 248; --mo-c: 20, 184, 166; }
[data-theme="midnight"] { --mo-b: 236, 72, 153; --mo-c: 99, 102, 241; }
[data-theme="emerald"] { --mo-b: 45, 212, 191; --mo-c: 250, 204, 21; }
[data-theme="aurum"] { --mo-b: 251, 146, 60; --mo-c: 253, 224, 71; }
[data-theme="rose"] { --mo-b: 192, 132, 252; --mo-c: 251, 191, 36; }
[data-theme="ember"] { --mo-b: 250, 204, 21; --mo-c: 244, 63, 94; }

/* ---------- Yangi mavzular (sidebar.php dagi o'zgaruvchilar to'plami bilan bir xil; `html[...]` — sidebar.php ichidagi keyinroq kelgan :root qoidasi ustidan g'olib bo'lish uchun) ---------- */
html[data-theme="aurum"] {
  --theme-name: 'aurum';
  --bg: #0b0803; --bg-panel: #16100a; --bg-card: rgba(32, 23, 11, 0.8); --bg-card-sub: rgba(14, 9, 3, 0.6); --bg-input: rgba(245, 179, 1, 0.06);
  --border: rgba(245, 179, 1, 0.18); --border-hover: rgba(245, 179, 1, 0.45);
  --accent: #f5b301; --accent-rgb: 245, 179, 1; --accent-glow: rgba(245, 179, 1, 0.42);
  --gold: #fcd34d; --gold-glow: rgba(252, 211, 77, 0.4); --green: #34d399; --green-glow: rgba(52, 211, 153, 0.35);
  --cyan: #fbbf24; --purple: #fb923c;
  --text: #fffbeb; --text-dim: #cdb98a; --text-muted: #85704a;
  --sidebar-bg: rgba(18, 12, 5, 0.96); --sidebar-border: rgba(245, 179, 1, 0.22);
}
html[data-theme="rose"] {
  --theme-name: 'rose';
  --bg: #12060b; --bg-panel: #1d0a13; --bg-card: rgba(44, 15, 28, 0.8); --bg-card-sub: rgba(20, 6, 12, 0.6); --bg-input: rgba(251, 79, 123, 0.07);
  --border: rgba(251, 79, 123, 0.2); --border-hover: rgba(251, 79, 123, 0.46);
  --accent: #fb4f7b; --accent-rgb: 251, 79, 123; --accent-glow: rgba(251, 79, 123, 0.42);
  --gold: #fbbf24; --gold-glow: rgba(251, 191, 36, 0.35); --green: #34d399; --green-glow: rgba(52, 211, 153, 0.35);
  --cyan: #f472b6; --purple: #c084fc;
  --text: #fff1f5; --text-dim: #d9a8b9; --text-muted: #8a5668;
  --sidebar-bg: rgba(24, 8, 16, 0.96); --sidebar-border: rgba(251, 79, 123, 0.22);
}
html[data-theme="ember"] {
  --theme-name: 'ember';
  --bg: #100703; --bg-panel: #1a0d05; --bg-card: rgba(40, 20, 9, 0.8); --bg-card-sub: rgba(18, 8, 3, 0.6); --bg-input: rgba(255, 122, 69, 0.07);
  --border: rgba(255, 122, 69, 0.2); --border-hover: rgba(255, 122, 69, 0.46);
  --accent: #ff7a45; --accent-rgb: 255, 122, 69; --accent-glow: rgba(255, 122, 69, 0.42);
  --gold: #fbbf24; --gold-glow: rgba(251, 191, 36, 0.35); --green: #34d399; --green-glow: rgba(52, 211, 153, 0.35);
  --cyan: #fb923c; --purple: #f472b6;
  --text: #fff4ec; --text-dim: #d8b09a; --text-muted: #89604a;
  --sidebar-bg: rgba(22, 11, 4, 0.96); --sidebar-border: rgba(255, 122, 69, 0.22);
}

/* ============================== 1) Atmosfera ============================== */
/* Orqa fon: sekin suzuvchi rang dog'lari (aurora) + miltillovchi yulduzchalar. html::before/after — DOM ga tegmaydi. */
html.mo-on { background: var(--bg); }
html.mo-on body { background: transparent; }
html.mo-on::before, html.mo-on::after { content: ''; position: fixed; pointer-events: none; z-index: -1; }
html.mo-on::before {
  inset: -22%;
  background:
    radial-gradient(44% 40% at 16% 10%, rgba(var(--mo-a), .50), transparent 70%),
    radial-gradient(40% 38% at 88% 14%, rgba(var(--mo-b), .34), transparent 70%),
    radial-gradient(46% 40% at 72% 94%, rgba(var(--mo-c), .24), transparent 72%),
    radial-gradient(36% 32% at 4% 88%, rgba(var(--mo-b), .26), transparent 72%),
    radial-gradient(60% 30% at 50% 0%, rgba(var(--mo-a), .16), transparent 70%);
  translate: calc(var(--mo-px) * -18px) calc(var(--mo-py) * -14px);
  animation: moDrift 46s ease-in-out infinite alternate;
}
html.mo-on::after {
  inset: 0;
  opacity: .55;
  background-image:
    radial-gradient(1.2px 1.2px at 12% 22%, rgba(255, 255, 255, .55), transparent 100%),
    radial-gradient(1px 1px at 34% 68%, rgba(255, 255, 255, .4), transparent 100%),
    radial-gradient(1.4px 1.4px at 58% 14%, rgba(var(--mo-a), .9), transparent 100%),
    radial-gradient(1px 1px at 81% 46%, rgba(255, 255, 255, .45), transparent 100%),
    radial-gradient(1.2px 1.2px at 92% 82%, rgba(var(--mo-c), .8), transparent 100%),
    radial-gradient(1px 1px at 47% 91%, rgba(255, 255, 255, .4), transparent 100%),
    radial-gradient(1.2px 1.2px at 69% 33%, rgba(255, 255, 255, .35), transparent 100%);
  background-size: 520px 520px;
  translate: calc(var(--mo-px) * -8px) calc(var(--mo-py) * -6px);
  animation: moTwinkle 7s ease-in-out infinite;
  -webkit-mask-image: linear-gradient(to bottom, #000, rgba(0, 0, 0, .35));
  mask-image: linear-gradient(to bottom, #000, rgba(0, 0, 0, .35));
}
@keyframes moDrift {
  0% { transform: translate3d(-2%, -1%, 0) scale(1); }
  50% { transform: translate3d(2.5%, 2%, 0) scale(1.06); }
  100% { transform: translate3d(-1.5%, 3%, 0) scale(1.02); }
}
@keyframes moTwinkle { 0%, 100% { opacity: .3; } 50% { opacity: .65; } }

/* Sahifa sarlavhasi shaffof-xira (aurora ko'rinsin), kartalar esa biroz shaffof */
html.mo-on .main-content > .header, html.mo-on .main-wrapper > .header {
  background: rgba(var(--mo-bg-rgb, 8, 12, 20), .62);
  -webkit-backdrop-filter: blur(14px) saturate(1.3); backdrop-filter: blur(14px) saturate(1.3);
}
[data-theme="obsidian"] { --mo-bg-rgb: 5, 9, 20; }
[data-theme="cyber"] { --mo-bg-rgb: 2, 11, 24; }
[data-theme="midnight"] { --mo-bg-rgb: 9, 5, 22; }
[data-theme="emerald"] { --mo-bg-rgb: 2, 18, 11; }
[data-theme="aurum"] { --mo-bg-rgb: 11, 8, 3; }
[data-theme="rose"] { --mo-bg-rgb: 18, 6, 11; }
[data-theme="ember"] { --mo-bg-rgb: 16, 7, 3; }

/* ============================== 2) Kirish animatsiyasi ============================== */
/* Faqat html.mo-on da yashiriladi; JS .mo-in qo'shgach ko'rinadi. 3 soniyadan keyin JS baribir hammasini ochadi (failsafe). */
/* html.mo-boot: sahifa ochilgan zahoti (JS ishga tushguncha) kartalar yashirin — miltillash bo'lmasin; JS bir kadrda uni .mo-rv ga almashtiradi */
html.mo-boot :is(.panel, .idx, .kpi, .su, .mkt-card, .sub-card, .card, .px-card, .ui-card, .ui-k, .ist-card, .rs-kpi, .sub-status, .table-card, .stat-card, .kpi-card, .tl, .hero-right > *) { opacity: 0; }
html.mo-on .mo-rv { opacity: 0; transform: translate3d(0, 16px, 0) scale(.985); }
html.mo-on .mo-rv.mo-in { animation: moRise .7s var(--mo-ease) backwards; animation-delay: var(--mo-d, 0ms); }
html.mo-on .mo-rv.mo-fast.mo-in { animation-duration: .45s; }
@keyframes moRise { from { opacity: 0; transform: translate3d(0, 16px, 0) scale(.985); } to { opacity: 1; transform: none; } }
html.mo-on .header h2, html.mo-on .hero h2 { animation: moTitle .8s var(--mo-ease) backwards; }
@keyframes moTitle { from { opacity: 0; transform: translate3d(-10px, 0, 0); letter-spacing: .02em; } to { opacity: 1; transform: none; } }

/* Chap menyu: bandlar ketma-ket suzib kiradi */
html.mo-on .sb-nav > .sb-sec > * { animation: moSide .6s var(--mo-ease) backwards; animation-delay: calc(var(--mo-i, 0) * 38ms + 90ms); }
@keyframes moSide { from { opacity: 0; transform: translate3d(-14px, 0, 0); } to { opacity: 1; transform: none; } }

/* Sahifalar orasida silliq o'tish (Chrome/Edge/Safari 18+ — bo'lmasa oddiy o'tish) */
@view-transition { navigation: auto; }
html .sidebar.sb { view-transition-name: mo-sidebar; }
::view-transition-group(mo-sidebar) { animation-duration: 0s; }
::view-transition-old(root) { animation: moFadeOut .16s ease both; }
::view-transition-new(root) { animation: moFadeIn .34s var(--mo-ease) both; }
@keyframes moFadeOut { to { opacity: 0; } }
@keyframes moFadeIn { from { opacity: 0; transform: translate3d(0, 8px, 0); } to { opacity: 1; transform: none; } }
/* Mavzu almashtirilganda: bosilgan joydan doira kengayadi */
html.mo-themeswap::view-transition-old(root) { animation: none; }
html.mo-themeswap::view-transition-new(root) { animation: moReveal .75s var(--mo-ease) both; }
@keyframes moReveal { from { clip-path: circle(0 at var(--mo-cx, 50%) var(--mo-cy, 50%)); } to { clip-path: circle(150vmax at var(--mo-cx, 50%) var(--mo-cy, 50%)); } }

/* ============================== 3) Kartalar: ko'tarilish va yoritgich ============================== */
.mo-spot, .mo-hov { transition: transform .35s var(--mo-ease), border-color .25s, box-shadow .3s; }
.mo-spot:hover, .mo-hov:hover { border-color: rgba(var(--mo-a), .42); box-shadow: 0 0 0 1px rgba(var(--mo-a), .12), 0 18px 48px -18px rgba(var(--mo-a), .5); }
/* Yoritgich faqat o'z fon rasmi yo'q kartalarda (JS .mo-spot ni shunday kartalarga beradi) — boshqalarning gradienti buzilmaydi */
.mo-spot:hover { background-image: radial-gradient(340px circle at var(--mx, 50%) var(--my, 0%), rgba(var(--mo-a), .16), transparent 62%); }
@media (hover: hover) { .mo-lift:hover { transform: translate3d(0, -3px, 0); } }

/* ============================== 4) Tugmalar: yaltirash va to'lqin ============================== */
.ubf-btn:not(.sec), .sub-btn.pri, .btn-primary, .pf-save, .cmd-btn.pri { position: relative; overflow: hidden; }
.ubf-btn:not(.sec)::after, .pf-save::after { content: ''; position: absolute; top: 0; bottom: 0; left: -60%; width: 40%; pointer-events: none;
  background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .34), transparent); transform: skewX(-18deg); opacity: 0; }
.ubf-btn:not(.sec):hover::after, .pf-save:hover::after { opacity: 1; animation: moSheen .8s var(--mo-ease); }
@keyframes moSheen { from { left: -60%; } to { left: 130%; } }
.mo-ripple { position: absolute; border-radius: 50%; pointer-events: none; background: rgba(255, 255, 255, .4); transform: scale(0); animation: moRipple .65s ease-out forwards; }
@keyframes moRipple { to { transform: scale(1); opacity: 0; } }
button:not(:disabled):active, .ubf-btn:active, .chip:active { transform: scale(.97); }

/* ============================== 5) Chap menyu va brend ============================== */
html .sb-item { transition: background .2s, color .2s, transform .25s var(--mo-ease), box-shadow .25s; }
@media (hover: hover) { html .sb-item:hover { transform: translate3d(3px, 0, 0); } html .sb-item.active:hover { transform: none; } }
/* Brend: yorug'lik chizig'i so'z belgisi ustidan o'tadi, logotip nafas oladi */
html .sb-brand-txt b { background-size: 220% 100%; background-image: linear-gradient(95deg, var(--hi, #fff) 30%, color-mix(in srgb, var(--accent, #6366f1) 55%, var(--hi, #fff)) 48%, var(--hi, #fff) 62%); animation: moShine 7s linear infinite; }
@keyframes moShine { from { background-position: 120% 0; } to { background-position: -100% 0; } }
html .sb-logo { animation: moBreathe 5.5s ease-in-out infinite; }
@keyframes moBreathe { 0%, 100% { box-shadow: 0 0 0 1px rgba(var(--mo-a), .55), 0 0 20px rgba(var(--mo-a), .5), 0 0 46px rgba(var(--mo-a), .24), inset 0 1px 0 rgba(255, 255, 255, .22); } 50% { box-shadow: 0 0 0 1px rgba(var(--mo-a), .75), 0 0 30px rgba(var(--mo-a), .78), 0 0 70px rgba(var(--mo-a), .38), inset 0 1px 0 rgba(255, 255, 255, .3); } }
html .sb-item.active::before { animation: moGlowBar 3.2s ease-in-out infinite; }
@keyframes moGlowBar { 0%, 100% { box-shadow: 0 0 10px 0 var(--accent, #6366f1); } 50% { box-shadow: 0 0 20px 3px var(--accent, #6366f1); } }

/* Mavzu tanlagichi: 7 ta nuqta sig'sin */
.sb-themes { gap: 6px; flex-wrap: nowrap; justify-content: flex-end; }
.sb-themes button { width: 15px; height: 15px; flex: 0 0 auto; }
.sb-themes button.active { transform: scale(1.18); }

/* ============================== 6) Kichik jonlantirishlar ============================== */
.live-dot, .sb-live, .stx-mkt.open .d { animation: moPing 2.2s ease-out infinite; }
@keyframes moPing { 0% { box-shadow: 0 0 0 0 rgba(16, 185, 129, .6); } 70%, 100% { box-shadow: 0 0 0 8px rgba(16, 185, 129, 0); } }
.stx-toast { animation: moToast .5s var(--mo-ease) both; }
@keyframes moToast { from { opacity: 0; transform: translate3d(0, 14px, 0) scale(.94); } to { opacity: 1; transform: none; } }
.stx-pal { animation: moPal .38s var(--mo-ease) both; }
@keyframes moPal { from { opacity: 0; transform: translate3d(0, -10px, 0) scale(.97); } to { opacity: 1; transform: none; } }
.stx-pal-item { transition: background .15s, transform .2s var(--mo-ease); }
.stx-pal-item.sel { transform: translate3d(3px, 0, 0); }
.skel, [class*="skeleton"] { position: relative; overflow: hidden; }
::selection { background: rgba(var(--mo-a), .38); color: #fff; }
html { scrollbar-color: rgba(var(--mo-a), .35) transparent; }
::-webkit-scrollbar-thumb:hover { background: rgba(var(--mo-a), .55); }

/* ============================== 7) Kirish intro (bir tab sessiyasida bir marta, dashboard ochilganda) ============================== */
.mo-intro { position: fixed; inset: 0; z-index: 100000; display: grid; place-items: center; cursor: pointer;
  background: radial-gradient(60% 60% at 50% 46%, rgba(var(--mo-a), .34), transparent 70%), radial-gradient(40% 40% at 70% 70%, rgba(var(--mo-b), .2), transparent 70%), var(--bg, #030712);
  animation: moIntroBg 2.25s cubic-bezier(.4, 0, .2, 1) forwards; }
.mo-intro.out { animation: moIntroOut .55s ease forwards; }
@keyframes moIntroBg { 0%, 78% { opacity: 1; } 100% { opacity: 0; visibility: hidden; } }
@keyframes moIntroOut { to { opacity: 0; visibility: hidden; } }
.mo-intro-core { position: relative; display: grid; place-items: center; width: min(94vw, 860px); }
.mo-intro-core img { position: relative; width: 100%; height: auto; filter: drop-shadow(0 0 26px rgba(var(--mo-a), .85)); animation: moLogoIn 1.15s cubic-bezier(.16, 1, .3, 1) both; }
.mo-intro-core i { position: absolute; left: 50%; top: 50%; width: 120px; height: 120px; margin: -60px 0 0 -60px; border-radius: 50%; border: 1.5px solid rgba(var(--mo-a), .7); opacity: 0; animation: moRing 1.7s cubic-bezier(.2, .7, .2, 1) .15s forwards; }
.mo-intro-core i:nth-of-type(2) { border-color: rgba(var(--mo-c), .6); animation-delay: .42s; }
.mo-intro-core b { display: block; height: 2px; width: 0; margin-top: 18px; border-radius: 2px; background: linear-gradient(90deg, transparent, rgb(var(--mo-a)), rgb(var(--mo-c)), transparent); box-shadow: 0 0 16px rgba(var(--mo-a), .9); animation: moLineGrow 1s cubic-bezier(.16, 1, .3, 1) .55s forwards; }
@keyframes moLogoIn { from { opacity: 0; transform: scale(.82); filter: blur(14px) drop-shadow(0 0 0 transparent); } to { opacity: 1; transform: none; } }
@keyframes moRing { 0% { transform: scale(.4); opacity: .9; } 100% { transform: scale(5.5); opacity: 0; } }
@keyframes moLineGrow { to { width: 78%; } }

.mo-intro-core u { position: absolute; left: 50%; top: 50%; width: 7px; height: 7px; margin: -3.5px 0 0 -3.5px; border-radius: 50%; pointer-events: none; opacity: 0;
  background: rgb(var(--mo-c)); box-shadow: 0 0 14px 3px rgba(var(--mo-a), .95); animation: moBurst 1.3s cubic-bezier(.15, .8, .25, 1) forwards; }
.mo-intro-core u:nth-of-type(3n) { background: #fff; width: 4px; height: 4px; } .mo-intro-core u:nth-of-type(3n+1) { background: rgb(var(--mo-a)); }
@keyframes moBurst { 0% { opacity: 1; transform: translate3d(0, 0, 0) scale(1.4); } 100% { opacity: 0; transform: translate3d(var(--bx), var(--by), 0) scale(.2); } }
.mo-intro-hi { position: absolute; top: calc(100% + 26px); left: 0; right: 0; margin: 0; text-align: center; font-size: clamp(17px, 2.4vw, 24px); font-weight: 600; letter-spacing: .01em; color: rgba(255, 255, 255, .78); opacity: 0; animation: moHi .8s var(--mo-ease) .78s forwards; }
.mo-intro-hi strong { font-weight: 800; background: linear-gradient(95deg, var(--hi, #fff), rgb(var(--mo-a)) 60%, rgb(var(--mo-c))); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
@keyframes moHi { from { opacity: 0; transform: translate3d(0, 10px, 0); filter: blur(6px); } to { opacity: 1; transform: none; filter: none; } }

/* ============================== 8) Bozor holatiga mos kayfiyat: fonning pastki-o'ng dog'i rangi ============================== */
html[data-mkt="open"] { --mo-c: 16, 185, 129; }
html[data-mkt="pre"] { --mo-c: 245, 158, 11; }
html[data-mkt="after"] { --mo-c: 168, 85, 247; }

/* ============================== 9) Aylanuvchi yorug' chegara (login, hero), CTA nafasi, ikonka sakrashi ============================== */
@property --moang { syntax: '<angle>'; initial-value: 0deg; inherits: false; }
@keyframes moSpin { to { --moang: 360deg; } }
.cmd-btn.primary { animation: moCta 3.6s ease-in-out infinite; }
@keyframes moCta { 0%, 100% { box-shadow: 0 6px 20px -6px rgba(var(--mo-a), .6); } 50% { box-shadow: 0 8px 34px -2px rgba(var(--mo-a), 1), 0 0 0 4px rgba(var(--mo-a), .16); } }
@media (hover: hover) { html .sb-item:hover .sb-ic .sb-svg { animation: moIcon .55s var(--mo-ease); } }
@keyframes moIcon { 0% { transform: none; } 40% { transform: translate3d(0, -3px, 0) scale(1.18) rotate(-6deg); } 100% { transform: none; } }
.sec.pop { animation: moPop .6s var(--mo-ease) backwards; animation-delay: calc(var(--i, 0) * 38ms + 120ms); }
@keyframes moPop { from { opacity: 0; transform: translate3d(0, 10px, 0) scale(.82); } to { opacity: 1; transform: none; } }

/* ============================== 10) Barcha sahifalar uchun umumiy bezak ============================== */
/* Sahifa sarlavhasi tagida yorug' chiziq: sahifa ochilganda chapdan o'ng yoyiladi, keyin sekin tovlanadi */
html.mo-on .main-content > .header, html.mo-on .main-wrapper > .header { position: relative; }
html.mo-on .main-content > .header::after, html.mo-on .main-wrapper > .header::after {
  content: ''; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; pointer-events: none; transform-origin: 0 50%;
  background: linear-gradient(90deg, transparent, rgb(var(--mo-a)) 18%, rgb(var(--mo-b)) 55%, rgb(var(--mo-c)) 82%, transparent);
  background-size: 200% 100%; box-shadow: 0 0 14px rgba(var(--mo-a), .7);
  animation: moLineIn 1.1s var(--mo-ease) backwards, moLineFlow 9s linear 1.1s infinite; }
@keyframes moLineIn { from { transform: scaleX(0); opacity: 0; } to { transform: none; opacity: 1; } }
@keyframes moLineFlow { to { background-position: -200% 0; } }
/* Faol tablar va chiplar yengil porlaydi */
.rs-tabs a.on, .rs-tabs a.active, .ui-tab.on, .tab.on, .chip.on, .chip.active, .cs-tabs .on { box-shadow: 0 0 20px -5px rgba(var(--mo-a), .75); }
.rs-tabs a, .ui-tab, .tab, .chip { transition: background .2s, color .2s, box-shadow .25s, transform .25s var(--mo-ease), border-color .2s; }
@media (hover: hover) { .rs-tabs a:hover, .ui-tab:hover, .tab:hover, .chip:hover { transform: translate3d(0, -1px, 0); } }
/* Jadval qatorlari birinchi ochilganda ketma-ket suzib kiradi (JS .mo-tr beradi); hover'da chap chiziq yonadi */
.mo-tr { animation: moRowIn .5s var(--mo-ease) backwards; animation-delay: calc(var(--mo-i, 0) * 32ms + 80ms); }
@keyframes moRowIn { from { opacity: 0; transform: translate3d(-10px, 0, 0); } to { opacity: 1; transform: none; } }
.sub-tbl tbody tr, .cs-tbl tbody tr, .ubf-tbl tbody tr, .scr-tbl tbody tr, .is-tbl tbody tr { transition: background .15s, box-shadow .2s; }
.sub-tbl tbody tr:hover, .cs-tbl tbody tr:hover, .ubf-tbl tbody tr:hover, .scr-tbl tbody tr:hover { box-shadow: inset 3px 0 0 rgb(var(--mo-a)); }
/* O'sish/pasayish raqamlari mayin porlaydi */
.up { text-shadow: 0 0 14px rgba(16, 185, 129, .35); }
.down { text-shadow: 0 0 14px rgba(239, 68, 68, .32); }
/* Bo'sh holatlar: mayin nafas oluvchi nur */
.empty, .ubf-empty, .sw-empty, .px-empty, .ap-empty, .td-empty, .hx-empty, .fl-empty, .ui-empty { animation: moEmpty 5s ease-in-out infinite; }
@keyframes moEmpty { 0%, 100% { box-shadow: inset 0 0 0 0 rgba(var(--mo-a), 0); } 50% { box-shadow: inset 0 0 38px -8px rgba(var(--mo-a), .22); } }
/* Skroll jarayoni: sahifa tepasida ingichka chiziq (faqat animation-timeline qo'llaydigan brauzerda) */
.mo-sp { position: fixed; top: 0; left: 0; right: 0; height: 2px; z-index: 99990; pointer-events: none; transform-origin: 0 50%; transform: scaleX(0);
  background: linear-gradient(90deg, rgb(var(--mo-a)), rgb(var(--mo-b)), rgb(var(--mo-c))); box-shadow: 0 0 10px rgba(var(--mo-a), .8); }
@supports (animation-timeline: scroll()) { .mo-sp { animation: moScroll linear both; animation-timeline: scroll(root block); } }
@keyframes moScroll { to { transform: scaleX(1); } }

/* ============================== 11) Kursor nuri va jonli skeletlar ============================== */
.mo-cursor { position: fixed; left: 0; top: 0; width: 560px; height: 560px; margin: -280px 0 0 -280px; border-radius: 50%; pointer-events: none; z-index: 6; opacity: 0; mix-blend-mode: screen;
  background: radial-gradient(circle, rgba(var(--mo-a), .11), rgba(var(--mo-a), .04) 40%, transparent 66%); transition: opacity .5s ease; will-change: transform; }
.mo-cursor.on { opacity: 1; }
.skel::after { content: ''; position: absolute; inset: 0; pointer-events: none; transform: translate3d(-100%, 0, 0); background: linear-gradient(100deg, transparent 25%, rgba(var(--mo-a), .16) 50%, transparent 75%); animation: moSkel 1.5s ease-in-out infinite; }
@keyframes moSkel { to { transform: translate3d(100%, 0, 0); } }

/* ============================== 12) Yon menyu: sarlavha va qidiruv tepada, hisob tugmasi pastda qotib turadi, o'rtadagi ro'yxat aylanadi ============================== */
/* Avval butun menyu aylanardi: past ekranda (1280×640, bo'limlar ochiq) hisob tugmasi, Telegram va mavzu ekrandan chiqib ketardi. */
html:not(.sb-collapsed) .sidebar.sb { overflow: hidden; }
html:not(.sb-collapsed) .sidebar.sb > .sb-top, html:not(.sb-collapsed) .sidebar.sb > .sb-search { flex: 0 0 auto; }
html:not(.sb-collapsed) .sidebar.sb > .sb-nav { flex: 1 1 auto; min-height: 0; overflow-y: auto; overflow-x: hidden; overscroll-behavior: contain; margin: 0 -12px; padding: 0 12px 8px;
  scrollbar-width: thin; scrollbar-color: rgba(var(--mo-a), .32) transparent;
  --mo-f1: 0px; --mo-f2: 0px; -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 var(--mo-f1), #000 calc(100% - var(--mo-f2)), transparent 100%); mask-image: linear-gradient(to bottom, transparent 0, #000 var(--mo-f1), #000 calc(100% - var(--mo-f2)), transparent 100%); }
html:not(.sb-collapsed) .sidebar.sb > .sb-nav > * { flex-shrink: 0; }
html:not(.sb-collapsed) .sidebar.sb > .sb-nav.mo-st { --mo-f1: 20px; }
html:not(.sb-collapsed) .sidebar.sb > .sb-nav.mo-sb { --mo-f2: 26px; }
html:not(.sb-collapsed) .sidebar.sb > .sb-nav::-webkit-scrollbar { width: 5px; }
html:not(.sb-collapsed) .sidebar.sb > .sb-nav::-webkit-scrollbar-thumb { background: rgba(var(--mo-a), .28); border-radius: 4px; }
html:not(.sb-collapsed) .sidebar.sb > .sb-nav::-webkit-scrollbar-thumb:hover { background: rgba(var(--mo-a), .5); }
html:not(.sb-collapsed) .sidebar.sb > .sb-bottom { position: relative; flex: 0 0 auto; margin-top: 0; padding: 12px 0 12px; border-top: 1px solid var(--border); background: transparent; }
@supports (height: 100dvh) { @media (max-width: 1024px) { .sidebar.sb { height: 100dvh; } } }
/* Hisob menyusi ostidagi bandlar ko'rinib qolmasin: shaffof emas, zich fon */
html .sb-menu { background: var(--bg-panel, #0b111e); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); }

/* ============================== 13) Yorug' mavzu («Yorug'») ============================== */
/* Haqiqiy yorug' palitra. Sahifalardagi oq/qora yarim shaffof ranglar --fg-rgb / --shade-rgb orqali, och rangli matnlar --c-* orqali shu yerda qayta aniqlanadi
   (to'q mavzularda ularning default qiymati o'zgarmaydi). */
html[data-theme="light"] {
  --theme-name: 'light'; color-scheme: light;
  --bg: #f3f5f8; --bg-panel: #ffffff; --bg-card: rgba(255, 255, 255, 0.9); --bg-card-sub: rgba(15, 23, 42, 0.04); --bg-input: rgba(15, 23, 42, 0.05);
  --border: rgba(15, 23, 42, 0.11); --border-hover: rgba(15, 23, 42, 0.26);
  --accent: #2563eb; --accent-rgb: 37, 99, 235; --accent-glow: rgba(37, 99, 235, 0.2);
  --gold: #d97706; --gold-glow: rgba(217, 119, 6, 0.25); --green: #059669; --green-glow: rgba(5, 150, 105, 0.22); --red: #dc2626;
  --cyan: #0891b2; --purple: #2563eb;
  --text: #0f172a; --text-dim: #475569; --text-muted: #64748b;
  --sidebar-bg: rgba(255, 255, 255, 0.94); --sidebar-border: rgba(15, 23, 42, 0.09);
  --hi: #0f172a; --panel-rgb: 255, 255, 255; --fg-rgb: 15, 23, 42; --shade-rgb: 246, 248, 251;
  --c-pos: #047857; --c-neg: #b91c1c; --c-warn: #b45309; --c-ind: #1d4ed8; --c-cy: #0e7490; --c-pu: #7e22ce; --c-or: #c2410c;
  --mo-b: 56, 189, 248; --mo-c: 20, 184, 166; --mo-bg-rgb: 255, 255, 255;
}
html[data-theme="light"].mo-on::before {
  background:
    radial-gradient(44% 40% at 14% 6%, rgba(var(--mo-a), .07), transparent 70%),
    radial-gradient(40% 38% at 90% 10%, rgba(var(--mo-b), .06), transparent 70%),
    radial-gradient(46% 40% at 72% 96%, rgba(var(--mo-c), .05), transparent 72%),
    radial-gradient(36% 32% at 2% 90%, rgba(var(--mo-b), .04), transparent 72%);
}
html[data-theme="light"].mo-on::after { opacity: .0; }
html[data-theme="light"] body { color: var(--text); }
/* Yorug' mavzuda nur/porlash yo'q: toza oq kartalar, nozik soya */
html[data-theme="light"] .hero { background: #fff !important; border: 1px solid rgba(15, 23, 42, .1) !important; box-shadow: 0 1px 2px rgba(15, 23, 42, .05), 0 12px 30px -18px rgba(15, 23, 42, .2) !important; animation: heroIn .9s cubic-bezier(.16, 1, .3, 1) backwards !important; }
html[data-theme="light"] .hero::before { display: none; }
html[data-theme="light"] .hero-line { opacity: .35; }
html[data-theme="light"] .hero-line .hl1 { filter: none; }
html[data-theme="light"] .hero-tape { background: #f6f8fb; border-top-color: rgba(15, 23, 42, .07); }
html[data-theme="light"] .hero-name { background: linear-gradient(95deg, #0f172a 5%, #2563eb 60%, #0f172a); background-size: 220% 100%; -webkit-background-clip: text; background-clip: text; }
html[data-theme="light"] .up, html[data-theme="light"] .down { text-shadow: none; }
html[data-theme="light"] .tl-row .tm { filter: brightness(.62) saturate(1.3); }
html[data-theme="light"] .mo-spot:hover { background-image: none; }
html[data-theme="light"] .mo-spot:hover, html[data-theme="light"] .mo-hov:hover { border-color: rgba(37, 99, 235, .4); box-shadow: 0 1px 2px rgba(15, 23, 42, .06), 0 14px 30px -16px rgba(15, 23, 42, .25); }
html[data-theme="light"] .cmd-btn.primary { animation: none; box-shadow: 0 4px 14px -6px rgba(37, 99, 235, .5); }
html[data-theme="light"] .mo-cursor, html[data-theme="light"] .mo-sp { display: none; }
html[data-theme="light"] .header::after, html[data-theme="light"] .main-content > .header::after { box-shadow: none; opacity: .5; }
html[data-theme="light"] .main-content > .header, html[data-theme="light"] .main-wrapper > .header { background: rgba(255, 255, 255, .82); }
html[data-theme="light"] .card, html[data-theme="light"] .panel, html[data-theme="light"] .sub-card, html[data-theme="light"] .kpi, html[data-theme="light"] .idx,
html[data-theme="light"] .table-card, html[data-theme="light"] .stat-card, html[data-theme="light"] .kpi-card, html[data-theme="light"] .ui-card { box-shadow: 0 1px 2px rgba(15, 23, 42, .05), 0 8px 24px -14px rgba(15, 23, 42, .18); }
html[data-theme="light"] .sidebar { box-shadow: 1px 0 0 rgba(15, 23, 42, .04), 8px 0 30px -20px rgba(15, 23, 42, .25); }
html[data-theme="light"] .btn-primary, html[data-theme="light"] .cmd-btn.primary, html[data-theme="light"] .sub-btn.primary { color: #fff; }
.theme-btn[data-theme="light"] { background: linear-gradient(135deg, #fff 50%, #cbd5e1 50%) !important; box-shadow: 0 0 0 1px rgba(100, 116, 139, .55); }

/* ============================== Cheklovlar ============================== */
@media (max-width: 720px) {
  html.mo-on::after { display: none; }
  html.mo-on::before { animation-duration: 70s; }
  html.mo-on .mo-rv { transform: translate3d(0, 10px, 0); }
  .mo-spot:hover { background-image: none; }
}
/* Kuchsiz qurilma / quvvat tejash: bezaksiz */
html.mo-lite::before, html.mo-lite::after { animation: none !important; }
html.mo-lite .sb-logo, html.mo-lite .sb-brand-txt b { animation: none !important; }
@media (prefers-reduced-motion: reduce) {
  html.mo-on::before, html.mo-on::after { animation: none; translate: none; }
  html.mo-on .mo-rv { opacity: 1; transform: none; }
  html.mo-on .mo-rv.mo-in, html.mo-on .sb-nav > *, html.mo-on .header h2, html.mo-on .hero h2, .sb-logo, .sb-brand-txt b, .sb-item.active::before, .live-dot, .sb-live, .cmd-btn.primary, .sec.pop { animation: none !important; }
  .mo-intro { display: none; }
  .mo-tr, .empty, .ubf-empty, .sw-empty, .px-empty, .ap-empty, .td-empty, .hx-empty, .fl-empty, .ui-empty { animation: none !important; }
  html.mo-on .main-content > .header::after, html.mo-on .main-wrapper > .header::after { animation: none; }
  .mo-sp, .mo-cursor { display: none; }
  .skel::after { animation: none; }
  @view-transition { navigation: none; }
}
