
:root {
  --fg2-bg-0: #060913;
  --fg2-bg-1: #0a1020;
  --fg2-bg-2: #0e1830;
  --fg2-panel: rgba(10, 15, 30, 0.72);
  --fg2-panel-strong: rgba(10, 15, 30, 0.86);
  --fg2-panel-soft: rgba(255,255,255,0.055);
  --fg2-border: rgba(255,255,255,0.10);
  --fg2-border-strong: rgba(255,255,255,0.16);
  --fg2-text: rgba(247, 250, 255, 0.96);
  --fg2-text-soft: rgba(216, 227, 248, 0.72);
  --fg2-purple: #8a7cff;
  --fg2-blue: #62c9ff;
  --fg2-cyan: #72efd8;
  --fg2-gold: #f0cb83;
  --fg2-shadow-xl: 0 34px 90px rgba(2, 6, 22, 0.46);
  --fg2-shadow-lg: 0 20px 60px rgba(2, 6, 22, 0.34);
  --fg2-shadow-md: 0 12px 34px rgba(2, 6, 22, 0.24);
}

html,
body {
  background:
    linear-gradient(145deg, var(--fg2-bg-0) 0%, var(--fg2-bg-1) 38%, var(--fg2-bg-2) 100%) !important;
}

body {
  color: var(--fg2-text);
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  opacity: 0.42;
  mix-blend-mode: normal;
  background:
    linear-gradient(116deg, transparent 0%, transparent 30%, rgba(98, 201, 255, 0.08) 42%, rgba(138, 124, 255, 0.14) 49%, rgba(240, 203, 131, 0.05) 56%, transparent 68%),
    linear-gradient(180deg, rgba(255,255,255,0.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.025) 1px, transparent 1px);
  background-size: auto, 88px 88px, 88px 88px;
  background-position: center center, center center, center center;
  mask-image: linear-gradient(180deg, rgba(0,0,0,1), rgba(0,0,0,0.94) 58%, rgba(0,0,0,0.76));
}

body::after {
  content: "";
  position: fixed;
  pointer-events: none;
  z-index: 0;
  inset: -8% -6% auto auto !important;
  width: min(56vw, 920px);
  height: min(60vh, 760px);
  border-radius: 52px;
  opacity: 0.86 !important;
  filter: blur(54px) saturate(120%) !important;
  background:
    linear-gradient(118deg, transparent 10%, rgba(255,255,255,0.06) 24%, rgba(98, 201, 255, 0.16) 38%, rgba(138, 124, 255, 0.22) 48%, rgba(114, 239, 216, 0.14) 56%, transparent 70%),
    linear-gradient(170deg, rgba(255,255,255,0.08), transparent 46%);
  transform: rotate(-10deg) translate3d(0, 0, 0) !important;
}

.app-container::before {
  content: "";
  position: fixed;
  left: -10vw;
  bottom: 5vh;
  width: min(38vw, 700px);
  height: min(32vw, 560px);
  pointer-events: none;
  z-index: 0;
  border-radius: 48px;
  background:
    linear-gradient(135deg, rgba(138, 124, 255, 0.18), transparent 58%),
    linear-gradient(32deg, rgba(114, 239, 216, 0.12), transparent 54%),
    linear-gradient(180deg, rgba(255,255,255,0.05), transparent 72%);
  filter: blur(70px);
  transform: rotate(-18deg);
}

.app-container::after {
  content: none !important;
}

.app-container,
.main-content,
.sidebar,
.main-header,
.page-content,
.auth-page,
.legal-wrap {
  position: relative;
  z-index: 1;
}

.sidebar,
.main-header,
.card,
.modal,
.dropdown-menu,
.auth-card,
.auth-pane--info,
.hero-card,
.section,
.auto-card,
.auto-runs-card,
.household-card,
.pf-card,
.dash-widget,
#transactionsTable,
.categories-surface,
#budgetsContainer > .card,
#householdsGrid,
.profile-panel,
.security-snapshot {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.08) 0%, rgba(255,255,255,0.028) 100%),
    linear-gradient(135deg, rgba(9, 14, 28, 0.86) 0%, rgba(10, 16, 32, 0.74) 100%) !important;
  border: 1px solid var(--fg2-border) !important;
  box-shadow: var(--fg2-shadow-lg) !important;
  backdrop-filter: blur(20px) saturate(135%) !important;
  -webkit-backdrop-filter: blur(20px) saturate(135%) !important;
}

.sidebar,
.main-header,
.auth-card,
.auth-pane--info,
.hero-card,
.section,
.auto-card,
.auto-runs-card,
.household-card,
.pf-card,
.profile-panel,
.security-snapshot {
  overflow: visible !important;
}

.sidebar {
  border-radius: 28px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.085) 0%, rgba(255,255,255,0.03) 100%),
    linear-gradient(180deg, rgba(8, 12, 24, 0.9) 0%, rgba(8, 13, 28, 0.82) 100%) !important;
}

.sidebar::after {
  inset: 104px 18px 102px 18px !important;
  border-radius: 26px !important;
  border-color: rgba(255,255,255,0.04) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.035), rgba(255,255,255,0.008)),
    linear-gradient(136deg, rgba(138,124,255,0.12), transparent 42%, rgba(98,201,255,0.05) 78%, transparent 100%) !important;
}

.brand-mark,
.user-avatar,
.stat-icon,
.dash-date-ico,
.dash-row-icon,
.auth-feature-icon {
  background:
    radial-gradient(120% 120% at 28% 18%, rgba(255,255,255,0.16), transparent 42%),
    linear-gradient(135deg, rgba(138,124,255,0.24), rgba(98,201,255,0.12) 56%, rgba(240,203,131,0.10)) !important;
  border-color: rgba(255,255,255,0.14) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.10), 0 10px 28px rgba(2, 6, 22, 0.26) !important;
}

