/* STX+ Intelligence Suite · v2 surface system, matched to the Floor.
   Flat layered surfaces, hairline borders, restrained colour, no glows. Loaded last on dashboard.html. */
:root{--sx-bg:#070a0f;--sx-s1:#0d1219;--sx-s2:#0a0e15;--sx-in:#121923;--sx-ln:rgba(255,255,255,.07);--sx-ln2:rgba(255,255,255,.13);--sx-tx:#eef2f8;--sx-tx2:#9aa4b6;--sx-tx3:#667085;--sx-ac:#4aa8ff;--sx-up:#2fd39a;--sx-sh:0 1px 0 rgba(255,255,255,.035) inset,0 24px 48px -36px rgba(0,0,0,.9)}
html[data-theme="light"]{--sx-bg:#f5f7fa;--sx-s1:#ffffff;--sx-s2:#fbfcfe;--sx-in:#f2f5f9;--sx-ln:rgba(12,18,32,.08);--sx-ln2:rgba(12,18,32,.15);--sx-tx:#0c1220;--sx-tx2:#556073;--sx-tx3:#8a93a3;--sx-ac:#1668d6;--sx-up:#0e9f6e;--sx-sh:0 1px 2px rgba(16,24,40,.04),0 18px 36px -26px rgba(16,24,40,.16)}

/* page: no coloured washes */
html body{background:var(--sx-bg)!important;background-image:none!important}
html body::before,html body::after,.app-shell::before,.app-shell::after{background:none!important;opacity:0!important}

/* one card surface for every suite panel */
html body .app-main #suite-status,html body .app-main #stx-notifications,html body .app-main #stx-conviction,html body .app-main #stx-trend,html body .app-main #premium,
html body .app-main #overview-products,html body .app-main .account-ribbon,html body .app-main .bc-panel,html body .app-main .px-tile,html body .app-main .px-cta,
html body .sidebar .sidebar-nav-item{
  background:linear-gradient(180deg,var(--sx-s1),var(--sx-s2))!important;background-image:linear-gradient(180deg,var(--sx-s1),var(--sx-s2))!important;
  border:0!important;box-shadow:inset 0 0 0 1px var(--sx-ln),var(--sx-sh)!important;border-radius:16px!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
html body .app-main #suite-status::before,html body .app-main #suite-status::after,html body .app-main #stx-notifications::before,html body .app-main #stx-notifications::after,
html body .app-main #stx-conviction::before,html body .app-main #stx-conviction::after,html body .app-main #stx-trend::before,html body .app-main #stx-trend::after,
html body .app-main #premium::before,html body .app-main #premium::after,html body .app-main .px-tile::before,html body .app-main .px-tile::after,html body .app-main .px-cta::before,html body .app-main .px-cta::after,
html body .sidebar .sidebar-nav-item::before{background:none!important;box-shadow:none!important;opacity:0!important}
html body .app-main #premium .px-tile,html body .app-main #premium .px-cta{box-shadow:inset 0 0 0 1px var(--sx-ln)!important;border-radius:12px!important}
html body .app-main #premium{padding:22px!important}
/* the broadcast wrapper is a section, its inner panel carries the card */
html body .app-main #overview-products{background:none!important;box-shadow:none!important}

/* hover: hairline brightens, nothing moves */
html body .app-main .px-tile:hover,html body .sidebar .sidebar-nav-item:hover{box-shadow:inset 0 0 0 1px var(--sx-ln2),var(--sx-sh)!important;transform:none!important}

/* eyebrows: quieter, sans instead of mono */
html body .app-main .px-eyebrow,html body .app-main .cv-eyebrow,html body .app-main .ts-eyebrow,html body .app-main .premium-systems-hero-copy p:first-child,html body .app-main [class$="-kicker"],html body .app-main .px-code{
  font-family:Inter,system-ui,sans-serif!important;letter-spacing:.12em!important;font-weight:600!important;color:var(--sx-tx3)!important}
html body .app-main h2,html body .app-main h3{letter-spacing:-.02em}

/* icon chips: flat monochrome */
html body .app-main .px-head-icon,html body .app-main .px-mark,html body .sidebar .sidebar-nav-item .nav-icon,html body .sidebar .sidebar-nav-item svg:first-child{filter:none!important}
html body .app-main .px-head-icon,html body .app-main .px-mark{background:var(--sx-in)!important;box-shadow:inset 0 0 0 1px var(--sx-ln)!important;color:var(--sx-tx2)!important}

/* free tools: drop the green rail, keep a small status dot */
html body .sidebar .sidebar-nav-item{border-left:0!important}
html body .sidebar .sidebar-nav-item [class*="free"],html body .sidebar .sidebar-nav-item .nav-tag{color:var(--sx-up)!important;font-family:Inter,system-ui,sans-serif!important;letter-spacing:.1em!important}

/* primary actions: one blue, no gradient */
html body .app-main .px-cta .btn,html body .app-main #suite-status button,html body .app-main #suite-status a.suite-upgrade,html body .app-main [class*="upgrade-btn"]{background:var(--sx-ac)!important;background-image:none!important;box-shadow:none!important;color:#fff!important;border:0!important}
html body .app-main .cv-btn,html body .app-main .ts-btn,html body .app-main .bc-fbtn{background:transparent!important;background-image:none!important;box-shadow:inset 0 0 0 1px var(--sx-ln2)!important;border:0!important;color:var(--sx-tx)!important}

/* inputs */
html body .app-main input[type="text"],html body .app-main input[type="search"]{background:var(--sx-in)!important;box-shadow:inset 0 0 0 1px var(--sx-ln)!important;border:0!important}

/* numbers line up */
html body .app-main{font-variant-numeric:tabular-nums}

html body .app-main #stx-conviction .cv-how{background:transparent!important;color:var(--sx-tx2)!important;box-shadow:inset 0 0 0 1px var(--sx-ln2)!important;border:0!important}
html body .app-main #stx-trend .ts-go{background:var(--sx-ac)!important;background-image:none!important;color:#fff!important;border:0!important;box-shadow:none!important}
html body .app-main #suite-status{background:linear-gradient(180deg,var(--sx-s1),var(--sx-s2))!important}
html body .sidebar .sidebar-nav-item::after{box-shadow:none!important}
/* free tools grid (collapsible sections) */
html body .app-main .free-grid .collapsible-section{background:linear-gradient(180deg,var(--sx-s1),var(--sx-s2))!important;background-image:linear-gradient(180deg,var(--sx-s1),var(--sx-s2))!important;border:0!important;box-shadow:inset 0 0 0 1px var(--sx-ln),var(--sx-sh)!important;border-radius:16px!important}
html body .app-main .free-grid .collapsible-section::before{display:none!important}
html body .app-main .free-grid .collapsible-section:hover{box-shadow:inset 0 0 0 1px var(--sx-ln2),var(--sx-sh)!important}
html body .app-main .free-grid .sec-icon{background:var(--sx-in)!important;border:0!important;box-shadow:inset 0 0 0 1px var(--sx-ln)!important;color:var(--sx-tx2)!important}
/* v129: conviction rows are one card — no inner box around the header, open state flows into the detail */
html body .app-main .cv-btn{box-shadow:none!important;border-radius:14px!important}
html body .app-main .cv-row{overflow:hidden}
html body .app-main .cv-row.open .cv-btn{padding-bottom:6px!important}
html body .app-main .cv-row.open .cv-detail{padding-top:4px!important;border-top:1px solid var(--sx-ln,rgba(127,127,127,.12));margin:0 14px;padding-left:0!important;padding-right:0!important;padding-top:12px!important}
