/* ============================================================
   Site designs — chosen by the admin in Configuration → Site design
   <html data-design="classic|obsidian|aurora" data-palette="<theme>">

   Classic uses app.css as is. Obsidian and Aurora redefine the
   tokens per theme and add their own shapes. Everything else on
   the site follows the tokens, so every page changes with them.
   ============================================================ */

/* ── Shared ─────────────────────────────────────────────────── */
.um-themes { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); }
.um-themes button { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.um-themes .sw, .theme-menu .sw { border-radius: 50%; }
html.tc-theming, html.tc-theming * , html.tc-theming *::before {
  transition: background-color .3s ease, border-color .3s ease, color .3s ease, fill .3s ease !important;
}

/* ════════════════════════════════════════════════════════════
   OBSIDIAN — premium, icon rail, deep surfaces, metallic accent
   ════════════════════════════════════════════════════════════ */
[data-design="obsidian"] {
  --font: 'Manrope', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  --font-head: 'Sora', 'Manrope', system-ui, sans-serif;
  --radius: 12px; --radius-lg: 18px; --radius-xl: 24px;
  --rail-w: 88px;
}
/* Gold (dark, default) */
[data-design="obsidian"][data-palette="gold"] {
  --primary: #d4a64a; --primary-dark: #b98d34; --primary-light: rgba(212,166,74,.14); --on-primary: #1a1406; --accent-2: #f0d28a;
  --bg: #0b0b0d; --surface: #141417; --surface-solid: #141417; --surface-2: #1b1b1f; --field: #101013;
  --border: rgba(255,255,255,.07); --border-dark: rgba(255,255,255,.13); --glass-edge: rgba(255,255,255,.07);
  --text: #f2efe8; --text-secondary: #b4ada0; --text-muted: #857f74;
  --header-bg: #0f0f12; --rail-bg: #08080a; --rail-text: #8d877c; --rail-active: #f6e7c1; --rail-hover: rgba(255,255,255,.06);
  --rail-accent: #d4a64a; --rail-accent-on: #1a1406;
  --sidebar-bg: #0f0f12; --sidebar-text: #b4ada0; --sidebar-active: #f2efe8; --sidebar-hover: #1b1b1f; --sidebar-accent: #d4a64a;
  --ring: 0 0 0 3px rgba(212,166,74,.25);
  --hero-a: #221e16; --hero-b: #0d0c0a; --hero-text: #f6efe0; --hero-glow: rgba(212,166,74,.38);
}
/* Sapphire (dark) */
[data-design="obsidian"][data-palette="sapphire"] {
  --primary: #6ea8ff; --primary-dark: #4b8df5; --primary-light: rgba(110,168,255,.14); --on-primary: #06101f; --accent-2: #a9cbff;
  --bg: #080b13; --surface: #10151f; --surface-solid: #10151f; --surface-2: #161c28; --field: #0c1019;
  --border: rgba(255,255,255,.07); --border-dark: rgba(255,255,255,.13); --glass-edge: rgba(255,255,255,.07);
  --text: #e8edf6; --text-secondary: #a6b0c2; --text-muted: #7a8597;
  --header-bg: #0c1018; --rail-bg: #05070c; --rail-text: #7f8aa0; --rail-active: #dce8ff; --rail-hover: rgba(255,255,255,.06);
  --rail-accent: #6ea8ff; --rail-accent-on: #06101f;
  --sidebar-bg: #0c1018; --sidebar-text: #a6b0c2; --sidebar-active: #e8edf6; --sidebar-hover: #161c28; --sidebar-accent: #6ea8ff;
  --ring: 0 0 0 3px rgba(110,168,255,.25);
  --hero-a: #15203a; --hero-b: #070a12; --hero-text: #eef4ff; --hero-glow: rgba(110,168,255,.38);
}
/* Jade (dark) */
[data-design="obsidian"][data-palette="jade"] {
  --primary: #3ccf91; --primary-dark: #22b277; --primary-light: rgba(60,207,145,.14); --on-primary: #04150d; --accent-2: #9be8c6;
  --bg: #07100d; --surface: #0e1915; --surface-solid: #0e1915; --surface-2: #13211c; --field: #0a1411;
  --border: rgba(255,255,255,.07); --border-dark: rgba(255,255,255,.13); --glass-edge: rgba(255,255,255,.07);
  --text: #e6f2ec; --text-secondary: #a2b8ae; --text-muted: #74897f;
  --header-bg: #0a1411; --rail-bg: #040a08; --rail-text: #7d948a; --rail-active: #d4f7e6; --rail-hover: rgba(255,255,255,.06);
  --rail-accent: #3ccf91; --rail-accent-on: #04150d;
  --sidebar-bg: #0a1411; --sidebar-text: #a2b8ae; --sidebar-active: #e6f2ec; --sidebar-hover: #13211c; --sidebar-accent: #3ccf91;
  --ring: 0 0 0 3px rgba(60,207,145,.25);
  --hero-a: #11281e; --hero-b: #06100c; --hero-text: #eafaf2; --hero-glow: rgba(60,207,145,.34);
}
/* Ivory (light) */
[data-design="obsidian"][data-palette="ivory"] {
  --primary: #a87b22; --primary-dark: #8c6519; --primary-light: #f4ead3; --on-primary: #fffaf0; --accent-2: #c99a3b;
  --bg: #f6f2ea; --surface: #fffdf8; --surface-solid: #fffdf8; --surface-2: #f8f3ea; --field: #fffdf8;
  --border: #e9e1d2; --border-dark: #d9cdb6; --glass-edge: #e9e1d2;
  --text: #1c1912; --text-secondary: #5c5446; --text-muted: #857b69;
  --header-bg: #fffdf8; --rail-bg: #16130e; --rail-text: #a39a88; --rail-active: #f6e7c1; --rail-hover: rgba(255,255,255,.07);
  --rail-accent: #d4a64a; --rail-accent-on: #1a1406;
  --sidebar-bg: #fffdf8; --sidebar-text: #5c5446; --sidebar-active: #1c1912; --sidebar-hover: #f4ead3; --sidebar-accent: #a87b22;
  --ring: 0 0 0 3px rgba(168,123,34,.2);
  --shadow: 0 1px 2px rgba(60,44,12,.05), 0 6px 18px -6px rgba(60,44,12,.10);
  --shadow-md: 0 2px 6px rgba(60,44,12,.07), 0 18px 36px -10px rgba(60,44,12,.2);
  --hero-a: #241f16; --hero-b: #0f0d09; --hero-text: #f6efe0; --hero-glow: rgba(212,166,74,.42);
}
/* Onyx (light) */
[data-design="obsidian"][data-palette="onyx"] {
  --primary: #18181b; --primary-dark: #000000; --primary-light: #ececee; --on-primary: #ffffff; --accent-2: #d4a64a;
  --bg: #f3f3f4; --surface: #ffffff; --surface-solid: #ffffff; --surface-2: #f7f7f8; --field: #ffffff;
  --border: #e4e4e7; --border-dark: #d4d4d8; --glass-edge: #e4e4e7;
  --text: #0a0a0b; --text-secondary: #52525b; --text-muted: #71717a;
  --header-bg: #ffffff; --rail-bg: #0a0a0b; --rail-text: #8a8a93; --rail-active: #ffffff; --rail-hover: rgba(255,255,255,.07);
  --rail-accent: #d4a64a; --rail-accent-on: #1a1406;
  --sidebar-bg: #ffffff; --sidebar-text: #52525b; --sidebar-active: #0a0a0b; --sidebar-hover: #f4f4f5; --sidebar-accent: #18181b;
  --ring: 0 0 0 3px rgba(24,24,27,.16);
  --shadow: 0 1px 2px rgba(0,0,0,.04), 0 6px 18px -6px rgba(0,0,0,.09);
  --shadow-md: 0 2px 6px rgba(0,0,0,.06), 0 18px 36px -10px rgba(0,0,0,.2);
  --hero-a: #1e1e22; --hero-b: #050506; --hero-text: #fafafa; --hero-glow: rgba(212,166,74,.36);
}

/* type */
[data-design="obsidian"] h1, [data-design="obsidian"] h2, [data-design="obsidian"] h3,
[data-design="obsidian"] .page-title, [data-design="obsidian"] .card-title,
[data-design="obsidian"] .stat-value, [data-design="obsidian"] .ov-funds-amt, [data-design="obsidian"] .ov-kpi-val,
[data-design="obsidian"] .tc-pagehead h1, [data-design="obsidian"] .cx-head h1, [data-design="obsidian"] .auth-title,
[data-design="obsidian"] .tc-dh-bal strong { font-family: var(--font-head); letter-spacing: -.025em; }

/* surfaces */
[data-design="obsidian"][data-theme="dark"] .card,
[data-design="obsidian"][data-theme="dark"] .stat-card,
[data-design="obsidian"][data-theme="dark"] .glass,
[data-design="obsidian"][data-theme="dark"] .ov-kpis,
[data-design="obsidian"][data-theme="dark"] .ov-quick {
  background: linear-gradient(180deg, rgba(255,255,255,.028), rgba(255,255,255,0) 120px), var(--surface);
}
[data-design="obsidian"] .card-header { background: transparent; }
[data-design="obsidian"] .stat-card::before { width: 2px; background: linear-gradient(180deg, var(--primary), transparent); }
[data-design="obsidian"] .table th { text-transform: uppercase; letter-spacing: .06em; font-size: .68rem; }

/* buttons: metallic */
[data-design="obsidian"] .btn-primary, [data-design="obsidian"] .btn-gradient {
  background-image: linear-gradient(180deg, color-mix(in srgb, var(--primary) 78%, #fff), var(--primary));
  border-color: color-mix(in srgb, var(--primary) 80%, #000);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.28), 0 8px 18px -10px var(--primary);
}
[data-design="obsidian"][data-palette="onyx"] .btn-primary { background-image: linear-gradient(180deg, #3a3a40, #121214); }
[data-design="obsidian"] .badge { letter-spacing: .01em; }

/* hero cards (funds, drawer header, sign-in panel) */
[data-design="obsidian"] .ov-funds,
[data-design="obsidian"] .tc-dh,
[data-design="obsidian"] .auth-pitch {
  background:
    radial-gradient(120% 90% at 100% 0%, var(--hero-glow), transparent 55%),
    linear-gradient(150deg, var(--hero-a), var(--hero-b));
  color: var(--hero-text);
  border: 1px solid color-mix(in srgb, var(--rail-accent) 30%, transparent);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.07), 0 24px 48px -24px rgba(0,0,0,.6);
}
[data-design="obsidian"] .ov-funds::before { background: radial-gradient(closest-side, color-mix(in srgb, var(--rail-accent) 30%, transparent), transparent); }
[data-design="obsidian"] .ov-funds-lbl { color: color-mix(in srgb, var(--hero-text) 70%, transparent); text-transform: uppercase; letter-spacing: .1em; font-size: .7rem; }
[data-design="obsidian"] .ov-funds-amt small { color: var(--rail-accent); }
[data-design="obsidian"] .ov-funds .btn-primary,
[data-design="obsidian"] .tc-dh-bal a {
  background: var(--rail-accent); background-image: linear-gradient(180deg, color-mix(in srgb, var(--rail-accent) 75%, #fff), var(--rail-accent));
  color: var(--rail-accent-on); border-color: var(--rail-accent);
}
[data-design="obsidian"] .ov-funds .btn-secondary { background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.16); color: var(--hero-text); }
[data-design="obsidian"] .tc-dh .brand-mark,
[data-design="obsidian"] .tc-dh-av,
[data-design="obsidian"] .auth-pitch .brand-mark { background: var(--rail-accent); color: var(--rail-accent-on); }
[data-design="obsidian"] .auth-pitch::after { background-image: linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px); background-size: 28px 28px; }
[data-design="obsidian"] .auth-points li .ti { background: color-mix(in srgb, var(--rail-accent) 18%, transparent); color: var(--rail-accent); }
[data-design="obsidian"] .brand-mark { border-radius: 10px; }

/* client: icon rail on desktop */
@media (min-width: 1001px) {
  [data-design="obsidian"] .tc-client { padding-left: var(--rail-w); }
  /* no blur on the header: it would trap the fixed rail inside it */
  [data-design="obsidian"] .tc-header { -webkit-backdrop-filter: none; backdrop-filter: none; background: color-mix(in srgb, var(--bg) 94%, transparent); }
  [data-design="obsidian"] .tc-logo {
    position: fixed; z-index: 360; left: 0; top: 0; width: var(--rail-w); height: 70px; justify-content: center;
  }
  [data-design="obsidian"] .tc-logo > span:not(.brand-mark) { display: none; }
  [data-design="obsidian"] .tc-logo img { max-width: 56px; height: 34px; }
  [data-design="obsidian"] .tc-logo .brand-mark { width: 42px; height: 42px; border-radius: 13px; font-size: 1.05rem;
    background: var(--rail-accent); color: var(--rail-accent-on); box-shadow: 0 10px 24px -10px var(--rail-accent); }
  [data-design="obsidian"] .tc-menu {
    position: fixed; z-index: 350; left: 0; top: 0; bottom: 0; width: var(--rail-w); height: auto;
    flex-direction: column; align-items: stretch; gap: 4px; padding: 84px 10px 18px;
    background: var(--rail-bg); border-right: 1px solid rgba(255,255,255,.06);
  }
  [data-design="obsidian"] .tc-mi { flex-direction: column; }
  [data-design="obsidian"] .tc-ml {
    flex-direction: column; justify-content: center; gap: 5px; height: auto; padding: 8px 2px;
    border: 0; border-radius: 14px; color: var(--rail-text); font-size: .68rem; font-weight: 600; text-align: center;
  }
  [data-design="obsidian"] .tc-ml:hover { color: var(--rail-active); }
  [data-design="obsidian"] .tc-ml .ti-chevron-down { display: none; }
  [data-design="obsidian"] .tc-mico {
    display: grid; place-items: center; width: 42px; height: 42px; border-radius: 13px; font-size: 1.22rem;
    transition: background .2s var(--ease), color .2s var(--ease), box-shadow .2s var(--ease);
  }
  [data-design="obsidian"] .tc-ml:hover .tc-mico { background: var(--rail-hover); }
  [data-design="obsidian"] .tc-ml.on { color: var(--rail-active); border-bottom: 0; }
  [data-design="obsidian"] .tc-ml.on .tc-mico { background: var(--rail-accent); color: var(--rail-accent-on); box-shadow: 0 10px 22px -10px var(--rail-accent); }
  [data-design="obsidian"] .tc-drop { top: 0; left: calc(100% + 12px); }
  [data-design="obsidian"] .tc-drop::before { content: ""; position: absolute; left: -16px; top: 0; bottom: 0; width: 16px; }
  [data-design="obsidian"] .tc-header-in { max-width: 1240px; }
  [data-design="obsidian"] .tc-pagehead, [data-design="obsidian"] .tc-page, [data-design="obsidian"] .tc-ann-in, [data-design="obsidian"] .tc-foot-in { max-width: 1240px; }
}
/* phone bar */
@media (max-width: 900px) {
  [data-design="obsidian"] .tabbar { background: color-mix(in srgb, var(--rail-bg) 96%, transparent); border-top-color: rgba(255,255,255,.06); }
  [data-design="obsidian"] .tabbar a { color: var(--rail-text); border-top: 0; margin-top: 0; }
  [data-design="obsidian"] .tabbar a.active { color: var(--rail-active); }
  [data-design="obsidian"] .tabbar a.active .ti { color: var(--rail-accent); }
  [data-design="obsidian"] .tabbar a.tab-main .tab-main-icon {
    width: 42px; height: 42px; margin-top: -12px; border-radius: 14px; background: var(--rail-accent); color: var(--rail-accent-on);
    box-shadow: 0 10px 22px -8px var(--rail-accent), 0 0 0 4px var(--rail-bg);
  }
  [data-design="obsidian"] .tabbar a.tab-main.active .ti { color: var(--rail-accent-on); }
}
/* admin console */
[data-design="obsidian"] .cx-rail { border-right: 1px solid rgba(255,255,255,.06); }
[data-design="obsidian"] .cx-brand .brand-mark { background: var(--rail-accent); color: var(--rail-accent-on); }
[data-design="obsidian"] .cx-link { border-radius: 11px; }
[data-design="obsidian"] .cx-link.on { color: var(--rail-active); background: linear-gradient(90deg, color-mix(in srgb, var(--rail-accent) 18%, transparent), transparent); box-shadow: inset 2px 0 0 var(--rail-accent); }
[data-design="obsidian"] .cx-link.on .ti { color: var(--rail-accent); }
[data-design="obsidian"] .cx-top { -webkit-backdrop-filter: none; backdrop-filter: none; background: color-mix(in srgb, var(--bg) 94%, transparent); }

/* ════════════════════════════════════════════════════════════
   AURORA GLASS — soft gradients, frosted cards, pill menu
   ════════════════════════════════════════════════════════════ */
[data-design="aurora"] {
  --font: 'Plus Jakarta Sans', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  --radius: 14px; --radius-lg: 22px; --radius-xl: 28px;
  --glass: color-mix(in srgb, var(--surface) 72%, transparent);
  --glass-strong: color-mix(in srgb, var(--surface) 86%, transparent);
}
/* Aurora (light, default) */
[data-design="aurora"][data-palette="aurora"] {
  --primary: #6d5dfc; --primary-dark: #5847f0; --primary-light: #eeebff; --on-primary: #ffffff; --accent-2: #ec4899;
  --bg: #f3f1ff; --surface: #ffffff; --surface-solid: #ffffff; --surface-2: #f6f5ff; --field: #ffffff;
  --border: #e7e4fb; --border-dark: #d6d1f5; --glass-edge: rgba(255,255,255,.85);
  --text: #1d1b3a; --text-secondary: #565478; --text-muted: #7f7c9f;
  --header-bg: #f7f5ff; --rail-text: #565478; --rail-active: #1d1b3a; --rail-hover: rgba(109,93,252,.08);
  --sidebar-accent: #6d5dfc; --ring: 0 0 0 4px rgba(109,93,252,.18);
  --aur-1: rgba(165,180,252,.75); --aur-2: rgba(249,168,212,.6); --aur-3: rgba(125,211,252,.55);
  --hero-a: #6d5dfc; --hero-b: #b46cf7; --hero-text: #ffffff;
  --shadow: 0 1px 2px rgba(60,50,160,.05), 0 10px 30px -12px rgba(60,50,160,.18);
  --shadow-md: 0 4px 10px rgba(60,50,160,.08), 0 24px 48px -16px rgba(60,50,160,.28);
}
/* Peach (light) */
[data-design="aurora"][data-palette="peach"] {
  --primary: #e65a4c; --primary-dark: #cf4536; --primary-light: #ffe9e4; --on-primary: #ffffff; --accent-2: #f59e0b;
  --bg: #fff4ef; --surface: #ffffff; --surface-solid: #ffffff; --surface-2: #fff7f3; --field: #ffffff;
  --border: #f6e1d9; --border-dark: #ecccc0; --glass-edge: rgba(255,255,255,.85);
  --text: #3a1f1a; --text-secondary: #77544c; --text-muted: #a07f76;
  --header-bg: #fff6f2; --rail-text: #77544c; --rail-active: #3a1f1a; --rail-hover: rgba(230,90,76,.08);
  --sidebar-accent: #e65a4c; --ring: 0 0 0 4px rgba(230,90,76,.18);
  --aur-1: rgba(254,202,202,.8); --aur-2: rgba(253,230,138,.7); --aur-3: rgba(251,207,232,.6);
  --hero-a: #ee6b55; --hero-b: #f5a142; --hero-text: #ffffff;
  --shadow: 0 1px 2px rgba(150,60,40,.05), 0 10px 30px -12px rgba(150,60,40,.18);
  --shadow-md: 0 4px 10px rgba(150,60,40,.08), 0 24px 48px -16px rgba(150,60,40,.26);
}
/* Mint (light) */
[data-design="aurora"][data-palette="mint"] {
  --primary: #0e9f7a; --primary-dark: #0b8566; --primary-light: #dcf7ee; --on-primary: #ffffff; --accent-2: #0ea5e9;
  --bg: #effbf6; --surface: #ffffff; --surface-solid: #ffffff; --surface-2: #f3fcf8; --field: #ffffff;
  --border: #d7efe5; --border-dark: #bfe3d4; --glass-edge: rgba(255,255,255,.85);
  --text: #0f2a22; --text-secondary: #46645a; --text-muted: #6f8c82;
  --header-bg: #f2fcf8; --rail-text: #46645a; --rail-active: #0f2a22; --rail-hover: rgba(14,159,122,.08);
  --sidebar-accent: #0e9f7a; --ring: 0 0 0 4px rgba(14,159,122,.18);
  --aur-1: rgba(167,243,208,.8); --aur-2: rgba(186,230,253,.75); --aur-3: rgba(217,249,157,.55);
  --hero-a: #0f9f7e; --hero-b: #1f9bd6; --hero-text: #ffffff;
  --shadow: 0 1px 2px rgba(10,90,70,.05), 0 10px 30px -12px rgba(10,90,70,.18);
  --shadow-md: 0 4px 10px rgba(10,90,70,.08), 0 24px 48px -16px rgba(10,90,70,.26);
}
/* Nebula (dark) */
[data-design="aurora"][data-palette="nebula"] {
  --primary: #a78bfa; --primary-dark: #8b6ff5; --primary-light: rgba(167,139,250,.16); --on-primary: #140f2b; --accent-2: #f472b6;
  --bg: #0e0b1f; --surface: #1a1533; --surface-solid: #1a1533; --surface-2: #211b3f; --field: #140f2b;
  --border: rgba(255,255,255,.08); --border-dark: rgba(255,255,255,.14); --glass-edge: rgba(255,255,255,.1);
  --text: #ece9ff; --text-secondary: #b1abd6; --text-muted: #8580ad;
  --header-bg: #120f26; --rail-text: #b1abd6; --rail-active: #ffffff; --rail-hover: rgba(255,255,255,.06);
  --sidebar-accent: #a78bfa; --ring: 0 0 0 4px rgba(167,139,250,.25);
  --aur-1: rgba(124,58,237,.45); --aur-2: rgba(236,72,153,.28); --aur-3: rgba(56,189,248,.2);
  --hero-a: #6a48ee; --hero-b: #b9458f; --hero-text: #ffffff;
  --shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 14px 34px -16px rgba(0,0,0,.6);
  --shadow-md: inset 0 1px 0 rgba(255,255,255,.06), 0 24px 48px -12px rgba(0,0,0,.7);
}
/* Lagoon (dark) */
[data-design="aurora"][data-palette="lagoon"] {
  --primary: #2dd4bf; --primary-dark: #14b8a6; --primary-light: rgba(45,212,191,.15); --on-primary: #04201c; --accent-2: #60a5fa;
  --bg: #061519; --surface: #0d2329; --surface-solid: #0d2329; --surface-2: #122b32; --field: #091b20;
  --border: rgba(255,255,255,.08); --border-dark: rgba(255,255,255,.14); --glass-edge: rgba(255,255,255,.1);
  --text: #e3f6f4; --text-secondary: #9ec4bf; --text-muted: #71958f;
  --header-bg: #08191d; --rail-text: #9ec4bf; --rail-active: #ffffff; --rail-hover: rgba(255,255,255,.06);
  --sidebar-accent: #2dd4bf; --ring: 0 0 0 4px rgba(45,212,191,.22);
  --aur-1: rgba(13,148,136,.45); --aur-2: rgba(37,99,235,.3); --aur-3: rgba(45,212,191,.18);
  --hero-a: #0e8a82; --hero-b: #2557d6; --hero-text: #ffffff;
  --shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 14px 34px -16px rgba(0,0,0,.6);
  --shadow-md: inset 0 1px 0 rgba(255,255,255,.06), 0 24px 48px -12px rgba(0,0,0,.7);
}

/* background: soft light blobs */
[data-design="aurora"] body {
  background:
    radial-gradient(55vw 45vw at 0% 0%, var(--aur-1), transparent 62%),
    radial-gradient(45vw 40vw at 100% 8%, var(--aur-2), transparent 62%),
    radial-gradient(60vw 45vw at 60% 100%, var(--aur-3), transparent 62%),
    var(--bg);
  background-attachment: fixed;
}
[data-design="aurora"] h1, [data-design="aurora"] h2, [data-design="aurora"] .page-title,
[data-design="aurora"] .ov-funds-amt, [data-design="aurora"] .stat-value, [data-design="aurora"] .ov-kpi-val { letter-spacing: -.03em; font-weight: 800; }

/* frosted surfaces (no backdrop blur on cards: it would trap pop-up modals inside them) */
[data-design="aurora"] .card, [data-design="aurora"] .stat-card, [data-design="aurora"] .glass,
[data-design="aurora"] .ov-kpis, [data-design="aurora"] .ov-quick {
  background: var(--glass); border: 1px solid var(--glass-edge); box-shadow: var(--shadow);
}
[data-design="aurora"][data-theme="dark"] .card, [data-design="aurora"][data-theme="dark"] .stat-card,
[data-design="aurora"][data-theme="dark"] .ov-kpis, [data-design="aurora"][data-theme="dark"] .ov-quick { border-color: var(--border); }
[data-design="aurora"] .card-header { background: transparent; border-bottom-color: color-mix(in srgb, var(--border) 70%, transparent); }
[data-design="aurora"] .card-footer { background: color-mix(in srgb, var(--surface-2) 60%, transparent); }
[data-design="aurora"] .stat-card { border-top: 1px solid var(--glass-edge); }
[data-design="aurora"] .stat-card::before { display: none; }
[data-design="aurora"] .stat-card .stat-icon { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 12px; background: var(--primary-light); }
[data-design="aurora"] .table th { background: var(--glass-strong); }
[data-design="aurora"] .table td { border-bottom-color: color-mix(in srgb, var(--border) 70%, transparent); }

/* pills */
[data-design="aurora"] .btn { border-radius: 999px; padding-left: 18px; padding-right: 18px; }
[data-design="aurora"] .btn-icon { padding: 0; }
[data-design="aurora"] .btn-primary, [data-design="aurora"] .btn-gradient {
  background-image: linear-gradient(135deg, var(--primary), color-mix(in srgb, var(--primary) 60%, var(--accent-2)));
  border-color: transparent; box-shadow: 0 10px 22px -10px var(--primary);
}
[data-design="aurora"] .btn-secondary { background: var(--glass-strong); }
[data-design="aurora"] .form-control { border-radius: 14px; background-color: var(--glass-strong); }
[data-design="aurora"] .badge { border-radius: 999px; }
[data-design="aurora"] .chip.on { border-bottom-color: transparent; background: var(--primary-light); border-radius: 999px; }
[data-design="aurora"] .brand-mark { border-radius: 50%; background-image: linear-gradient(135deg, var(--primary), var(--accent-2)); color: #fff; }
[data-design="aurora"] .alert { border-radius: 16px; }

/* hero cards */
[data-design="aurora"] .ov-funds, [data-design="aurora"] .tc-dh, [data-design="aurora"] .auth-pitch {
  background: radial-gradient(90% 120% at 100% 0%, rgba(255,255,255,.28), transparent 55%), linear-gradient(135deg, var(--hero-a), var(--hero-b));
  color: var(--hero-text);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.3), 0 22px 44px -20px var(--hero-a);
}
[data-design="aurora"] .ov-funds .btn-primary, [data-design="aurora"] .tc-dh-bal a { background: #fff; background-image: none; color: var(--hero-a); border-color: #fff; }
[data-design="aurora"] .ov-funds .btn-secondary { background: rgba(255,255,255,.18); border-color: rgba(255,255,255,.4); color: #fff; }
[data-design="aurora"] .tc-dh .brand-mark, [data-design="aurora"] .auth-pitch .brand-mark { background: #fff; background-image: none; color: var(--hero-a); }

/* client: floating pill header on desktop */
@media (min-width: 1001px) {
  [data-design="aurora"] .tc-header { background: transparent; border-bottom: 0; -webkit-backdrop-filter: none; backdrop-filter: none; padding: 12px 20px 0; }
  [data-design="aurora"] .tc-header.is-scrolled { box-shadow: none; }
  [data-design="aurora"] .tc-header-in {
    max-width: 1240px; height: 62px; padding: 0 10px 0 18px; border-radius: 999px;
    background: var(--glass); border: 1px solid var(--glass-edge);
    -webkit-backdrop-filter: blur(18px) saturate(170%); backdrop-filter: blur(18px) saturate(170%);
    box-shadow: var(--shadow);
  }
  [data-design="aurora"][data-theme="dark"] .tc-header-in { border-color: var(--border); }
  [data-design="aurora"] .tc-menu { align-items: center; justify-content: center; gap: 4px; }
  [data-design="aurora"] .tc-mi { align-items: center; }
  [data-design="aurora"] .tc-ml { height: 42px; border: 0; border-radius: 999px; padding: 0 15px; }
  [data-design="aurora"] .tc-ml:hover { background: var(--rail-hover); }
  [data-design="aurora"] .tc-ml.on { background: var(--surface-solid); color: var(--primary); box-shadow: 0 4px 14px -6px color-mix(in srgb, var(--primary) 50%, transparent); }
  [data-design="aurora"] .tc-drop { top: calc(100% + 10px); border-radius: 20px; background: var(--glass-strong);
    -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); }
  [data-design="aurora"] .tc-pagehead, [data-design="aurora"] .tc-page, [data-design="aurora"] .tc-ann-in, [data-design="aurora"] .tc-foot-in { max-width: 1240px; }
}
[data-design="aurora"] .tc-foot { background: transparent; }
[data-design="aurora"] .tc-bal, [data-design="aurora"] .um-btn, [data-design="aurora"] .ov-tier { border-radius: 999px; }
[data-design="aurora"] .tc-bal { background: var(--glass-strong); border-color: var(--glass-edge); }
[data-design="aurora"][data-theme="dark"] .tc-bal { border-color: var(--border-dark); }
[data-design="aurora"] .tc-bal-plus { border-radius: 50%; }
[data-design="obsidian"] .ov-tier { border-radius: 999px; }
[data-design="aurora"] .tc-ann { margin: 10px auto 0; max-width: 1240px; border: 0; border-radius: 999px; }
@media (max-width: 1000px) {
  [data-design="aurora"] .tc-header { background: color-mix(in srgb, var(--header-bg) 94%, transparent); }
  [data-design="aurora"] .tc-burger { border-radius: 50%; background: var(--glass-strong); }
  [data-design="aurora"] .tc-ann { margin: 8px 12px 0; border-radius: 16px; }
}
/* phone: floating dock */
@media (max-width: 900px) {
  [data-design="aurora"] .tabbar {
    left: 12px; right: 12px; bottom: calc(10px + env(safe-area-inset-bottom, 0px)); padding: 6px;
    border-radius: 24px; border: 1px solid var(--glass-edge); background: var(--glass-strong);
    -webkit-backdrop-filter: blur(18px) saturate(170%); backdrop-filter: blur(18px) saturate(170%);
    box-shadow: var(--shadow-md);
  }
  [data-design="aurora"][data-theme="dark"] .tabbar { border-color: var(--border); }
  [data-design="aurora"] .tabbar a { border-top: 0; margin-top: 0; border-radius: 18px; min-height: 52px; }
  [data-design="aurora"] .tabbar a.active { background: var(--primary-light); }
  [data-design="aurora"] .tabbar a.tab-main .tab-main-icon { width: 40px; height: 40px; border-radius: 50%; color: #fff;
    background: linear-gradient(135deg, var(--primary), color-mix(in srgb, var(--primary) 55%, var(--accent-2))); box-shadow: 0 8px 18px -8px var(--primary); }
  [data-design="aurora"] .tabbar a.tab-main { gap: 0; }
  [data-design="aurora"] .tabbar a.tab-main.active { background: transparent; }
  [data-design="aurora"] .tc-page { padding-bottom: 110px; }
}
/* admin console: light frosted rail */
[data-design="aurora"] .cx-rail {
  background: var(--glass-strong); border-right: 1px solid var(--glass-edge); color: var(--rail-text);
  -webkit-backdrop-filter: blur(18px) saturate(170%); backdrop-filter: blur(18px) saturate(170%);
}
[data-design="aurora"][data-theme="dark"] .cx-rail { border-right-color: var(--border); }
[data-design="aurora"] .cx-brand { color: var(--text); border-bottom-color: var(--border); }
[data-design="aurora"] .cx-brand:hover { color: var(--text); }
[data-design="aurora"] .cx-brand-tag { background: var(--primary-light); color: var(--primary); }
[data-design="aurora"] .cx-sec { color: var(--text-muted); }
[data-design="aurora"] .cx-link { border-radius: 999px; }
[data-design="aurora"] .cx-link:hover { color: var(--text); }
[data-design="aurora"] .cx-link.on { color: var(--primary); background: var(--surface-solid); box-shadow: 0 4px 14px -6px color-mix(in srgb, var(--primary) 45%, transparent); }
[data-design="aurora"] .cx-rail-foot { border-top-color: var(--border); }
[data-design="aurora"] .cx-collapse:hover { color: var(--text); }
[data-design="aurora"] .cx-top { background: color-mix(in srgb, var(--header-bg) 70%, transparent); border-bottom-color: var(--glass-edge); }
[data-design="aurora"][data-theme="dark"] .cx-top { border-bottom-color: var(--border); }
[data-design="aurora"] .cx-foot { border-top-color: color-mix(in srgb, var(--border) 60%, transparent); }
/* sign-in shell */
[data-design="aurora"] .ax-bar { background: transparent; border-bottom-color: transparent; }
[data-design="aurora"] .auth-side { background: var(--glass); border-color: var(--glass-edge); }
[data-design="obsidian"] .auth-side { background: var(--surface); }