.nav-item {
  background: rgba(255,255,255,0.02) !important;
  border-radius: 18px !important;
  color: rgba(230,237,255,0.72) !important;
}

.nav-item:hover {
  background: rgba(255,255,255,0.06) !important;
  border-color: rgba(255,255,255,0.10) !important;
  color: rgba(248,251,255,0.95) !important;
  transform: translateX(2px);
}

.nav-item.active {
  background:
    linear-gradient(135deg, rgba(132, 116, 255, 0.96) 0%, rgba(71, 129, 255, 0.84) 58%, rgba(98, 201, 255, 0.34) 100%) !important;
  border-color: rgba(255,255,255,0.18) !important;
  box-shadow: 0 18px 36px rgba(52, 74, 222, 0.28), inset 0 1px 0 rgba(255,255,255,0.18) !important;
}

.main-header {
  min-height: 78px;
  border-radius: 26px !important;
  padding: 0 18px 0 20px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.12) 0%, rgba(255,255,255,0.055) 100%),
    linear-gradient(112deg, rgba(138,124,255,0.14), transparent 36%, rgba(98,201,255,0.10) 72%, rgba(240,203,131,0.05) 100%) !important;
}

.header-left {
  gap: 16px;
}

#pageTitle {
  letter-spacing: 0.1px;
}

.header-right .btn-icon,
.mobile-menu-toggle,
.sidebar-toggle,
.btn,
.btn-icon,
.form-control,
.form-select {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.09), rgba(255,255,255,0.035)),
    rgba(10, 16, 30, 0.62) !important;
  border-color: rgba(255,255,255,0.12) !important;
  box-shadow: var(--fg2-shadow-md) !important;
}

.form-control:focus,
.form-select:focus,
.btn:focus-visible,
.btn-icon:focus-visible {
  outline: none !important;
  border-color: rgba(98, 201, 255, 0.42) !important;
  box-shadow: 0 0 0 4px rgba(98, 201, 255, 0.10), var(--fg2-shadow-md) !important;
}

.btn-primary,
button.btn-primary,
.btn.btn-primary {
  background:
    linear-gradient(135deg, #8575ff 0%, #4a86ff 64%, #6fd0ff 100%) !important;
  color: white !important;
  border-color: rgba(255,255,255,0.14) !important;
}

.btn-secondary,
button.btn-secondary,
.btn.btn-secondary {
  color: rgba(245,248,255,0.94) !important;
}

.page-content {
  padding-top: 18px !important;
}

.page-content::before {
  height: 520px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.02), transparent 66%),
    linear-gradient(118deg, transparent 18%, rgba(98, 201, 255, 0.05) 34%, rgba(138, 124, 255, 0.09) 46%, transparent 60%) !important;
  opacity: 0.88 !important;
}

.page-content::-webkit-scrollbar-thumb,
.sidebar-nav::-webkit-scrollbar-thumb {
  background: rgba(255,255,255,0.12) !important;
}

#pageContent[data-page="dashboard"] .dash {
  max-width: 1680px;
  padding-top: 0 !important;
}

#pageContent[data-page="dashboard"] .dash-header {
  margin-bottom: 18px;
}

#pageContent[data-page="dashboard"] .dash-control-group {
  border-radius: 18px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.08), rgba(255,255,255,0.028)),
    rgba(8, 14, 28, 0.68) !important;
  border-color: rgba(255,255,255,0.10) !important;
  box-shadow: 0 14px 38px rgba(2, 6, 22, 0.24) !important;
}

#pageContent[data-page="dashboard"] .dash-scope-tab,
#pageContent[data-page="dashboard"] .dash-chip,
#pageContent[data-page="dashboard"] .dash-hero-chip,
#pageContent[data-page="dashboard"] .dash-hero-mini-stat {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.085), rgba(255,255,255,0.03)),
    rgba(8, 14, 28, 0.56) !important;
  border-color: rgba(255,255,255,0.10) !important;
}

#pageContent[data-page="dashboard"] .dash-scope-tab.is-active {
  background:
    linear-gradient(135deg, rgba(132,116,255,0.34), rgba(98,201,255,0.20)) !important;
  border-color: rgba(132,116,255,0.44) !important;
}

#pageContent[data-page="dashboard"] .dash-hero {
  position: relative;
  overflow: hidden;
  border-radius: 30px !important;
  border: 1px solid rgba(255,255,255,0.10) !important;
  box-shadow: 0 26px 72px rgba(2, 6, 22, 0.34) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.08), rgba(255,255,255,0.03)),
    linear-gradient(128deg, rgba(9, 14, 30, 0.88) 0%, rgba(13, 20, 42, 0.78) 48%, rgba(10, 18, 34, 0.82) 100%) !important;
}

#pageContent[data-page="dashboard"] .dash-hero::before {
  content: "";
  position: absolute;
  inset: -8% -16% auto 34%;
  height: 74%;
  pointer-events: none;
  background: linear-gradient(118deg, transparent 8%, rgba(255,255,255,0.05) 20%, rgba(98, 201, 255, 0.18) 34%, rgba(138, 124, 255, 0.22) 46%, rgba(114, 239, 216, 0.14) 56%, transparent 70%);
  transform: rotate(-9deg);
  filter: blur(46px);
  opacity: 0.94;
}

#pageContent[data-page="dashboard"] .dash-hero::after {
  content: "";
  position: absolute;
  inset: auto auto -24% -8%;
  width: 42%;
  height: 52%;
  pointer-events: none;
  border-radius: 48px;
  background: linear-gradient(145deg, rgba(138,124,255,0.18), transparent 62%);
  filter: blur(48px);
}

#pageContent[data-page="dashboard"] .dash-hero-kicker {
  background:
    linear-gradient(135deg, rgba(255,255,255,0.12), rgba(255,255,255,0.03)),
    rgba(9, 15, 30, 0.52) !important;
  border-color: rgba(255,255,255,0.12) !important;
}

#pageContent[data-page="dashboard"] .dash-hero-title {
  max-width: 10.5ch;
  font-size: clamp(44px, 5vw, 72px) !important;
  line-height: 0.92 !important;
  letter-spacing: -0.04em;
  text-wrap: balance;
}

#pageContent[data-page="dashboard"] .dash-hero-text,
#pageContent[data-page="dashboard"] .dash-widget-title-sub,
#pageContent[data-page="dashboard"] .dash-title-sub,
#pageContent[data-page="dashboard"] .dash-hero-chart-caption,
#pageContent[data-page="dashboard"] .dash-hero-mini-label,
#pageContent[data-page="dashboard"] .dash-hero-chip-label {
  color: var(--fg2-text-soft) !important;
}

#pageContent[data-page="dashboard"] .dash-hero-visual-shell,
#pageContent[data-page="dashboard"] .dash-widget,
#pageContent[data-page="dashboard"] .dash-categories-card,
#pageContent[data-page="dashboard"] .dash-stats-card {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.075), rgba(255,255,255,0.025)),
    rgba(8, 14, 28, 0.62) !important;
  border-color: rgba(255,255,255,0.10) !important;
}

#pageContent[data-page="dashboard"] .dash-widget {
  border-radius: 24px !important;
}

#pageContent[data-page="dashboard"] .dash-widget::before {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.03), transparent 72%),
    linear-gradient(128deg, rgba(138, 124, 255, 0.08), transparent 36%, rgba(98, 201, 255, 0.05) 78%, transparent 100%) !important;
}

#pageContent[data-page="dashboard"] .dash-hero-orbit,
#pageContent[data-page="dashboard"] .dash-cashflow-wrap {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.035), rgba(255,255,255,0.012)),
    rgba(8, 13, 26, 0.64) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
}

#pageContent[data-page="dashboard"] .dash-hero-orbit-grid {
  opacity: 0.34 !important;
}

#pageContent[data-page="dashboard"] .dash-hero-chart-badge,
#pageContent[data-page="dashboard"] .dash-kpi,
#pageContent[data-page="dashboard"] .stat-card {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.09), rgba(255,255,255,0.03)),
    rgba(8, 13, 26, 0.68) !important;
  border-color: rgba(255,255,255,0.10) !important;
}

#pageContent[data-page="dashboard"] .dash-widget-header {
  border-bottom-color: rgba(255,255,255,0.07) !important;
}

#pageContent[data-page="dashboard"] .dash-insights .insight-row,
#pageContent[data-page="dashboard"] .dash-list-item,
#pageContent[data-page="dashboard"] .category-tile {
  background: rgba(255,255,255,0.04) !important;
  border-color: rgba(255,255,255,0.08) !important;
}

.auth-page,
.legal-wrap {
  background: transparent !important;
}

.auth-card,
.auth-pane--info,
.legal-card {
  border-radius: 28px !important;
}

.auth-card::before,
.auth-pane--info::before,
.legal-card::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  background: linear-gradient(180deg, rgba(255,255,255,0.12), rgba(255,255,255,0) 30%);
}

@media (max-width: 1200px) {
  body::after {
    width: min(74vw, 780px);
  }

  #pageContent[data-page="dashboard"] .dash-hero-title {
    font-size: clamp(38px, 6vw, 56px) !important;
  }
}

@media (max-width: 860px) {
  .app-container {
    padding: 12px !important;
    gap: 12px !important;
  }

  .main-header,
  .sidebar {
    border-radius: 22px !important;
  }

  #pageContent[data-page="dashboard"] .dash-hero {
    border-radius: 24px !important;
  }

  #pageContent[data-page="dashboard"] .dash-hero-title {
    max-width: none;
    font-size: clamp(34px, 10vw, 48px) !important;
  }
}


/* ===== background scene refresh 2026 ===== */
:root {
  --scene-pointer-x: 0px;
  --scene-pointer-y: 0px;
  --scene-depth-shadow: 0 30px 90px rgba(3, 8, 26, 0.46);
  --scene-cyan: rgba(92, 225, 255, 0.95);
  --scene-violet: rgba(123, 104, 255, 0.95);
  --scene-amber: rgba(255, 156, 84, 0.90);
}

html,
body {
  background:
    radial-gradient(86vw 58vw at 8% 12%, rgba(64, 139, 255, 0.18) 0%, rgba(64, 139, 255, 0) 44%),
    radial-gradient(72vw 52vw at 90% 8%, rgba(114, 96, 255, 0.16) 0%, rgba(114, 96, 255, 0) 40%),
    radial-gradient(58vw 42vw at 18% 94%, rgba(255, 145, 70, 0.10) 0%, rgba(255, 145, 70, 0) 36%),
    linear-gradient(155deg, #040814 0%, #07111d 30%, #081526 56%, #0a1220 100%) !important;
}

body::before,
body::after,
.app-container::before,
.app-container::after,
.auth-bg,
.legal-bg {
  display: none !important;
}

.global-scene {
  position: fixed;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
  isolation: isolate;
  background:
    radial-gradient(120% 120% at 50% -10%, rgba(255,255,255,0.05) 0%, rgba(255,255,255,0) 38%),
    linear-gradient(180deg, rgba(255,255,255,0.015), rgba(255,255,255,0));
}

.global-scene__vignette,
.global-scene__backdrop,
.global-scene__mesh,
.global-scene__aurora,
.global-scene__beam,
.global-scene__prism,
.global-scene__orbital,
.global-scene__halo,
.global-scene__stage,
.global-scene__grain {
  position: absolute;
  inset: 0;
}

.global-scene__vignette {
  background:
    radial-gradient(120% 100% at 50% 50%, transparent 48%, rgba(3, 6, 16, 0.12) 72%, rgba(3, 6, 16, 0.46) 100%),
    linear-gradient(180deg, rgba(3, 6, 14, 0.00), rgba(3, 6, 14, 0.16));
}

.global-scene__backdrop {
  background:
    radial-gradient(40vw 32vw at 14% 22%, rgba(70, 160, 255, 0.16), rgba(70, 160, 255, 0) 78%),
    radial-gradient(34vw 24vw at 82% 16%, rgba(118, 103, 255, 0.18), rgba(118, 103, 255, 0) 80%),
    radial-gradient(26vw 18vw at 66% 72%, rgba(255, 152, 78, 0.10), rgba(255, 152, 78, 0) 78%),
    radial-gradient(34vw 24vw at 26% 78%, rgba(52, 210, 255, 0.10), rgba(52, 210, 255, 0) 80%);
  filter: blur(16px) saturate(120%);
  opacity: 0.9;
  transform: translate3d(calc(var(--scene-pointer-x) * -0.16), calc(var(--scene-pointer-y) * -0.16), 0);
}

.global-scene__mesh {
  inset: -8% -12% -12%;
  opacity: 0.36;
  background:
    linear-gradient(122deg, rgba(255,255,255,0.05) 0%, rgba(255,255,255,0) 28%),
    repeating-linear-gradient(116deg,
      rgba(255,255,255,0.06) 0px,
      rgba(255,255,255,0.06) 1px,
      transparent 1px,
      transparent 84px),
    repeating-linear-gradient(0deg,
      rgba(255,255,255,0.028) 0px,
      rgba(255,255,255,0.028) 1px,
      transparent 1px,
      transparent 94px);
  mask-image: radial-gradient(92% 78% at 52% 42%, rgba(0,0,0,1), rgba(0,0,0,0.52) 58%, rgba(0,0,0,0));
  transform:
    perspective(2000px)
    rotateX(77deg)
    rotateZ(-18deg)
    translate3d(calc(var(--scene-pointer-x) * 0.26), calc(var(--scene-pointer-y) * 0.22), 0);
  animation: sceneMeshDrift 26s ease-in-out infinite alternate;
}

.global-scene__aurora {
  filter: blur(34px) saturate(126%);
  mix-blend-mode: screen;
}

.global-scene__aurora--a {
  inset: 8% auto auto -8%;
  width: 58vw;
  height: 36vh;
  opacity: 0.44;
  background: linear-gradient(110deg, rgba(255,255,255,0.0) 0%, rgba(88, 175, 255, 0.20) 22%, rgba(84, 220, 255, 0.10) 46%, rgba(255,255,255,0) 72%);
  transform: rotate(-16deg) translate3d(calc(var(--scene-pointer-x) * -0.18), calc(var(--scene-pointer-y) * 0.10), 0);
  animation: sceneAuroraA 20s ease-in-out infinite alternate;
}

.global-scene__aurora--b {
  inset: auto -8% 8% auto;
  width: 54vw;
  height: 40vh;
  opacity: 0.34;
  background: linear-gradient(124deg, rgba(255,255,255,0.0) 0%, rgba(122, 104, 255, 0.22) 22%, rgba(255, 156, 84, 0.10) 52%, rgba(255,255,255,0) 78%);
  transform: rotate(16deg) translate3d(calc(var(--scene-pointer-x) * 0.16), calc(var(--scene-pointer-y) * -0.10), 0);
  animation: sceneAuroraB 22s ease-in-out infinite alternate-reverse;
}

.global-scene__beam {
  filter: blur(16px) saturate(124%);
  opacity: 0.72;
  mix-blend-mode: screen;
}

.global-scene__beam--a {
  inset: -18% auto auto 48%;
  width: 34vw;
  height: 90vh;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.14), rgba(255,255,255,0.02) 18%, rgba(92,225,255,0.10) 42%, rgba(92,225,255,0) 76%);
  transform: rotate(26deg) translate3d(calc(var(--scene-pointer-x) * 0.16), calc(var(--scene-pointer-y) * -0.14), 0);
  animation: sceneBeamSweep 22s ease-in-out infinite alternate;
}

.global-scene__beam--b {
  inset: auto auto -26% -4%;
  width: 36vw;
  height: 76vh;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.12), rgba(123,104,255,0.10) 28%, rgba(255,156,84,0.06) 46%, rgba(123,104,255,0) 72%);
  transform: rotate(-28deg) translate3d(calc(var(--scene-pointer-x) * -0.14), calc(var(--scene-pointer-y) * 0.14), 0);
  animation: sceneBeamSweep 28s ease-in-out infinite alternate-reverse;
}

.global-scene__prism {
  border: 1px solid rgba(255,255,255,0.12);
  background:
    linear-gradient(180deg, rgba(255,255,255,0.18), rgba(255,255,255,0.03) 26%, rgba(255,255,255,0.02) 100%),
    linear-gradient(132deg, rgba(123,104,255,0.20), rgba(92,225,255,0.07) 46%, rgba(255,156,84,0.05) 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.18),
    inset 0 -1px 0 rgba(255,255,255,0.04),
    0 28px 74px rgba(2, 8, 24, 0.44);
  backdrop-filter: blur(12px) saturate(128%);
  -webkit-backdrop-filter: blur(12px) saturate(128%);
}

.global-scene__prism--a {
  inset: 8% auto auto 28%;
  width: min(34vw, 560px);
  height: min(16vh, 160px);
  clip-path: polygon(8% 0%, 100% 0%, 92% 100%, 0% 100%);
  opacity: 0.42;
  transform: perspective(1800px) rotateX(72deg) rotateY(-18deg) rotateZ(8deg) translate3d(calc(var(--scene-pointer-x) * 0.36), calc(var(--scene-pointer-y) * 0.22), 240px);
  animation: scenePrismFloatA 24s ease-in-out infinite alternate;
}

.global-scene__prism--b {
  inset: auto auto 14% -8%;
  width: min(28vw, 440px);
  height: min(14vh, 140px);
  clip-path: polygon(0% 0%, 92% 0%, 100% 100%, 8% 100%);
  opacity: 0.34;
  transform: perspective(1800px) rotateX(74deg) rotateY(22deg) rotateZ(-12deg) translate3d(calc(var(--scene-pointer-x) * -0.34), calc(var(--scene-pointer-y) * 0.16), 180px);
  animation: scenePrismFloatB 26s ease-in-out infinite alternate-reverse;
}

.global-scene__orbital {
  inset: auto auto -18vh 50vw;
  width: min(54vw, 880px);
  height: min(54vw, 880px);
  opacity: 0.52;
  transform: translate3d(calc(var(--scene-pointer-x) * 0.28), calc(var(--scene-pointer-y) * 0.10), 0);
}

.global-scene__orbital::before,
.global-scene__orbital::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
}

.global-scene__orbital::before {
  background:
    radial-gradient(circle at 50% 50%, rgba(255,255,255,0.00) 58%, rgba(255,255,255,0.08) 58.6%, rgba(255,255,255,0.00) 60.4%),
    radial-gradient(circle at 50% 50%, rgba(255,255,255,0.00) 72%, rgba(92,225,255,0.10) 72.6%, rgba(255,255,255,0.00) 74.4%),
    radial-gradient(circle at 50% 50%, rgba(255,255,255,0.00) 82%, rgba(123,104,255,0.10) 82.6%, rgba(255,255,255,0.00) 84.2%);
  filter: blur(0.3px);
  box-shadow: inset 0 0 90px rgba(92,225,255,0.04), 0 0 120px rgba(92,225,255,0.08);
}

.global-scene__orbital::after {
  inset: 10%;
  background:
    conic-gradient(from 140deg, rgba(255,255,255,0) 0deg, rgba(92,225,255,0.16) 56deg, rgba(255,255,255,0) 118deg, rgba(123,104,255,0.18) 190deg, rgba(255,255,255,0) 250deg, rgba(255,156,84,0.16) 312deg, rgba(255,255,255,0) 360deg);
  mask-image: radial-gradient(circle at 50% 50%, rgba(0,0,0,0) 62%, rgba(0,0,0,1) 67%, rgba(0,0,0,0) 72%);
  animation: sceneOrbitalSpin 26s linear infinite;
}

.global-scene__halo {
  inset: auto auto 8vh 14vw;
  width: min(20vw, 320px);
  height: min(20vw, 320px);
  border-radius: 50%;
  opacity: 0.44;
  background:
    radial-gradient(circle at 50% 50%, rgba(255,255,255,0.12) 0%, rgba(255,255,255,0.02) 28%, rgba(255,255,255,0) 62%),
    conic-gradient(from 180deg,
      rgba(255,255,255,0.00),
      rgba(92,225,255,0.14),
      rgba(123,104,255,0.20),
      rgba(255,156,84,0.12),
      rgba(255,255,255,0.00));
  border: 1px solid rgba(255,255,255,0.10);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,0.05),
    inset 0 0 32px rgba(255,255,255,0.04),
    0 0 72px rgba(100, 170, 255, 0.10);
  transform: translate3d(calc(var(--scene-pointer-x) * -0.26), calc(var(--scene-pointer-y) * 0.16), 0) rotate(-12deg);
  animation: sceneHaloSpin 34s linear infinite;
}

.global-scene__stage {
  inset: -6% -8% -10%;
  transform-style: preserve-3d;
  perspective: 1800px;
  animation: sceneStageFloat 26s ease-in-out infinite alternate;
}

.global-card,
.global-edge,
.global-ring {
  position: absolute;
  display: block;
  border-radius: 36px;
  transform-style: preserve-3d;
}

.global-card {
  border: 1px solid rgba(255,255,255,0.12);
  background:
    linear-gradient(180deg, rgba(255,255,255,0.18), rgba(255,255,255,0.03) 26%, rgba(255,255,255,0.02) 100%),
    linear-gradient(135deg, rgba(123,104,255,0.18), rgba(92,225,255,0.08) 48%, rgba(255,156,84,0.05) 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.16),
    inset 0 -1px 0 rgba(255,255,255,0.03),
    var(--scene-depth-shadow);
  backdrop-filter: blur(16px) saturate(128%);
  -webkit-backdrop-filter: blur(16px) saturate(128%);
  overflow: hidden;
}

.global-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(118deg, rgba(255,255,255,0.26) 0%, rgba(255,255,255,0) 24%),
    linear-gradient(302deg, rgba(255,255,255,0.12) 0%, rgba(255,255,255,0) 22%);
  opacity: 0.94;
}

.global-card::after {
  content: "";
  position: absolute;
  inset: 10% 8%;
  border-radius: 28px;
  border: 1px solid rgba(255,255,255,0.08);
  opacity: 0.42;
}

.global-card--a {
  top: 4%;
  right: 8%;
  width: min(40vw, 720px);
  height: min(24vh, 220px);
  transform:
    translate3d(calc(var(--scene-pointer-x) * 0.50), calc(var(--scene-pointer-y) * 0.30), 220px)
    rotateX(66deg)
    rotateY(-24deg)
    rotateZ(15deg);
  animation: sceneCardFloatA 23s ease-in-out infinite alternate;
}

.global-card--b {
  left: 4%;
  top: 44%;
  width: min(30vw, 520px);
  height: min(18vh, 180px);
  transform:
    translate3d(calc(var(--scene-pointer-x) * -0.44), calc(var(--scene-pointer-y) * 0.22), 120px)
    rotateX(72deg)
    rotateY(26deg)
    rotateZ(-20deg);
  animation: sceneCardFloatB 24s ease-in-out infinite alternate-reverse;
}

.global-card--c {
  left: 32%;
  top: 16%;
  width: min(18vw, 320px);
  height: min(44vh, 500px);
  border-radius: 42px;
  transform:
    translate3d(calc(var(--scene-pointer-x) * 0.28), calc(var(--scene-pointer-y) * -0.22), 280px)
    rotateX(20deg)
    rotateY(-22deg)
    rotateZ(10deg);
  animation: sceneCardFloatC 21s ease-in-out infinite alternate;
}

.global-card--d {
  right: 24%;
  bottom: -4%;
  width: min(24vw, 420px);
  height: min(22vh, 220px);
  transform:
    translate3d(calc(var(--scene-pointer-x) * 0.22), calc(var(--scene-pointer-y) * -0.16), 96px)
    rotateX(76deg)
    rotateY(-14deg)
    rotateZ(18deg);
  animation: sceneCardFloatD 30s ease-in-out infinite alternate;
}

.global-edge {
  border-radius: 999px;
  opacity: 0.76;
  filter: blur(0.4px);
  background:
    linear-gradient(180deg, rgba(255,255,255,0.55), rgba(255,255,255,0.02) 28%, rgba(92,225,255,0.22) 66%, rgba(255,156,84,0.10) 84%, rgba(92,225,255,0));
  box-shadow: 0 0 44px rgba(92, 225, 255, 0.10);
}

.global-edge--a {
  left: 22%;
  top: 12%;
  width: 2px;
  height: 48vh;
  transform:
    translate3d(calc(var(--scene-pointer-x) * 0.18), calc(var(--scene-pointer-y) * -0.14), 340px)
    rotateX(10deg)
    rotateY(-18deg)
    rotateZ(18deg);
  animation: sceneEdgePulse 12s ease-in-out infinite;
}

.global-edge--b {
  right: 16%;
  top: 38%;
  width: 2px;
  height: 36vh;
  transform:
    translate3d(calc(var(--scene-pointer-x) * -0.16), calc(var(--scene-pointer-y) * 0.18), 320px)
    rotateX(18deg)
    rotateY(24deg)
    rotateZ(-24deg);
  animation: sceneEdgePulse 14s ease-in-out infinite reverse;
}

.global-ring {
  left: 54%;
  top: 18%;
  width: min(16vw, 260px);
  height: min(16vw, 260px);
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,0.14);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,0.05),
    0 0 44px rgba(92,225,255,0.08);
  background:
    radial-gradient(circle at 50% 50%, rgba(255,255,255,0.14) 0%, rgba(255,255,255,0.02) 32%, rgba(255,255,255,0) 72%),
    conic-gradient(from 90deg, rgba(255,255,255,0), rgba(92,225,255,0.16), rgba(123,104,255,0.20), rgba(255,156,84,0.10), rgba(255,255,255,0));
  opacity: 0.54;
  transform:
    translate3d(calc(var(--scene-pointer-x) * 0.36), calc(var(--scene-pointer-y) * -0.18), 300px)
    rotateX(72deg)
    rotateZ(12deg);
  animation: sceneRingSpin 22s linear infinite;
}

.global-scene__grain {
  opacity: 0.05;
  mix-blend-mode: soft-light;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E");
}

.main-content,
.auth-page,
.legal-wrap {
  position: relative;
  z-index: 1;
}

.main-content::before {
  background: radial-gradient(860px 440px at var(--ambient-x) var(--ambient-y), rgba(255,255,255,0.06) 0%, rgba(255,255,255,0.015) 22%, rgba(255,255,255,0) 56%);
}

.sidebar {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.085) 0%, rgba(255,255,255,0.028) 100%),
    linear-gradient(180deg, rgba(7, 12, 23, 0.92) 0%, rgba(9, 15, 28, 0.88) 60%, rgba(7, 12, 24, 0.92) 100%) !important;
  box-shadow:
    0 26px 66px rgba(3, 8, 24, 0.36),
    inset 0 1px 0 rgba(255,255,255,0.06) !important;
}

.sidebar::after {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.028), rgba(255,255,255,0.008)),
    linear-gradient(136deg, rgba(123,104,255,0.12), transparent 42%, rgba(92,225,255,0.06) 76%, rgba(255,156,84,0.04) 100%) !important;
}

.main-header {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.12) 0%, rgba(255,255,255,0.05) 100%),
    linear-gradient(108deg, rgba(20, 32, 58, 0.78) 0%, rgba(12, 18, 34, 0.88) 38%, rgba(10, 16, 28, 0.92) 100%) !important;
  box-shadow:
    0 18px 44px rgba(3, 8, 24, 0.26),
    inset 0 1px 0 rgba(255,255,255,0.06) !important;
}

.nav-item {
  background: linear-gradient(180deg, rgba(255,255,255,0.026), rgba(255,255,255,0.012)) !important;
}

.nav-item:hover {
  background:
    linear-gradient(135deg, rgba(255,255,255,0.05), rgba(255,255,255,0.018)),
    rgba(8, 14, 26, 0.60) !important;
}

.nav-item.active {
  background:
    linear-gradient(135deg, rgba(118, 101, 255, 0.96) 0%, rgba(53, 155, 255, 0.88) 58%, rgba(90, 230, 220, 0.46) 100%) !important;
  box-shadow: 0 18px 36px rgba(42, 84, 210, 0.24), inset 0 1px 0 rgba(255,255,255,0.20) !important;
}

.btn-primary,
button.btn-primary,
.btn.btn-primary {
  background:
    linear-gradient(135deg, #765fff 0%, #3698ff 58%, #5ee2dc 100%) !important;
}

#pageContent[data-page="dashboard"] .dash-control-group {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.08), rgba(255,255,255,0.025)),
    linear-gradient(135deg, rgba(10, 16, 28, 0.82), rgba(15, 23, 40, 0.72) 54%, rgba(9, 15, 28, 0.80)) !important;
  box-shadow: 0 18px 40px rgba(2, 6, 22, 0.24) !important;
}

#pageContent[data-page="dashboard"] .dash-hero {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.08), rgba(255,255,255,0.03)),
    linear-gradient(122deg, rgba(11, 18, 34, 0.94) 0%, rgba(13, 22, 42, 0.82) 40%, rgba(10, 16, 28, 0.90) 100%) !important;
  box-shadow:
    0 28px 76px rgba(2, 6, 22, 0.34),
    inset 0 1px 0 rgba(255,255,255,0.05) !important;
}

#pageContent[data-page="dashboard"] .dash-hero::before {
  inset: -10% -8% auto 30%;
  height: 72%;
  background:
    linear-gradient(112deg, transparent 6%, rgba(255,255,255,0.06) 18%, rgba(92, 225, 255, 0.18) 34%, rgba(123, 104, 255, 0.18) 48%, rgba(255, 156, 84, 0.10) 62%, transparent 78%);
  transform: rotate(-11deg);
  filter: blur(42px);
}

#pageContent[data-page="dashboard"] .dash-hero::after {
  inset: auto -8% -22% auto;
  width: 38%;
  height: 48%;
  border-radius: 52px;
  background:
    radial-gradient(circle at 30% 20%, rgba(255,255,255,0.06), transparent 32%),
    linear-gradient(142deg, rgba(123,104,255,0.14), rgba(92,225,255,0.06) 48%, rgba(255,156,84,0.12) 100%);
  filter: blur(42px);
  opacity: 0.88;
}

#pageContent[data-page="dashboard"] .dash-hero-kicker {
  background:
    linear-gradient(135deg, rgba(255,255,255,0.12), rgba(255,255,255,0.03)),
    linear-gradient(135deg, rgba(11, 18, 34, 0.74), rgba(9, 15, 28, 0.48)) !important;
}

#pageContent[data-page="dashboard"] .dash-hero-visual-shell,
#pageContent[data-page="dashboard"] .dash-widget,
#pageContent[data-page="dashboard"] .dash-categories-card,
#pageContent[data-page="dashboard"] .dash-stats-card {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.075), rgba(255,255,255,0.025)),
    linear-gradient(138deg, rgba(8, 14, 28, 0.84), rgba(12, 18, 34, 0.68) 56%, rgba(8, 14, 28, 0.82)) !important;
}

#pageContent[data-page="dashboard"] .dash-hero-orbit,
#pageContent[data-page="dashboard"] .dash-cashflow-wrap,
#pageContent[data-page="dashboard"] .dash-hero-chart-badge,
#pageContent[data-page="dashboard"] .dash-kpi,
#pageContent[data-page="dashboard"] .stat-card {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.07), rgba(255,255,255,0.024)),
    linear-gradient(145deg, rgba(8, 14, 28, 0.84), rgba(11, 18, 32, 0.74)) !important;
}

#pageContent[data-page="dashboard"] .dash-widget::before {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.028), transparent 72%),
    linear-gradient(128deg, rgba(123, 104, 255, 0.08), transparent 38%, rgba(92, 225, 255, 0.05) 74%, rgba(255, 156, 84, 0.04) 100%) !important;
}

#pageContent[data-page="dashboard"] .dash-insights .insight-row,
#pageContent[data-page="dashboard"] .dash-list-item,
#pageContent[data-page="dashboard"] .category-tile {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.045), rgba(255,255,255,0.02)),
    rgba(9, 15, 28, 0.54) !important;
}

@keyframes sceneMeshDrift {
  0% {
    transform: perspective(2000px) rotateX(77deg) rotateZ(-18deg) translate3d(calc(var(--scene-pointer-x) * 0.26), calc(var(--scene-pointer-y) * 0.22), 0);
  }
  100% {
    transform: perspective(2000px) rotateX(77deg) rotateZ(-14deg) translate3d(calc((var(--scene-pointer-x) * 0.30) + 12px), calc((var(--scene-pointer-y) * 0.16) - 12px), 0);
  }
}

@keyframes sceneAuroraA {
  0% { opacity: 0.24; transform: rotate(-16deg) translate3d(calc(var(--scene-pointer-x) * -0.18), calc(var(--scene-pointer-y) * 0.10), 0); }
  100% { opacity: 0.48; transform: rotate(-10deg) translate3d(calc((var(--scene-pointer-x) * -0.20) - 10px), calc((var(--scene-pointer-y) * 0.14) + 8px), 0); }
}

@keyframes sceneAuroraB {
  0% { opacity: 0.20; transform: rotate(16deg) translate3d(calc(var(--scene-pointer-x) * 0.16), calc(var(--scene-pointer-y) * -0.10), 0); }
  100% { opacity: 0.40; transform: rotate(10deg) translate3d(calc((var(--scene-pointer-x) * 0.18) + 12px), calc((var(--scene-pointer-y) * -0.12) - 8px), 0); }
}

@keyframes sceneBeamSweep {
  0% { opacity: 0.28; }
  50% { opacity: 0.74; }
  100% { opacity: 0.40; }
}

@keyframes scenePrismFloatA {
  0% {
    transform: perspective(1800px) rotateX(72deg) rotateY(-18deg) rotateZ(8deg) translate3d(calc(var(--scene-pointer-x) * 0.36), calc(var(--scene-pointer-y) * 0.22), 240px);
  }
  100% {
    transform: perspective(1800px) rotateX(69deg) rotateY(-14deg) rotateZ(5deg) translate3d(calc((var(--scene-pointer-x) * 0.42) + 10px), calc((var(--scene-pointer-y) * 0.18) - 10px), 270px);
  }
}

@keyframes scenePrismFloatB {
  0% {
    transform: perspective(1800px) rotateX(74deg) rotateY(22deg) rotateZ(-12deg) translate3d(calc(var(--scene-pointer-x) * -0.34), calc(var(--scene-pointer-y) * 0.16), 180px);
  }
  100% {
    transform: perspective(1800px) rotateX(70deg) rotateY(18deg) rotateZ(-8deg) translate3d(calc((var(--scene-pointer-x) * -0.38) - 10px), calc((var(--scene-pointer-y) * 0.12) + 10px), 210px);
  }
}

@keyframes sceneOrbitalSpin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

@keyframes sceneHaloSpin {
  from { transform: translate3d(calc(var(--scene-pointer-x) * -0.26), calc(var(--scene-pointer-y) * 0.16), 0) rotate(-12deg); }
  to { transform: translate3d(calc(var(--scene-pointer-x) * -0.26), calc(var(--scene-pointer-y) * 0.16), 0) rotate(348deg); }
}

@keyframes sceneStageFloat {
  0% { transform: translate3d(-1.4%, 0, 0) scale(1); }
  100% { transform: translate3d(1.4%, -1.6%, 0) scale(1.02); }
}

@keyframes sceneCardFloatA {
  0% {
    transform: translate3d(calc(var(--scene-pointer-x) * 0.50), calc(var(--scene-pointer-y) * 0.30), 220px) rotateX(66deg) rotateY(-24deg) rotateZ(15deg);
  }
  100% {
    transform: translate3d(calc((var(--scene-pointer-x) * 0.58) + 10px), calc((var(--scene-pointer-y) * 0.28) - 10px), 250px) rotateX(68deg) rotateY(-20deg) rotateZ(11deg);
  }
}

@keyframes sceneCardFloatB {
  0% {
    transform: translate3d(calc(var(--scene-pointer-x) * -0.44), calc(var(--scene-pointer-y) * 0.22), 120px) rotateX(72deg) rotateY(26deg) rotateZ(-20deg);
  }
  100% {
    transform: translate3d(calc((var(--scene-pointer-x) * -0.50) - 12px), calc((var(--scene-pointer-y) * 0.16) + 10px), 152px) rotateX(70deg) rotateY(20deg) rotateZ(-16deg);
  }
}

@keyframes sceneCardFloatC {
  0% {
    transform: translate3d(calc(var(--scene-pointer-x) * 0.28), calc(var(--scene-pointer-y) * -0.22), 280px) rotateX(20deg) rotateY(-22deg) rotateZ(10deg);
  }
  100% {
    transform: translate3d(calc((var(--scene-pointer-x) * 0.34) + 6px), calc((var(--scene-pointer-y) * -0.28) - 12px), 330px) rotateX(18deg) rotateY(-18deg) rotateZ(7deg);
  }
}

@keyframes sceneCardFloatD {
  0% {
    transform: translate3d(calc(var(--scene-pointer-x) * 0.22), calc(var(--scene-pointer-y) * -0.16), 96px) rotateX(76deg) rotateY(-14deg) rotateZ(18deg);
  }
  100% {
    transform: translate3d(calc((var(--scene-pointer-x) * 0.28) + 12px), calc((var(--scene-pointer-y) * -0.10) + 10px), 132px) rotateX(74deg) rotateY(-10deg) rotateZ(14deg);
  }
}

@keyframes sceneEdgePulse {
  0%, 100% { opacity: 0.26; }
  50% { opacity: 0.80; }
}

@keyframes sceneRingSpin {
  from {
    transform: translate3d(calc(var(--scene-pointer-x) * 0.36), calc(var(--scene-pointer-y) * -0.18), 300px) rotateX(72deg) rotateZ(12deg);
  }
  to {
    transform: translate3d(calc(var(--scene-pointer-x) * 0.36), calc(var(--scene-pointer-y) * -0.18), 300px) rotateX(72deg) rotateZ(372deg);
  }
}

@media (max-width: 980px) {
  .global-scene__mesh {
    opacity: 0.24;
  }

  .global-scene__aurora--a,
  .global-scene__aurora--b {
    opacity: 0.26;
  }

  .global-scene__prism--a {
    width: min(44vw, 420px);
    height: min(14vh, 130px);
    left: 42%;
    top: 8%;
  }

  .global-scene__prism--b {
    width: min(38vw, 320px);
    height: min(12vh, 120px);
    left: -8%;
    bottom: 12%;
  }

  .global-card--a {
    width: min(52vw, 520px);
    height: min(22vh, 190px);
    right: -4%;
    top: 6%;
  }

  .global-card--b {
    width: min(38vw, 320px);
    height: min(16vh, 150px);
    top: 58%;
    left: -2%;
  }

  .global-card--c {
    width: min(24vw, 200px);
    height: min(30vh, 300px);
    left: 52%;
    top: 10%;
  }

  .global-card--d,
  .global-edge--a,
  .global-edge--b,
  .global-ring {
    opacity: 0.40;
  }

  .global-scene__orbital {
    width: min(66vw, 640px);
    height: min(66vw, 640px);
    left: 42vw;
    bottom: -12vh;
  }
}

@media (max-width: 720px) {
  .global-scene__mesh,
  .global-scene__orbital,
  .global-ring,
  .global-edge,
  .global-scene__prism--b {
    display: none;
  }

  .global-scene__halo {
    width: 52vw;
    height: 52vw;
    left: 8vw;
    bottom: 16vw;
    opacity: 0.24;
  }

  .global-scene__prism--a {
    width: 70vw;
    height: 12vh;
    left: 42vw;
    top: 4%;
  }

  .global-card--a {
    width: 74vw;
    height: 16vh;
    right: -20vw;
    top: 2%;
  }

  .global-card--b {
    width: 58vw;
    height: 14vh;
    left: -18vw;
    top: 62%;
  }

  .global-card--c {
    width: 34vw;
    height: 24vh;
    left: 58vw;
    top: 18%;
  }

  .global-card--d {
    width: 46vw;
    height: 14vh;
    right: 4vw;
    bottom: -2vh;
    opacity: 0.28;
  }
}

@media (prefers-reduced-motion: reduce) {
  .global-scene__mesh,
  .global-scene__aurora,
  .global-scene__beam,
  .global-scene__prism,
  .global-scene__orbital,
  .global-scene__halo,
  .global-scene__stage,
  .global-card,
  .global-edge,
  .global-ring {
    animation: none !important;
    transform: none !important;
  }
}
