:root {
  --bg: #070a0f;
  --bg-soft: #0a0e14;
  --panel: #0d1219;
  --panel-2: #111821;
  --panel-3: #151d27;
  --border: #202a35;
  --border-strong: #2d3946;
  --text: #f7f9fc;
  --muted: #7f8b99;
  --muted-2: #53606d;
  --accent: #2de0c2;
  --accent-soft: rgba(45, 224, 194, .12);
  --blue: #4ca6ff;
  --green: #35dc8c;
  --red: #ff5d6c;
  --yellow: #f6c85f;
  --purple: #9d7bff;
}

* { box-sizing: border-box; }

body {
  user-select: none;
}

input,
textarea,
select,
[contenteditable="true"],
.nvx-indicator-code,
.history-batch-box textarea {
  user-select: text;
}

html { scroll-behavior: smooth; }

body {
  margin: 0;
  min-height: 100vh;
  color: var(--text);
  font-size: var(--nvx-font-size, 16px);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background:
    radial-gradient(circle at 50% -10%, rgba(45, 224, 194, .07), transparent 28%),
    linear-gradient(180deg, #080b10 0%, #070a0f 100%);
}

body.nvx-theme-onyx {
  --bg: #030507;
  --bg-soft: #06090d;
  --panel: #080c11;
  --panel-2: #0b1016;
  --panel-3: #101720;
  --border: #1c2630;
  --border-strong: #2b3743;
  --text: #f5f8fb;
  --muted: #8391a0;
  --accent: #f2f5f7;
  --accent-soft: rgba(242, 245, 247, .10);
}

body.nvx-theme-slate {
  --bg: #0a1017;
  --bg-soft: #0e1620;
  --panel: #111a24;
  --panel-2: #15202b;
  --panel-3: #1a2734;
  --border: #2d3b49;
  --border-strong: #415160;
  --text: #f4f8fb;
  --muted: #92a2b3;
  --accent: #69b7ff;
  --accent-soft: rgba(105, 183, 255, .12);
}

body.nvx-theme-emerald {
  --bg: #04110f;
  --bg-soft: #071916;
  --panel: #0a1816;
  --panel-2: #0d211e;
  --panel-3: #112b27;
  --border: #1f3a36;
  --border-strong: #31554e;
  --text: #f3fffc;
  --muted: #8aa7a0;
  --accent: #3ef0c7;
  --accent-soft: rgba(62, 240, 199, .13);
}

body.nvx-theme-ultraviolet {
  --bg: #090513;
  --bg-soft: #12091f;
  --panel: #130d20;
  --panel-2: #1a112b;
  --panel-3: #24173a;
  --border: #34224e;
  --border-strong: #563579;
  --text: #fbf7ff;
  --muted: #a998bd;
  --accent: #b76dff;
  --accent-soft: rgba(183, 109, 255, .14);
}

body.nvx-theme-amber {
  --bg: #100904;
  --bg-soft: #190f06;
  --panel: #171007;
  --panel-2: #21170c;
  --panel-3: #2b2114;
  --border: #3f2d17;
  --border-strong: #6b4a22;
  --text: #fffaf0;
  --muted: #b8a17f;
  --accent: #ffbf49;
  --accent-soft: rgba(255, 191, 73, .14);
}

body.nvx-theme-ice {
  --bg: #051017;
  --bg-soft: #071825;
  --panel: #0a1824;
  --panel-2: #0f2231;
  --panel-3: #132d40;
  --border: #254558;
  --border-strong: #3f6d84;
  --text: #f4fcff;
  --muted: #91aebd;
  --accent: #7ce8ff;
  --accent-soft: rgba(124, 232, 255, .13);
}

body.nvx-theme-crimson {
  --bg: #10050a;
  --bg-soft: #190812;
  --panel: #170912;
  --panel-2: #220e18;
  --panel-3: #301421;
  --border: #432031;
  --border-strong: #74304c;
  --text: #fff6f8;
  --muted: #b995a2;
  --accent: #ff4d7a;
  --accent-soft: rgba(255, 77, 122, .14);
}

body.nvx-theme-cyber {
  --bg: #020812;
  --bg-soft: #061220;
  --panel: #07131f;
  --panel-2: #0b1d2d;
  --panel-3: #0f2a3f;
  --border: #12384e;
  --border-strong: #1b6381;
  --text: #f0fbff;
  --muted: #84a9bb;
  --accent: #00d4ff;
  --accent-soft: rgba(0, 212, 255, .14);
}

body.nvx-theme-royal {
  --bg: #070715;
  --bg-soft: #0d0c22;
  --panel: #100f24;
  --panel-2: #171534;
  --panel-3: #211d46;
  --border: #302b58;
  --border-strong: #514a87;
  --text: #faf8ff;
  --muted: #aaa4c7;
  --accent: #8e7cff;
  --accent-soft: rgba(142, 124, 255, .15);
}

body.nvx-theme-carbon {
  --bg: #050607;
  --bg-soft: #080a0c;
  --panel: #0b0e11;
  --panel-2: #111519;
  --panel-3: #171c21;
  --border: #252b31;
  --border-strong: #3d454d;
  --text: #f5f7f9;
  --muted: #929ca6;
  --accent: #d9dde2;
  --accent-soft: rgba(217, 221, 226, .12);
}

body.nvx-bg-clean {
  background: linear-gradient(180deg, var(--bg-soft) 0%, var(--bg) 100%);
}

body.nvx-bg-grid {
  background:
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px),
    radial-gradient(circle at 50% -10%, rgba(45, 224, 194, .08), transparent 30%),
    linear-gradient(180deg, var(--bg-soft) 0%, var(--bg) 100%);
  background-size: 46px 46px, 46px 46px, auto, auto;
}

body.nvx-bg-aurora {
  background:
    radial-gradient(circle at 12% 10%, rgba(45,224,194,.14), transparent 26%),
    radial-gradient(circle at 80% 16%, rgba(105,183,255,.13), transparent 28%),
    linear-gradient(120deg, var(--bg-soft), var(--bg));
  background-size: 120% 120%;
  animation: nvxAurora 16s ease-in-out infinite alternate;
}

body.nvx-bg-matrix {
  background:
    repeating-linear-gradient(90deg, rgba(45,224,194,.045) 0 1px, transparent 1px 34px),
    repeating-linear-gradient(0deg, rgba(45,224,194,.025) 0 1px, transparent 1px 34px),
    linear-gradient(180deg, var(--bg-soft), var(--bg));
  background-size: 34px 34px, 34px 34px, auto;
  animation: nvxMatrix 18s linear infinite;
}

body.nvx-bg-terminal {
  background:
    radial-gradient(circle at 18% 16%, rgba(45,224,194,.12), transparent 26%),
    radial-gradient(circle at 80% 8%, rgba(76,166,255,.12), transparent 24%),
    linear-gradient(90deg, rgba(45,224,194,.055) 1px, transparent 1px),
    linear-gradient(rgba(105,183,255,.040) 1px, transparent 1px),
    linear-gradient(180deg, #020807 0%, #06111a 52%, #03060a 100%);
  background-size: auto, auto, 46px 46px, 46px 46px, auto;
  animation: nvxTerminalGrid 28s linear infinite;
}

body.nvx-bg-terminal::before,
body.nvx-bg-terminal::after {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  content: "";
}

body.nvx-bg-terminal::before {
  opacity: .18;
  background:
    repeating-linear-gradient(90deg, transparent 0 112px, rgba(45,224,194,.18) 113px, transparent 114px),
    repeating-linear-gradient(180deg, transparent 0 64px, rgba(105,183,255,.11) 65px, transparent 66px);
  mask-image: linear-gradient(180deg, transparent 0%, #000 18%, #000 72%, transparent 100%);
  animation: nvxTerminalScan 16s linear infinite;
}

body.nvx-bg-terminal::after {
  top: 88px;
  left: auto;
  right: 22px;
  width: min(520px, 42vw);
  height: calc(100vh - 120px);
  color: rgba(45,224,194,.22);
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 11px;
  line-height: 1.8;
  white-space: pre-wrap;
  text-shadow: 0 0 14px rgba(45,224,194,.45);
  content: "NQ  683.96  GEX -52.36M\A ES  699.00  DEX -1.63M\A GC  VEX 24  PCR 1.828\A 0101 1100 0110 1001\A CALL WALL   PUT WALL\A GAMMA FLIP  MAX PAIN\A FLOW DELTA   VOLUME\A 1010 0011 1110 0101\A RISK PLAN    EXECUTE";
  opacity: .55;
  transform: translateY(0);
  animation: nvxTerminalTape 22s linear infinite;
}

body.nvx-bg-terminal .site-header,
body.nvx-bg-terminal .app-shell,
body.nvx-bg-terminal .toast {
  position: relative;
  z-index: 1;
}

body.nvx-bg-stars {
  background:
    radial-gradient(circle at 12% 22%, rgba(255,255,255,.40) 0 1px, transparent 2px),
    radial-gradient(circle at 36% 66%, rgba(255,255,255,.28) 0 1px, transparent 2px),
    radial-gradient(circle at 70% 30%, rgba(255,255,255,.34) 0 1px, transparent 2px),
    radial-gradient(circle at 88% 72%, rgba(45,224,194,.45) 0 1px, transparent 2px),
    linear-gradient(180deg, var(--bg-soft), var(--bg));
  background-size: 360px 360px, 420px 420px, 520px 520px, 460px 460px, auto;
  animation: nvxStars 28s linear infinite;
}

body.nvx-bg-space {
  background:
    radial-gradient(circle at 12% 20%, rgba(255,255,255,.50) 0 1px, transparent 2px),
    radial-gradient(circle at 72% 18%, rgba(124,232,255,.58) 0 1px, transparent 2px),
    radial-gradient(circle at 44% 76%, rgba(183,109,255,.50) 0 1px, transparent 2px),
    radial-gradient(circle at 74% 72%, rgba(45,224,194,.45) 0 1px, transparent 2px),
    radial-gradient(circle at 50% -20%, rgba(76,166,255,.12), transparent 34%),
    linear-gradient(180deg, var(--bg-soft), var(--bg));
  background-size: 420px 420px, 520px 520px, 620px 620px, 480px 480px, auto, auto;
  animation: nvxSpace 42s linear infinite;
}

body.nvx-bg-nebula {
  background:
    radial-gradient(circle at 18% 24%, rgba(183,109,255,.22), transparent 30%),
    radial-gradient(circle at 82% 22%, rgba(45,224,194,.18), transparent 28%),
    radial-gradient(circle at 52% 78%, rgba(255,77,122,.12), transparent 32%),
    linear-gradient(135deg, var(--bg-soft), var(--bg));
  background-size: 130% 130%;
  animation: nvxNebula 20s ease-in-out infinite alternate;
}

body.nvx-bg-waves {
  background:
    repeating-radial-gradient(ellipse at 18% 88%, rgba(45,224,194,.055) 0 2px, transparent 2px 26px),
    repeating-radial-gradient(ellipse at 92% 8%, rgba(76,166,255,.05) 0 2px, transparent 2px 28px),
    linear-gradient(180deg, var(--bg-soft), var(--bg));
  background-size: 700px 380px, 760px 420px, auto;
  animation: nvxWaves 24s ease-in-out infinite alternate;
}

body.nvx-bg-abstract {
  background:
    radial-gradient(circle at 16% 18%, rgba(255,255,255,.08), transparent 22%),
    radial-gradient(circle at 86% 18%, rgba(45,224,194,.16), transparent 26%),
    radial-gradient(circle at 62% 76%, rgba(142,124,255,.13), transparent 28%),
    conic-gradient(from 150deg at 50% 40%, var(--bg), var(--bg-soft), #122033, var(--bg));
  background-size: 120% 120%;
  animation: nvxAbstract 18s ease-in-out infinite alternate;
}

@keyframes nvxAurora {
  from { background-position: 0% 0%; }
  to { background-position: 100% 45%; }
}

@keyframes nvxMatrix {
  from { background-position: 0 0, 0 0, 0 0; }
  to { background-position: 34px 68px, 68px 34px, 0 0; }
}

@keyframes nvxTerminalGrid {
  from { background-position: 0 0, 0 0, 0 0, 0 0, 0 0; }
  to { background-position: 0 0, 0 0, 92px 46px, 46px 92px, 0 0; }
}

@keyframes nvxTerminalScan {
  from { transform: translateY(-28px); }
  to { transform: translateY(28px); }
}

@keyframes nvxTerminalTape {
  0% { opacity: .34; transform: translateY(24px); }
  50% { opacity: .62; }
  100% { opacity: .34; transform: translateY(-42px); }
}

@keyframes nvxStars {
  from { background-position: 0 0, 0 0, 0 0, 0 0, 0 0; }
  to { background-position: 90px 160px, -120px 180px, 140px -80px, -90px -120px, 0 0; }
}

@keyframes nvxSpace {
  from { background-position: 0 0, 0 0, 0 0, 0 0, 0 0, 0 0; }
  to { background-position: 120px 220px, -180px 260px, 210px -120px, -160px -180px, 0 0, 0 0; }
}

@keyframes nvxNebula {
  from { background-position: 0% 0%; }
  to { background-position: 100% 50%; }
}

@keyframes nvxWaves {
  from { background-position: 0 0, 0 0, 0 0; }
  to { background-position: 90px -70px, -120px 80px, 0 0; }
}

@keyframes nvxAbstract {
  from { background-position: 0% 0%; }
  to { background-position: 100% 55%; }
}

button { font: inherit; }

.top-gradient {
  height: 2px;
  background: linear-gradient(90deg, transparent 0%, var(--accent) 30%, #4e8cff 68%, transparent 100%);
  opacity: .8;
}

/* HEADER */

.site-header {
  min-height: 104px;
  display: grid;
  grid-template-columns: minmax(300px, 1fr) auto minmax(300px, 1fr);
  align-items: center;
  gap: 28px;
  padding: 18px 36px 0;
  border-bottom: 1px solid rgba(255,255,255,.045);
  background: rgba(7, 10, 15, .93);
  backdrop-filter: blur(18px);
  position: sticky;
  top: 0;
  z-index: 50;
}

.header-brand {
  display: flex;
  align-items: center;
  gap: 14px;
  justify-self: start;
}

.logo {
  width: 50px;
  height: 50px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(45, 224, 194, .48);
  border-radius: 14px;
  color: var(--accent);
  font-weight: 900;
  letter-spacing: .03em;
  background:
    linear-gradient(145deg, rgba(45,224,194,.11), rgba(8,13,18,.96));
  box-shadow:
    0 0 0 1px rgba(45,224,194,.05) inset,
    0 0 14px rgba(45,224,194,.32),
    0 0 36px rgba(45,224,194,.12);
}

.brand-copy { line-height: 1.1; }

.brand {
  font-size: 21px;
  font-weight: 850;
  letter-spacing: .035em;
}

.subtitle {
  margin-top: 5px;
  color: #7890a7;
  font-size: 12px;
}

.header-center {
  display: flex;
  flex-direction: column;
  align-items: center;
  align-self: end;
  gap: 8px;
  min-width: 360px;
}

.asset-switch {
  display: inline-flex;
  align-items: center;
  padding: 4px;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: #0a0e14;
  box-shadow: 0 8px 24px rgba(0,0,0,.22);
}

.asset-btn {
  min-width: 48px;
  padding: 8px 14px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #697687;
  cursor: pointer;
  transition: .2s ease;
}

.asset-btn:hover { color: #d9e2ec; }

.asset-btn.active {
  color: #07100e;
  background: var(--accent);
  box-shadow: 0 0 18px rgba(45,224,194,.22);
  font-weight: 800;
}

.tabs {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 2px;
  min-width: 320px;
}

.tab {
  min-width: 92px;
  padding: 14px 18px 13px;
  border: 0;
  border-bottom: 2px solid transparent;
  background: transparent;
  color: #728093;
  cursor: pointer;
  transition: .2s ease;
}

.tab:hover { color: #dce5ee; }

.tab.active {
  color: #fff;
  border-bottom-color: var(--accent);
  text-shadow: 0 0 18px rgba(45,224,194,.25);
}

.header-status {
  justify-self: end;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 8px;
}

.status-ring {
  width: 12px;
  height: 12px;
  border: 1px solid #41505f;
  border-radius: 50%;
  opacity: .8;
}

.live-pill {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 38px;
  padding: 0 14px;
  border: 1px solid #34414e;
  border-radius: 999px;
  color: #eef4fb;
  background: rgba(10,14,20,.88);
  box-shadow: 0 12px 34px rgba(0,0,0,.24);
  font-size: 11px;
}

.live-pill strong {
  letter-spacing: .04em;
  font-size: 11px;
}

.live-pill small {
  color: #7e8c9d;
  font-size: 10px;
}

.live-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--green);
  box-shadow:
    0 0 8px rgba(53,220,140,.95),
    0 0 20px rgba(53,220,140,.46);
}

/* LAYOUT */

.app-shell {
  width: min(1280px, calc(100% - 48px));
  margin: 0 auto;
  padding: 46px 0 72px;
}

.dashboard-hero {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 40px;
  padding: 10px 4px 34px;
}

.eyebrow,
.section-kicker,
.section-label {
  color: var(--accent);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .18em;
}

.dashboard-hero h1 {
  margin: 10px 0 0;
  font-size: clamp(32px, 4vw, 56px);
  line-height: 1.02;
  letter-spacing: -.045em;
}

.dashboard-hero h1 span { color: #3f4a56; }

.dashboard-hero p {
  width: min(420px, 100%);
  margin: 0 0 5px;
  color: var(--muted);
  line-height: 1.65;
}

.view { display: none; }
.view.active { display: block; }

/* PANELS */

.panel {
  position: relative;
  overflow: hidden;
  padding: 26px;
  border: 1px solid var(--border);
  border-radius: 18px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.022), transparent 24%),
    linear-gradient(145deg, #0d1219, #0a0f15);
  box-shadow:
    0 30px 90px rgba(0,0,0,.31),
    0 1px 0 rgba(255,255,255,.025) inset;
}

.panel::before {
  content: "";
  position: absolute;
  inset: 0 auto auto 0;
  width: 300px;
  height: 1px;
  background: linear-gradient(90deg, var(--accent), transparent);
  opacity: .6;
}

.panel-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 24px;
}

.panel h2 {
  margin: 10px 0 7px;
  font-size: 27px;
  letter-spacing: -.025em;
}

.panel p {
  margin: 0;
  color: var(--muted);
}

.regime-pill {
  display: inline-flex;
  padding: 7px 11px;
  border: 1px solid rgba(255,93,108,.48);
  border-radius: 999px;
  color: var(--red);
  background: rgba(255,93,108,.05);
  font-size: 11px;
  font-weight: 800;
}

.primary-btn {
  padding: 11px 16px;
  border: 1px solid rgba(45,224,194,.38);
  border-radius: 10px;
  color: #07110f;
  background: var(--accent);
  font-weight: 850;
  cursor: pointer;
  box-shadow: 0 0 22px rgba(45,224,194,.14);
  transition: .2s ease;
}

.primary-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 0 30px rgba(45,224,194,.24);
}

.stats-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0,1fr));
  gap: 12px;
  margin-bottom: 28px;
}

.stat {
  min-height: 104px;
  padding: 16px;
  border: 1px solid #1f2a35;
  border-radius: 13px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.018), transparent),
    #10161e;
  transition: border-color .2s ease, transform .2s ease;
}

.stat:hover {
  transform: translateY(-2px);
  border-color: #334352;
}

.stat span {
  display: block;
  color: #718092;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.stat strong {
  display: block;
  margin-top: 11px;
  font-size: 23px;
}

.stat small {
  display: block;
  margin-top: 7px;
  color: #566474;
  font-size: 10px;
}

.positive { color: var(--green); }
.negative { color: var(--red); }
.warning { color: var(--yellow); }

.section-label {
  margin: 4px 0 12px;
}

/* TABLE */

.table-wrap {
  overflow: auto;
  border: 1px solid var(--border);
  border-radius: 13px;
  background: #0a0f15;
}

table {
  width: 100%;
  min-width: 920px;
  border-collapse: collapse;
}

th, td {
  padding: 14px 13px;
  text-align: left;
  border-bottom: 1px solid #1c2530;
  vertical-align: top;
}

th {
  color: #607080;
  background: #0d131a;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .12em;
}

td {
  color: #dce4ed;
  font-size: 13px;
}

tbody tr {
  transition: background .18s ease;
}

tbody tr:hover {
  background: rgba(45,224,194,.035);
}

.grade {
  display: inline-flex;
  min-width: 34px;
  justify-content: center;
  padding: 4px 7px;
  border-radius: 7px;
  font-weight: 900;
}

.grade-a {
  color: var(--green);
  background: rgba(53,220,140,.08);
}

.grade-b {
  color: var(--yellow);
  background: rgba(246,200,95,.08);
}

.tag-list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.tag {
  padding: 5px 8px;
  border: 1px solid #2a3845;
  border-radius: 999px;
  color: #aebdca;
  background: #0d141c;
  font-size: 10px;
}

/* HEATMAP */

.heatmap-head { align-items: flex-end; }

.metric-switch {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.metric {
  padding: 8px 12px;
  border: 1px solid #26323e;
  border-radius: 999px;
  color: #778597;
  background: #0b1016;
  cursor: pointer;
}

.metric:hover { color: #dce6ef; }

.metric.active {
  color: #07110f;
  background: var(--accent);
  border-color: var(--accent);
  font-weight: 800;
}

.heatmap-table {
  overflow: auto;
  border: 1px solid var(--border);
  border-radius: 13px;
  background: #090e14;
}

.heat-row {
  display: grid;
  grid-template-columns: 100px repeat(6, minmax(110px, 1fr));
  min-width: 800px;
}

.heat-cell {
  padding: 12px 10px;
  border-right: 1px solid rgba(255,255,255,.055);
  border-bottom: 1px solid rgba(255,255,255,.055);
  font-size: 12px;
}

.heat-cell.head {
  color: #6f7d8d;
  background: #0d131a;
  font-weight: 800;
}

.heat-cell.strike {
  color: #f1f5f9;
  background: #10161e;
  font-weight: 900;
}

/* BIAS */

.hit-rate {
  min-width: 130px;
  padding: 12px 18px;
  border: 1px solid #2d3946;
  border-radius: 13px;
  text-align: center;
  background: #0d141b;
}

.hit-rate strong {
  display: block;
  color: var(--accent);
  font-size: 25px;
}

.hit-rate span {
  color: #6c7a8b;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .1em;
}

.bias-stats {
  grid-template-columns: repeat(4,minmax(0,1fr));
}

.bias-meter-wrap {
  margin: 22px 0 30px;
  padding: 20px;
  border: 1px solid var(--border);
  border-radius: 13px;
  background: #0d131a;
}

.bias-row {
  display: flex;
  justify-content: space-between;
  margin-bottom: 12px;
}

.bias-row span {
  color: var(--muted);
  font-size: 12px;
}

.bias-meter {
  position: relative;
  height: 12px;
  overflow: hidden;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--red), #6f7885, var(--green));
}

.bias-center {
  position: absolute;
  z-index: 2;
  left: 50%;
  top: -4px;
  width: 2px;
  height: 20px;
  background: white;
}

.bias-fill {
  position: absolute;
  top: 0;
  height: 100%;
  background: rgba(255,255,255,.32);
}

.zone-cards {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 12px;
}

.zone-card {
  padding: 16px;
  border: 1px solid var(--border);
  border-radius: 13px;
  background: #10161e;
}

.zone-card strong {
  font-size: 23px;
}

.zone-card span {
  display: block;
  margin-top: 7px;
  color: var(--muted);
  font-size: 12px;
}

.toast {
  position: fixed;
  right: 24px;
  bottom: 24px;
  padding: 12px 16px;
  border: 1px solid var(--border-strong);
  border-radius: 10px;
  color: #f4f8fb;
  background: #101720;
  opacity: 0;
  transform: translateY(12px);
  transition: .2s;
  pointer-events: none;
  box-shadow: 0 18px 50px rgba(0,0,0,.35);
}

.toast.show {
  opacity: 1;
  transform: translateY(0);
}

/* RESPONSIVE */

@media (max-width: 1050px) {
  .site-header {
    grid-template-columns: 1fr auto;
    padding-bottom: 0;
  }

  .header-center {
    grid-column: 1 / -1;
    grid-row: 2;
    width: 100%;
  }

  .header-status {
    grid-column: 2;
    grid-row: 1;
  }

  .tabs { width: 100%; }
}

@media (max-width: 900px) {
  .dashboard-hero,
  .panel-head {
    flex-direction: column;
    align-items: flex-start;
  }

  .stats-grid,
  .bias-stats {
    grid-template-columns: repeat(2,1fr);
  }

  .zone-cards { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .site-header {
    padding: 14px 16px 0;
    grid-template-columns: 1fr;
  }

  .header-status {
    position: absolute;
    top: 22px;
    right: 16px;
  }

  .status-ring { display: none; }

  .live-pill small { display: none; }

  .header-center {
    min-width: 0;
    margin-top: 8px;
  }

  .tabs {
    min-width: 0;
    overflow-x: auto;
  }

  .tab {
    min-width: 82px;
    padding-inline: 12px;
  }

  .app-shell {
    width: min(100% - 20px, 1280px);
    padding-top: 28px;
  }

  .dashboard-hero h1 { font-size: 34px; }

  .panel { padding: 16px; }

  .stats-grid,
  .bias-stats {
    grid-template-columns: 1fr;
  }

  .primary-btn { width: 100%; }
}


/* Expanded navigation and account */
.header-right{justify-self:end;display:flex;align-items:center;gap:12px}.profile-wrap{position:relative}.profile-btn{display:flex;align-items:center;gap:10px;padding:6px 10px 6px 7px;border:1px solid #2b3743;border-radius:14px;background:#0b1016;color:#fff;cursor:pointer;min-width:162px}.profile-btn:hover{border-color:rgba(45,224,194,.45)}.profile-avatar{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;color:var(--accent);font-weight:900;background:linear-gradient(145deg,rgba(45,224,194,.15),#0b1218);border:1px solid rgba(45,224,194,.42);box-shadow:0 0 15px rgba(45,224,194,.17)}.profile-avatar.large{width:42px;height:42px}.profile-copy{display:flex;flex-direction:column;align-items:flex-start;line-height:1.15}.profile-copy strong{font-size:12px}.profile-copy small,.profile-menu-head small{color:#718092;font-size:10px;margin-top:4px}.chevron{margin-left:auto;color:#718092}.profile-menu{display:none;position:absolute;right:0;top:calc(100% + 10px);width:240px;padding:9px;border:1px solid #293642;border-radius:15px;background:#0b1016;box-shadow:0 22px 70px rgba(0,0,0,.5);z-index:100}.profile-menu.open{display:block}.profile-menu-head{display:flex;gap:11px;align-items:center;padding:10px;margin-bottom:6px;border-bottom:1px solid #1f2933}.profile-menu-head div{display:flex;flex-direction:column}.profile-menu button{width:100%;padding:10px 11px;border:0;border-radius:9px;text-align:left;color:#aeb8c4;background:transparent;cursor:pointer}.profile-menu button:hover{color:#fff;background:#121a23}.profile-menu .logout{color:var(--red)}.menu-separator{height:1px;background:#1f2933;margin:5px 0}.tabs{min-width:700px;overflow-x:auto;scrollbar-width:none}.tab{min-width:auto;padding-inline:13px}.site-header{grid-template-columns:minmax(270px,1fr) auto minmax(300px,1fr)}

/* Overview */
.overview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.overview-main{grid-column:span 3}.overview-list{grid-column:span 3}.overview-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:12px 0 26px}.overview-metrics>div{padding:16px;border:1px solid var(--border);border-radius:13px;background:#10161e}.overview-metrics span{display:block;color:#718092;font-size:10px;text-transform:uppercase;letter-spacing:.12em}.overview-metrics strong{display:block;margin-top:10px;font-size:24px}.confidence-badge{padding:8px 12px;border:1px solid rgba(45,224,194,.35);border-radius:999px;color:var(--accent);background:rgba(45,224,194,.06);font-size:11px}.market-lane{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px}.lane-label{color:#687687;font-size:10px;text-transform:uppercase}.lane{height:10px;position:relative;border-radius:999px;background:linear-gradient(90deg,var(--red),#596575,var(--green))}.lane-center{position:absolute;left:50%;top:-4px;width:2px;height:18px;background:white}.lane-marker{position:absolute;top:-5px;width:20px;height:20px;border-radius:50%;background:#fff;border:4px solid var(--accent);box-shadow:0 0 16px rgba(45,224,194,.55);transform:translateX(-50%)}.mini-panel{min-height:175px;display:flex;flex-direction:column;justify-content:center}.mini-panel>strong{font-size:31px;margin-top:14px}.mini-panel>small{color:var(--muted);margin-top:7px}.sync-status{display:flex;align-items:center;gap:9px;margin-top:17px}.ghost-btn{margin-top:15px;width:max-content;padding:9px 12px;border:1px solid #2b3946;border-radius:9px;color:#b9c5d0;background:#0b1118;cursor:pointer}.ghost-btn:hover{border-color:var(--accent);color:#fff}.overview-level-list{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.overview-level-item{padding:15px;border:1px solid var(--border);border-radius:12px;background:#0f161e}.overview-level-item .top{display:flex;justify-content:space-between;align-items:center}.overview-level-item strong{font-size:21px}.overview-level-item p{margin-top:8px;font-size:11px;line-height:1.5}.panel-head.compact{margin-bottom:15px}
.dashboard-grid{grid-template-columns:minmax(300px,.78fr) minmax(430px,1.15fr) minmax(300px,.82fr);align-items:start}.dashboard-market-card{grid-column:1/-1;background:radial-gradient(circle at 10% 0,rgba(45,224,194,.08),transparent 34%),linear-gradient(145deg,#0d141d,#090e14)}.dashboard-calendar-card,.dashboard-level-card,.dashboard-action-card{min-height:430px}.dashboard-calendar-card .panel-head,.dashboard-action-card .panel-head{align-items:flex-start}.dashboard-open-journal{margin-top:0;padding:7px 10px}.dashboard-calendar-summary{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:12px}.dashboard-calendar-summary>div{padding:12px;border:1px solid var(--border);border-radius:11px;background:#0d141c}.dashboard-calendar-summary span{display:block;color:#718092;font-size:9px;text-transform:uppercase;letter-spacing:.1em}.dashboard-calendar-summary strong{display:block;margin-top:7px;font-size:17px}.dashboard-calendar-summary .positive{color:var(--green)}.dashboard-calendar-summary .negative{color:var(--red)}.dashboard-calendar-label{margin-bottom:9px;color:#cbd6df;font-size:12px;font-weight:800;text-transform:capitalize}.dashboard-calendar-weekdays,.dashboard-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.dashboard-calendar-weekdays{margin-bottom:5px;color:#667587;font-size:8px;text-align:center}.dashboard-calendar-day{min-height:43px;padding:6px;border:1px solid #22303c;border-radius:8px;color:#dce6ee;background:#091017;text-align:left;cursor:pointer}.dashboard-calendar-day:hover{border-color:#4b5b68}.dashboard-calendar-day.outside{opacity:.34}.dashboard-calendar-day.today{border-color:var(--blue)}.dashboard-calendar-day.selected{border-color:var(--accent);box-shadow:0 0 0 1px rgba(45,224,194,.5)}.dashboard-calendar-day.profit{background:linear-gradient(145deg,rgba(6,63,37,.75),#07120e)}.dashboard-calendar-day.loss{background:linear-gradient(145deg,rgba(72,13,20,.78),#15090d)}.dashboard-calendar-day b{display:block;font-size:10px}.dashboard-calendar-day strong{display:block;margin-top:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center;font-size:10px}.dashboard-calendar-day small{display:block;margin-top:2px;color:#9aa8b6;text-align:center;font-size:8px}.dashboard-calendar-day.profit strong{color:var(--green)}.dashboard-calendar-day.loss strong{color:var(--red)}.dashboard-level-card{grid-column:auto}.dashboard-level-card .overview-level-list{grid-template-columns:1fr}.dashboard-action-list{display:grid;gap:10px}.dashboard-action-list>div{padding:14px;border:1px solid var(--border);border-radius:12px;background:#0d141c}.dashboard-action-list span{display:block;color:#718092;font-size:9px;text-transform:uppercase;letter-spacing:.1em}.dashboard-action-list strong{display:block;margin-top:7px;font-size:24px}.dashboard-action-list small{display:block;margin-top:5px;color:#728293;font-size:10px;line-height:1.4}.dashboard-news-list{display:grid;gap:9px}.dashboard-news-item{display:grid;gap:5px;padding:13px;border:1px solid var(--border);border-radius:12px;color:var(--text);background:#0d141c;text-decoration:none}.dashboard-news-item:hover{border-color:rgba(45,224,194,.45)}.dashboard-news-item strong{font-size:12px;line-height:1.35}.dashboard-news-item small,.dashboard-news-empty{color:#728293;font-size:10px;line-height:1.45}.dashboard-news-empty{padding:14px;border:1px dashed #26333f;border-radius:12px}
.dashboard-ai-market{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-top:18px}.dashboard-ai-market>div{padding:14px;border:1px solid rgba(45,224,194,.18);border-radius:13px;background:rgba(7,13,19,.55)}.dashboard-ai-market span{display:block;margin-bottom:8px;color:#718092;font-size:9px;text-transform:uppercase;letter-spacing:.1em}.dashboard-ai-market ul{display:grid;gap:6px;margin:0;padding-left:17px;color:#cbd7e0;font-size:11px;line-height:1.5}.dashboard-ai-market li::marker{color:var(--accent)}.dashboard-ai-market p{margin:0;color:#cbd7e0;font-size:11px;line-height:1.55}

/* Exposure */
.exposure-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.exposure-card{padding:17px;border:1px solid var(--border);border-radius:13px;background:#0f161e}.exposure-card-head{display:flex;justify-content:space-between;align-items:center}.exposure-card-head strong{font-size:21px}.exposure-bars{display:grid;gap:8px;margin-top:15px}.exposure-row{display:grid;grid-template-columns:54px 1fr 70px;align-items:center;gap:8px;color:#718092;font-size:10px}.exposure-row strong{text-align:right}.exposure-track{height:6px;border-radius:999px;background:#1c2732;overflow:hidden}.exposure-fill{height:100%;border-radius:999px;background:var(--accent)}

/* Flow */
.flow-tape{display:grid;gap:8px}.flow-row{display:grid;grid-template-columns:80px 90px 80px 1fr 110px;gap:12px;align-items:center;padding:13px;border:1px solid var(--border);border-radius:11px;background:#0e151d}.flow-side{font-weight:900}.flow-side.call{color:var(--green)}.flow-side.put{color:var(--red)}.flow-tag{color:#7f8d9c;font-size:11px}.premium{text-align:right;font-weight:800}

/* History */
.history-page{display:grid;gap:16px}.history-filter{display:flex;gap:7px}.result-win{color:var(--green);font-weight:800}.result-loss{color:var(--red);font-weight:800}.history-backtest-card{display:grid;gap:16px}.history-backtest-card .panel-head .ghost-btn{margin-top:0}.history-backtest-grid{display:grid;grid-template-columns:170px 140px 1fr;gap:12px}.history-backtest-grid label{display:grid;gap:7px;color:#718092;font-size:10px;text-transform:uppercase;letter-spacing:.09em}.history-backtest-grid input,.history-backtest-grid select{width:100%;border:1px solid var(--border-strong);border-radius:10px;outline:0;color:var(--text);background:#0a1017;padding:11px 12px;color-scheme:dark}.history-backtest-grid input:focus,.history-backtest-grid select:focus{border-color:rgba(45,224,194,.7);box-shadow:0 0 0 3px rgba(45,224,194,.08)}.history-snapshot-summary{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.history-snapshot-stat{padding:13px;border:1px solid var(--border);border-radius:11px;background:#0d141c}.history-snapshot-stat span{display:block;color:#718092;font-size:9px;text-transform:uppercase;letter-spacing:.1em}.history-snapshot-stat strong{display:block;margin-top:8px;font-size:18px}.history-snapshot-stat small{display:block;margin-top:5px;color:#708091;font-size:10px}.history-batch-box{border:1px solid var(--border);border-radius:12px;overflow:hidden;background:#0a1017}.history-batch-head{display:flex;justify-content:space-between;align-items:center;padding:11px 13px;border-bottom:1px solid var(--border);color:#9fb0bf;font-size:10px;text-transform:uppercase;letter-spacing:.1em}.history-batch-head .ghost-btn{margin-top:0}.history-batch-box textarea{width:100%;min-height:110px;padding:13px;border:0;outline:0;resize:vertical;color:#dce7ef;background:#070c12;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;line-height:1.55}.history-row{cursor:pointer}.history-row:hover{background:rgba(45,224,194,.055)}.history-row.selected{background:rgba(45,224,194,.1)}.history-pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:14px}.history-pagination[hidden]{display:none}.history-pagination .ghost-btn{margin-top:0;min-width:92px}.history-pagination .ghost-btn:disabled{opacity:.45;cursor:not-allowed}.history-pagination span{color:#8799aa;font-size:12px;font-weight:750}

@media(max-width:1180px){.header-right .live-pill small{display:none}.profile-copy{display:none}.profile-btn{min-width:auto}.tabs{min-width:580px}.overview-grid{grid-template-columns:1fr 1fr}.overview-main,.overview-list{grid-column:span 2}.overview-grid .mini-panel:last-of-type{grid-column:span 2}.dashboard-grid{grid-template-columns:1fr 1fr}.dashboard-market-card{grid-column:1/-1}.dashboard-action-card{grid-column:1/-1}.exposure-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.header-right{position:absolute;right:18px;top:17px}.site-header{grid-template-columns:1fr}.header-center{grid-column:1;grid-row:2}.overview-grid,.dashboard-grid{grid-template-columns:1fr}.overview-main,.overview-list,.overview-grid .mini-panel:last-of-type,.dashboard-market-card,.dashboard-action-card{grid-column:span 1}.overview-metrics{grid-template-columns:repeat(2,1fr)}.overview-level-list,.exposure-grid{grid-template-columns:1fr}.flow-row{grid-template-columns:65px 70px 65px 1fr}.premium{display:none}}
@media(max-width:900px){.dashboard-ai-market{grid-template-columns:1fr}}
@media(max-width:640px){.header-right .live-pill{display:none}.tabs{min-width:100%;justify-content:flex-start}.overview-metrics{grid-template-columns:1fr}.profile-menu{right:-4px}.dashboard-hero{display:none}}

/* Trading Journal */
.journal-page{display:grid;gap:16px}.journal-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:4px 2px 10px}.journal-toolbar h2{margin:7px 0 4px;font-size:31px}.journal-toolbar p{margin:0;color:var(--muted);font-size:13px}.journal-toolbar-actions{display:flex;align-items:flex-end;gap:10px}.journal-date-label{display:grid;gap:7px;color:#718092;font-size:10px;letter-spacing:.08em;text-transform:uppercase}.journal-date-label input,.journal-form-grid input,.journal-form-grid select,.journal-form-grid textarea{width:100%;border:1px solid var(--border-strong);border-radius:10px;outline:0;color:var(--text);background:#0a1017;padding:11px 12px}.journal-date-label input{min-height:40px;color-scheme:dark}.journal-date-label input:focus,.journal-form-grid input:focus,.journal-form-grid select:focus,.journal-form-grid textarea:focus{border-color:rgba(45,224,194,.7);box-shadow:0 0 0 3px rgba(45,224,194,.08)}.journal-summary-grid{display:grid;grid-template-columns:minmax(370px,.9fr) 1.4fr;gap:16px}.journal-score-card{display:flex;align-items:center;gap:22px;min-height:180px}.journal-score-ring{--score-angle:calc(var(--journal-score) * 3.6deg);width:118px;height:118px;flex:0 0 118px;display:grid;place-content:center;text-align:center;border-radius:50%;background:radial-gradient(circle at center,#0d1219 61%,transparent 63%),conic-gradient(var(--accent) var(--score-angle),#1b2631 var(--score-angle));box-shadow:0 0 28px rgba(45,224,194,.09)}.journal-score-ring strong{font-size:31px;line-height:1}.journal-score-ring span{margin-top:5px;color:#657587;font-size:10px}.journal-score-card h3{margin:7px 0 8px;font-size:24px}.journal-score-card p{margin:0;color:var(--muted);line-height:1.55;font-size:12px}.journal-metrics-card{display:grid;grid-template-columns:repeat(4,1fr);align-items:center;gap:1px;padding:0;overflow:hidden}.journal-metrics-card>div{height:100%;min-height:178px;display:flex;flex-direction:column;justify-content:center;padding:22px;border-right:1px solid var(--border)}.journal-metrics-card>div:last-child{border-right:0}.journal-metrics-card span{color:#718092;font-size:10px;text-transform:uppercase;letter-spacing:.1em}.journal-metrics-card strong{margin-top:12px;font-size:26px}.journal-content-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:16px}.journal-analysis-card,.journal-coach-card{min-height:410px}.journal-source-badge{padding:6px 9px;border:1px solid rgba(45,224,194,.3);border-radius:999px;color:var(--accent);background:rgba(45,224,194,.06);font-size:9px;text-transform:uppercase;letter-spacing:.08em}.journal-category-list{display:grid;gap:15px}.journal-category{display:grid;grid-template-columns:110px 1fr 52px;align-items:center;gap:12px}.journal-category-label{font-size:11px;color:#c7d1db}.journal-category-track{height:7px;overflow:hidden;border-radius:999px;background:#1a2530}.journal-category-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#1ba78e,var(--accent));box-shadow:0 0 12px rgba(45,224,194,.22)}.journal-category-score{text-align:right;color:#8b9baa;font-size:10px}.journal-flags{display:grid;gap:9px;margin-top:24px}.journal-flag{padding:12px 13px;border:1px solid var(--border);border-left-width:3px;border-radius:10px;background:#0b1118}.journal-flag.high{border-left-color:var(--red)}.journal-flag.medium{border-left-color:var(--yellow)}.journal-flag.positive{border-left-color:var(--green)}.journal-flag strong{display:block;font-size:11px}.journal-flag p{margin:5px 0 0;color:var(--muted);font-size:10px;line-height:1.45}.journal-empty{display:grid;place-items:center;min-height:170px;padding:25px;border:1px dashed #26333f;border-radius:12px;color:#667587;text-align:center;font-size:12px;line-height:1.6}.journal-review{display:grid;gap:15px}.journal-review-lead{margin:0;color:#ccd6df;font-size:12px;line-height:1.65}.journal-ai-notice{padding:10px 12px;border:1px solid rgba(255,93,108,.45);border-radius:9px;color:#ff8b96;background:rgba(255,93,108,.06);font-size:10px;line-height:1.45}.journal-review-section h4{margin:0 0 8px;color:#738294;font-size:9px;text-transform:uppercase;letter-spacing:.12em}.journal-review-section ul{display:grid;gap:6px;margin:0;padding-left:17px;color:#b9c4ce;font-size:11px;line-height:1.5}.journal-review-section.mistakes li::marker{color:var(--red)}.journal-review-section.improvements li::marker{color:var(--accent)}.journal-review-button{margin-top:18px}.journal-trades-card{padding-bottom:8px}.journal-trades-card .panel-head small{color:#607081}.journal-table td:last-child{text-align:right}.journal-side{display:inline-flex;padding:5px 8px;border-radius:7px;font-size:9px;font-weight:900;letter-spacing:.06em}.journal-side.long{color:var(--green);background:rgba(53,220,140,.09)}.journal-side.short{color:var(--red);background:rgba(255,93,108,.09)}.journal-plan{font-size:10px}.journal-plan.ok{color:var(--green)}.journal-plan.broken{color:var(--red)}.journal-pnl{font-weight:900}.journal-pnl.positive{color:var(--green)}.journal-pnl.negative{color:var(--red)}.journal-row-actions{display:inline-flex;gap:5px}.journal-icon-btn{width:30px;height:30px;border:1px solid var(--border);border-radius:8px;color:#8493a2;background:#0a1017;cursor:pointer}.journal-icon-btn:hover{color:#fff;border-color:#465667}.journal-icon-btn.delete:hover{color:var(--red);border-color:rgba(255,93,108,.5)}.journal-loading{padding:28px;text-align:center;color:#738294}

.journal-calendar-card{padding:0;overflow:hidden}.journal-calendar-summary{display:flex;align-items:baseline;justify-content:center;gap:7px;min-height:72px;padding:22px;border-bottom:1px solid var(--border);background:linear-gradient(180deg,rgba(16,24,33,.72),rgba(9,14,20,.35))}.journal-calendar-summary span{color:#c8d2dc;font-size:12px;font-weight:800}.journal-calendar-summary strong{font-size:17px}.journal-calendar-summary small{color:#687788;font-size:10px}.journal-calendar-summary strong.positive{color:var(--green)}.journal-calendar-summary strong.negative{color:var(--red)}.journal-calendar-nav{display:flex;align-items:center;justify-content:space-between;padding:12px 14px}.journal-calendar-nav>div{display:flex;align-items:center;gap:10px}.journal-calendar-nav>div>strong{min-width:125px;text-align:center;text-transform:capitalize;font-size:12px}.journal-calendar-nav .ghost-btn{margin:0}.journal-calendar-arrow{width:31px;height:31px;border:0;border-radius:8px;color:#9dacba;background:transparent;font-size:24px;cursor:pointer}.journal-calendar-arrow:hover{color:#fff;background:#151e27}.journal-calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);padding:0 10px;color:#738294;font-size:9px}.journal-calendar-weekdays span{padding:10px;text-align:center}.journal-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));padding:0 10px 10px}.journal-calendar-day{position:relative;min-height:132px;padding:9px;border:1px solid #27313a;color:#d8e1e9;background:#090e13;cursor:pointer;text-align:left}.journal-calendar-day:hover{z-index:1;border-color:#566574}.journal-calendar-day.outside{color:#3e4954;background:#080c11}.journal-calendar-day.today{box-shadow:inset 0 0 0 1px var(--blue)}.journal-calendar-day.selected{z-index:2;border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent),0 0 16px rgba(45,224,194,.1)}.journal-calendar-day.profit{background:linear-gradient(145deg,rgba(6,63,37,.78),#07130f)}.journal-calendar-day.loss{background:linear-gradient(145deg,rgba(73,13,20,.78),#17090c)}.journal-calendar-number{display:inline-grid;min-width:22px;height:22px;place-items:center;border-radius:999px;font-size:10px}.journal-calendar-day.today .journal-calendar-number{color:#fff;background:#189ee6}.journal-calendar-day-pnl{display:block;margin-top:18px;text-align:center;font-size:17px}.journal-calendar-day.profit .journal-calendar-day-pnl{color:var(--green)}.journal-calendar-day.loss .journal-calendar-day-pnl{color:var(--red)}.journal-calendar-day-trades{display:block;margin-top:4px;color:#9aa8b6;text-align:center;font-size:9px}.journal-calendar-week{position:absolute;left:7px;right:7px;bottom:7px;padding-top:6px;border-top:1px solid rgba(255,255,255,.08);text-align:center}.journal-calendar-week b{display:block;color:#cbd5de;font-size:8px}.journal-calendar-week strong{display:block;margin-top:3px;font-size:11px}.journal-calendar-week small{color:#738294;font-size:8px}.journal-calendar-week .positive{color:var(--green)}.journal-calendar-week .negative{color:var(--red)}

.journal-import-card{display:grid;gap:13px}.journal-import-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.journal-import-head h2{margin:5px 0 4px;font-size:22px}.journal-import-head p{margin:0;color:var(--muted);font-size:12px}.journal-import-controls{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}.journal-import-controls select,.journal-import-controls input[type=file]{border:1px solid var(--border-strong);border-radius:10px;color:var(--text);background:#0a1017;padding:10px 11px;font-size:11px}.journal-import-controls input[type=file]{max-width:250px}.journal-import-result{padding:11px 12px;border:1px solid rgba(45,224,194,.28);border-radius:10px;color:#b9c4ce;background:rgba(45,224,194,.055);font-size:11px;line-height:1.5}.journal-import-result.error{border-color:rgba(255,93,108,.45);color:#ff8b96;background:rgba(255,93,108,.06)}

.journal-modal[hidden]{display:none!important}.journal-modal{position:fixed;inset:0;z-index:300;display:grid;place-items:center;padding:24px}.journal-modal-backdrop{position:absolute;inset:0;border:0;background:rgba(2,5,8,.78);backdrop-filter:blur(10px);cursor:default}.journal-modal-card{position:relative;width:min(820px,100%);max-height:min(90vh,900px);overflow:auto;padding:24px;border:1px solid #2b3945;border-radius:18px;background:#0d131a;box-shadow:0 30px 100px rgba(0,0,0,.65)}.journal-modal-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.journal-modal-head h2{margin:6px 0 0;font-size:25px}.journal-modal-close{width:35px;height:35px;border:1px solid var(--border-strong);border-radius:9px;color:#9aa7b4;background:#0a1016;font-size:22px;cursor:pointer}.journal-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.journal-form-grid label{display:grid;gap:7px;color:#7e8c9a;font-size:10px}.journal-form-grid select{color-scheme:dark}.journal-form-grid textarea{resize:vertical;min-height:96px;font-family:inherit}.journal-form-wide{grid-column:1/-1}.journal-calculation-preview{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:14px;border:1px solid rgba(45,224,194,.28);border-radius:12px;background:linear-gradient(145deg,rgba(45,224,194,.07),rgba(10,16,23,.92))}.journal-calculation-preview>div{padding:10px 12px;border:1px solid rgba(255,255,255,.055);border-radius:9px;background:rgba(5,9,13,.38)}.journal-calculation-preview span{display:block;color:#718092;font-size:9px;text-transform:uppercase;letter-spacing:.1em}.journal-calculation-preview strong{display:block;margin-top:7px;font-size:17px}.journal-calculation-preview strong.positive{color:var(--green)}.journal-calculation-preview strong.negative{color:var(--red)}.journal-calculation-preview small{grid-column:1/-1;color:#657587;font-size:10px}.journal-form-notice{margin-top:14px;padding:11px 12px;border:1px solid rgba(255,93,108,.45);border-radius:9px;color:#ff8b96;background:rgba(255,93,108,.06);font-size:11px}.journal-form-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:20px}.journal-form-actions .ghost-btn{margin-top:0}

@media(max-width:1050px){.journal-summary-grid,.journal-content-grid{grid-template-columns:1fr}.journal-metrics-card>div{min-height:130px}.journal-analysis-card,.journal-coach-card{min-height:0}}
@media(max-width:720px){.journal-toolbar{align-items:stretch;flex-direction:column}.journal-toolbar-actions{align-items:stretch;flex-direction:column}.journal-date-label input{width:100%}.journal-score-card{align-items:flex-start;flex-direction:column}.journal-metrics-card{grid-template-columns:repeat(2,1fr)}.journal-metrics-card>div{min-height:112px;border-bottom:1px solid var(--border)}.journal-category{grid-template-columns:90px 1fr 46px}.journal-form-grid{grid-template-columns:1fr}.journal-form-wide{grid-column:auto}.journal-calculation-preview{grid-template-columns:1fr}.journal-calculation-preview small{grid-column:auto}.journal-modal{padding:10px}.journal-modal-card{padding:18px;max-height:96vh}.journal-form-actions{flex-direction:column-reverse}.journal-form-actions button{width:100%}}
@media(max-width:720px){.journal-calendar-card{overflow-x:auto}.journal-calendar-summary,.journal-calendar-nav{position:sticky;left:0;min-width:700px}.journal-calendar-weekdays,.journal-calendar-grid{min-width:700px}.journal-calendar-day{min-height:122px}}

.journal-coach-actions{display:flex;align-items:center;gap:8px}.journal-coach-actions select{border:1px solid var(--border-strong);border-radius:999px;color:var(--text);background:#0a1017;padding:7px 10px;font-size:10px;color-scheme:dark}.journal-coach-focus{display:grid;grid-template-columns:1fr 1fr;gap:10px}.journal-coach-focus>div{padding:11px 12px;border:1px solid rgba(45,224,194,.22);border-radius:10px;background:rgba(45,224,194,.045)}.journal-coach-focus span{display:block;color:#718092;font-size:9px;text-transform:uppercase;letter-spacing:.1em}.journal-coach-focus strong{display:block;margin-top:7px;color:#d9e5ed;font-size:11px;line-height:1.45}
.journal-plan.open{color:var(--yellow)}
.ai-bias-card{margin:18px 0;padding:18px;border:1px solid rgba(45,224,194,.25);border-radius:16px;background:linear-gradient(145deg,rgba(45,224,194,.06),rgba(9,15,22,.94))}.ai-bias-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ai-bias-grid>div{padding:13px;border:1px solid var(--border);border-radius:12px;background:#0b1118}.ai-bias-grid span{display:block;margin-bottom:8px;color:#718092;font-size:9px;text-transform:uppercase;letter-spacing:.1em}.ai-bias-grid ul{display:grid;gap:6px;margin:0;padding-left:17px;color:#c7d3dc;font-size:11px;line-height:1.5}.ai-bias-grid li::marker{color:var(--accent)}.ai-bias-grid p{margin:0;color:#c7d3dc;font-size:11px;line-height:1.55}
@media(max-width:720px){.ai-bias-grid{grid-template-columns:1fr}}

body.nvx-density-compact .site-header {
  min-height: 82px;
  padding-top: 12px;
}

body.nvx-density-compact .app-shell {
  padding-top: 28px;
}

body.nvx-density-compact .panel,
body.nvx-density-compact .journal-modal-card {
  padding: 18px;
}

body.nvx-density-compact .tab {
  padding-block: 10px;
}

body.nvx-density-compact td,
body.nvx-density-compact th {
  padding-block: 9px;
}

body.nvx-density-compact .journal-calendar-day {
  min-height: 105px;
}

body.nvx-no-glow .logo,
body.nvx-no-glow .profile-avatar,
body.nvx-no-glow .asset-btn.active,
body.nvx-no-glow .panel,
body.nvx-no-glow .live-dot,
body.nvx-no-glow .lane-marker,
body.nvx-no-glow .journal-score-ring {
  box-shadow: none !important;
  text-shadow: none !important;
}

body.nvx-no-glow .panel::before,
body.nvx-bg-clean .top-gradient {
  opacity: .35;
}

/* NVX visual polish v1.4.1 */
.app-shell {
  position: relative;
}

.app-shell::before {
  position: fixed;
  inset: 92px 0 auto;
  height: 320px;
  pointer-events: none;
  background:
    radial-gradient(circle at 18% 25%, rgba(45,224,194,.13), transparent 24%),
    radial-gradient(circle at 82% 15%, rgba(76,166,255,.10), transparent 24%);
  filter: blur(14px);
  opacity: .72;
  content: "";
}

.dashboard-hero {
  position: relative;
  overflow: hidden;
  min-height: 170px;
  align-items: end;
  padding: 34px 34px 30px;
  border: 1px solid rgba(45,224,194,.18);
  border-radius: 24px;
  background:
    linear-gradient(135deg, rgba(45,224,194,.12), transparent 38%),
    radial-gradient(circle at 86% 18%, rgba(76,166,255,.14), transparent 28%),
    rgba(9,14,20,.62);
  box-shadow: 0 26px 90px rgba(0,0,0,.28);
}

.dashboard-hero::after {
  position: absolute;
  right: 34px;
  bottom: 26px;
  width: 190px;
  height: 190px;
  border: 1px solid rgba(45,224,194,.18);
  border-radius: 50%;
  background:
    linear-gradient(90deg, transparent 48%, rgba(45,224,194,.28) 49%, transparent 51%),
    linear-gradient(0deg, transparent 48%, rgba(76,166,255,.22) 49%, transparent 51%);
  opacity: .45;
  content: "";
}

.dashboard-hero h1 {
  letter-spacing: 0;
}

.dashboard-hero h1 span {
  color: #728295;
}

.panel {
  position: relative;
  border-color: rgba(117,137,154,.30);
  background:
    linear-gradient(180deg, rgba(18,27,37,.84), rgba(8,13,19,.95));
}

.dashboard-market-card {
  overflow: hidden;
  padding: 26px;
  border-color: rgba(45,224,194,.28);
  background:
    radial-gradient(circle at 2% 0, rgba(45,224,194,.17), transparent 28%),
    radial-gradient(circle at 98% 10%, rgba(76,166,255,.10), transparent 24%),
    linear-gradient(145deg,#111a24,#070c12);
}

.dashboard-market-card::after {
  position: absolute;
  right: -80px;
  top: -100px;
  width: 260px;
  height: 260px;
  border: 1px solid rgba(45,224,194,.18);
  border-radius: 50%;
  box-shadow: inset 0 0 80px rgba(45,224,194,.05);
  content: "";
}

.confidence-badge {
  display: inline-grid;
  min-width: 58px;
  min-height: 48px;
  place-items: center;
  border-radius: 18px;
  text-align: center;
  font-weight: 900;
}

.overview-metrics {
  gap: 13px;
  margin-top: 20px;
}

.overview-metrics > div {
  min-height: 104px;
  padding: 17px 18px;
  border-radius: 16px;
  background:
    linear-gradient(180deg, rgba(19,29,39,.95), rgba(9,15,22,.98));
}

.overview-metrics .metric-card {
  border-top-width: 3px;
}

.overview-metrics .metric-card.spot { border-top-color: #dce7ef; }
.overview-metrics .metric-card.call { border-top-color: var(--green); }
.overview-metrics .metric-card.put { border-top-color: var(--red); }
.overview-metrics .metric-card.pain { border-top-color: var(--yellow); }

.overview-metrics small,
.level-stat small {
  display: block;
  margin-top: 7px;
  color: #728394;
  font-size: 10px;
  line-height: 1.35;
}

.market-lane {
  margin: 4px 0 18px;
  padding: 12px 0;
}

.lane {
  height: 12px;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.05);
}

.dashboard-ai-market {
  gap: 14px;
}

.dashboard-ai-market > div {
  position: relative;
  min-height: 148px;
  padding: 17px 17px 17px 44px;
  border-color: rgba(45,224,194,.16);
  border-radius: 16px;
  background:
    linear-gradient(160deg, rgba(45,224,194,.055), transparent 42%),
    rgba(5,11,17,.64);
}

.dashboard-ai-market > div::before {
  position: absolute;
  left: 15px;
  top: 17px;
  display: grid;
  width: 20px;
  height: 20px;
  place-items: center;
  border: 1px solid rgba(45,224,194,.32);
  border-radius: 999px;
  color: var(--accent);
  font-size: 10px;
  font-weight: 900;
}

.dashboard-ai-market > div:nth-child(1)::before { content: "1"; }
.dashboard-ai-market > div:nth-child(2)::before { content: "2"; }
.dashboard-ai-market > div:nth-child(3)::before { content: "3"; }

.dashboard-calendar-card {
  border-color: rgba(76,166,255,.20);
  background:
    radial-gradient(circle at 14% 0, rgba(76,166,255,.10), transparent 24%),
    linear-gradient(180deg, rgba(14,22,31,.92), rgba(8,13,19,.96));
}

.dashboard-level-card {
  border-color: rgba(246,200,95,.18);
}

.dashboard-action-card {
  border-color: rgba(255,93,108,.18);
}

.overview-level-item {
  border-radius: 15px;
  background:
    linear-gradient(145deg, rgba(246,200,95,.055), rgba(8,13,19,.96));
}

.panel-levels {
  overflow: hidden;
  border-color: rgba(246,200,95,.22);
  background:
    radial-gradient(circle at 4% 0, rgba(246,200,95,.10), transparent 24%),
    linear-gradient(180deg, rgba(16,24,33,.92), rgba(7,12,18,.98));
}

.level-stat {
  min-height: 118px;
  border-top: 3px solid rgba(255,255,255,.10);
  border-radius: 16px;
}

.level-stat.call { border-top-color: var(--green); }
.level-stat.put { border-top-color: var(--red); }
.level-stat.pain { border-top-color: var(--yellow); }

.table-wrap table {
  border-collapse: separate;
  border-spacing: 0;
}

tbody tr {
  transition: background .16s ease, transform .16s ease;
}

tbody tr:hover {
  background: rgba(45,224,194,.045);
}

.bias-panel {
  overflow: hidden;
  border-color: rgba(76,166,255,.22);
  background:
    radial-gradient(circle at 94% 0, rgba(76,166,255,.13), transparent 24%),
    radial-gradient(circle at 0 0, rgba(45,224,194,.10), transparent 24%),
    linear-gradient(180deg, rgba(16,24,33,.95), rgba(7,12,18,.98));
}

.bias-panel .hit-rate {
  border-radius: 18px;
  background:
    linear-gradient(145deg, rgba(45,224,194,.10), rgba(8,13,19,.78));
}

.bias-stats .stat,
.bias-components .stat {
  min-height: 112px;
  border-radius: 16px;
  background:
    linear-gradient(180deg, rgba(18,28,38,.95), rgba(9,15,22,.98));
}

.bias-components .stat strong {
  letter-spacing: .01em;
}

.ai-bias-card {
  border-radius: 18px;
  background:
    linear-gradient(135deg, rgba(45,224,194,.09), transparent 38%),
    rgba(7,13,19,.78);
}

.ai-bias-grid > div {
  min-height: 132px;
  border-radius: 15px;
}

@media(max-width:900px) {
  .dashboard-hero::after { opacity: .20; }
  .dashboard-market-card { padding: 19px; }
}

/* NVX visual polish v1.4.2 */
.dashboard-hero.compact-hero {
  min-height: 92px;
  padding: 22px 28px;
  align-items: center;
  border-radius: 18px;
}

.dashboard-hero.compact-hero::after {
  right: 28px;
  bottom: -34px;
  width: 128px;
  height: 128px;
  opacity: .25;
}

.dashboard-hero.compact-hero h1 {
  font-size: clamp(30px, 4vw, 46px);
  line-height: 1;
}

.dashboard-hero.compact-hero p {
  max-width: 440px;
  font-size: 14px;
}

.ai-dashboard-card {
  padding: 28px;
  border-radius: 22px;
  background:
    radial-gradient(circle at 8% 0, rgba(45,224,194,.18), transparent 28%),
    radial-gradient(circle at 98% 8%, rgba(76,166,255,.13), transparent 26%),
    linear-gradient(145deg,#0e1a22,#071018 72%);
}

.ai-market-head {
  align-items: flex-start;
  margin-bottom: 16px;
}

.ai-market-head h2 {
  font-size: 30px;
}

.ai-market-head p {
  max-width: 1040px;
  font-size: 16px;
  line-height: 1.55;
}

.ai-orb {
  min-width: 64px;
  min-height: 64px;
  border-radius: 50%;
  box-shadow: 0 0 26px rgba(45,224,194,.18);
}

.mini-lane {
  max-width: 760px;
  margin: 8px 0 18px;
  padding: 8px 0;
}

.mini-lane .lane {
  height: 7px;
}

.mini-lane .lane-marker {
  top: -6px;
  width: 18px;
  height: 18px;
}

.ai-first-grid {
  grid-template-columns: 1.2fr 1.2fr .95fr;
}

.ai-first-grid > div {
  min-height: 166px;
  border: 1px solid rgba(45,224,194,.13);
  background:
    linear-gradient(160deg, rgba(45,224,194,.07), transparent 48%),
    rgba(4,10,15,.72);
}

.ai-context-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 16px;
}

.ai-context-strip span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 8px 10px;
  border: 1px solid rgba(117,137,154,.22);
  border-radius: 999px;
  color: #8b9aaa;
  background: rgba(5,10,15,.58);
  font-size: 11px;
}

.ai-context-strip strong {
  color: #f4f8fb;
}

.panel-levels {
  border-radius: 22px;
}

.panel-levels .panel-head {
  padding-bottom: 8px;
}

.panel-levels .stats-grid {
  gap: 14px;
}

.level-stat {
  min-height: 98px;
  padding: 18px;
}

.level-row {
  cursor: pointer;
}

.level-row:focus-visible {
  outline: 2px solid rgba(45,224,194,.65);
  outline-offset: -2px;
}

.level-row td:first-child strong {
  font-size: 15px;
}

.level-row .tag {
  background: rgba(8,17,25,.84);
}

.level-detail-modal {
  position: fixed;
  inset: 0;
  z-index: 70;
  display: grid;
  place-items: center;
  padding: 20px;
  opacity: 0;
  transition: opacity .16s ease;
}

.level-detail-modal[hidden] {
  display: none;
}

.level-detail-modal.open {
  opacity: 1;
}

.level-detail-backdrop {
  position: absolute;
  inset: 0;
  border: 0;
  background: rgba(0,0,0,.62);
}

.level-detail-panel {
  position: relative;
  width: min(780px, 100%);
  max-height: min(760px, 88vh);
  overflow: auto;
  padding: 24px;
  border: 1px solid rgba(45,224,194,.28);
  border-radius: 22px;
  background:
    radial-gradient(circle at 0 0, rgba(45,224,194,.12), transparent 30%),
    linear-gradient(180deg, #111a24, #071018);
  box-shadow: 0 24px 90px rgba(0,0,0,.5);
  transform: translateY(10px) scale(.98);
  transition: transform .16s ease;
}

.level-detail-modal.open .level-detail-panel {
  transform: translateY(0) scale(1);
}

.level-detail-head {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
}

.level-detail-head h2 {
  margin-top: 6px;
  font-size: 30px;
}

.level-detail-head p {
  margin-top: 6px;
  color: #8b9aaa;
}

.level-detail-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.level-detail-grid > div {
  padding: 14px;
  border: 1px solid rgba(117,137,154,.24);
  border-radius: 14px;
  background: rgba(6,12,18,.66);
}

.level-detail-grid span {
  display: block;
  color: #7890a4;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .12em;
}

.level-detail-grid strong {
  display: block;
  margin-top: 8px;
  font-size: 18px;
}

.level-detail-section {
  margin-top: 18px;
}

.level-detail-raw {
  margin-top: 18px;
  color: #9aa8b6;
}

.level-detail-raw summary {
  cursor: pointer;
}

.level-detail-raw pre {
  margin-top: 10px;
  max-height: 240px;
  overflow: auto;
  padding: 14px;
  border: 1px solid rgba(117,137,154,.18);
  border-radius: 12px;
  background: #05090d;
  font-size: 11px;
  white-space: pre-wrap;
}

.ai-bias-panel {
  padding: 28px;
  border-radius: 22px;
}

.bias-hero-head {
  align-items: flex-start;
  margin-bottom: 18px;
}

.bias-hero-head h2 {
  font-size: 30px;
}

.bias-sentiment-card {
  min-width: 134px;
  padding: 16px 18px;
  border: 1px solid rgba(45,224,194,.28);
  border-radius: 20px;
  background:
    linear-gradient(145deg, rgba(45,224,194,.12), rgba(8,13,19,.75));
  text-align: center;
}

.bias-sentiment-card strong {
  display: block;
  color: var(--accent);
  font-size: 30px;
}

.bias-sentiment-card span {
  display: block;
  margin-top: 3px;
  color: #91a1b1;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .12em;
}

.compact-bias-meter {
  max-width: 780px;
  margin: 0 0 18px;
  padding: 13px 14px;
  border-radius: 16px;
}

.compact-bias-meter .bias-row {
  grid-template-columns: 1fr auto 1fr;
  color: #7f90a2;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.compact-bias-meter .bias-row span:last-child {
  text-align: right;
}

.compact-bias-meter .bias-row strong {
  color: #f5f8fb;
  font-size: 12px;
  letter-spacing: 0;
  text-transform: none;
}

.compact-bias-meter .bias-meter {
  height: 8px;
}

.compact-bias-meter .bias-center {
  top: -4px;
  height: 16px;
}

.sentiment-meter {
  overflow: visible;
}

.sentiment-meter::before {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background:
    linear-gradient(90deg, rgba(255,93,108,.95), rgba(120,132,146,.72) 50%, rgba(45,224,194,.95));
  content: "";
}

.sentiment-marker {
  z-index: 4;
  top: 50%;
  width: 20px !important;
  height: 20px;
  border: 4px solid var(--accent);
  border-radius: 999px;
  background: #101822;
  box-shadow: 0 0 0 3px rgba(0,0,0,.45), 0 0 22px rgba(45,224,194,.42);
  transform: translate(-50%, -50%);
}

.sentiment-marker[data-direction="negative"] {
  border-color: var(--red);
  box-shadow: 0 0 0 3px rgba(0,0,0,.45), 0 0 22px rgba(255,93,108,.34);
}

.sentiment-marker[data-direction="positive"] {
  border-color: var(--green);
  box-shadow: 0 0 0 3px rgba(0,0,0,.45), 0 0 22px rgba(45,224,194,.42);
}

.main-ai-read {
  margin-top: 0;
}

.bias-quick-levels {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 18px;
}

.bias-quick-levels article {
  padding: 13px 14px;
  border: 1px solid rgba(117,137,154,.22);
  border-radius: 14px;
  background: rgba(6,12,18,.58);
}

.bias-quick-levels span {
  display: block;
  color: #7890a4;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .12em;
}

.bias-quick-levels strong {
  display: block;
  margin-top: 8px;
  font-size: 20px;
}

@media(max-width:900px) {
  .dashboard-hero.compact-hero {
    display: flex;
    min-height: 86px;
    padding: 18px;
  }

  .dashboard-hero.compact-hero h1,
  .ai-market-head h2,
  .bias-hero-head h2 {
    font-size: 26px;
  }

  .ai-first-grid,
  .level-detail-grid,
  .bias-quick-levels {
    grid-template-columns: 1fr;
  }
}

/* NVX visual polish v1.4.5 */
.dashboard-hero.classic-hero {
  min-height: 118px;
  padding: 22px 34px 20px;
  border-radius: 18px;
  gap: 28px;
}

.dashboard-hero.classic-hero h1 {
  margin-top: 8px;
  font-size: clamp(36px, 4.2vw, 54px);
  line-height: .98;
}

.dashboard-hero.classic-hero p {
  align-self: center;
  max-width: 360px;
  margin-bottom: 0;
  font-size: 13px;
}

.dashboard-hero.classic-hero::after {
  right: 34px;
  bottom: -34px;
  width: 132px;
  height: 132px;
  opacity: .24;
}

@media(max-width:900px) {
  .dashboard-hero.classic-hero {
    display: flex;
    min-height: 96px;
    padding: 18px;
  }

  .dashboard-hero.classic-hero h1 {
    font-size: 30px;
  }
}

/* NVX visual polish v1.4.7 */
.logo {
  position: relative;
  overflow: hidden;
  color: #f2fbff;
  background:
    radial-gradient(circle at 35% 20%, rgba(255,255,255,.16), transparent 22%),
    linear-gradient(145deg, rgba(38, 224, 201, .24), rgba(7, 13, 18, .96) 62%);
}

.logo::before {
  position: absolute;
  inset: -40% -20%;
  background: linear-gradient(115deg, transparent 35%, rgba(255,255,255,.24) 48%, transparent 61%);
  opacity: .65;
  transform: translateX(-44%);
  content: "";
}

.logo span {
  position: relative;
  z-index: 1;
  font-size: 14px;
  letter-spacing: .08em;
  text-shadow: 0 1px 0 rgba(0,0,0,.35);
}

.logo img {
  position: relative;
  z-index: 1;
  display: block;
  width: 78%;
  height: 78%;
  object-fit: contain;
  filter: drop-shadow(0 2px 7px rgba(0,0,0,.42));
}

.brand {
  letter-spacing: 0;
}

.profile-btn {
  position: relative;
  overflow: hidden;
  border-color: var(--profile-border, #2b3743);
  background:
    radial-gradient(circle at 12% 18%, var(--profile-glow, rgba(45,224,194,.12)), transparent 34%),
    linear-gradient(145deg, var(--profile-bg-a, #0b1016), var(--profile-bg-b, #090e14));
  box-shadow: 0 0 22px var(--profile-shadow, rgba(45,224,194,.06));
}

.profile-btn::after {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  border-top: 1px solid rgba(255,255,255,.08);
  pointer-events: none;
  content: "";
}

.profile-btn[data-access="admin"] {
  --profile-border: rgba(165, 174, 184, .46);
  --profile-bg-a: #171a1d;
  --profile-bg-b: #080a0d;
  --profile-glow: rgba(217,221,226,.14);
  --profile-shadow: rgba(217,221,226,.08);
}

.profile-btn[data-access="staff"] {
  --profile-border: rgba(48, 230, 155, .55);
  --profile-bg-a: #0b2118;
  --profile-bg-b: #07120e;
  --profile-glow: rgba(48,230,155,.25);
  --profile-shadow: rgba(48,230,155,.13);
}

.profile-btn[data-access="lifetime"] {
  --profile-border: rgba(246, 200, 95, .58);
  --profile-bg-a: #241909;
  --profile-bg-b: #100b05;
  --profile-glow: rgba(246,200,95,.26);
  --profile-shadow: rgba(246,200,95,.14);
}

.profile-btn[data-access="monthly"] {
  --profile-border: rgba(135, 207, 255, .58);
  --profile-bg-a: #0a1a27;
  --profile-bg-b: #06111a;
  --profile-glow: rgba(135,207,255,.25);
  --profile-shadow: rgba(135,207,255,.13);
}

.profile-btn[data-access="admin"] .profile-avatar {
  color: #f2f5f7;
  border-color: rgba(217,221,226,.42);
  background: linear-gradient(145deg, #2a2f35, #101317);
  box-shadow: 0 0 16px rgba(217,221,226,.12);
}

.profile-btn[data-access="staff"] .profile-avatar {
  color: #45f0a8;
  border-color: rgba(48,230,155,.46);
  background: linear-gradient(145deg, #12402b, #0a2017);
  box-shadow: 0 0 16px rgba(48,230,155,.16);
}

.profile-btn[data-access="lifetime"] .profile-avatar {
  color: #ffd46b;
  border-color: rgba(246,200,95,.48);
  background: linear-gradient(145deg, #46310c, #191107);
  box-shadow: 0 0 16px rgba(246,200,95,.18);
}

.profile-btn[data-access="monthly"] .profile-avatar {
  color: #9bd7ff;
  border-color: rgba(135,207,255,.48);
  background: linear-gradient(145deg, #12314a, #071724);
  box-shadow: 0 0 16px rgba(135,207,255,.16);
}

/* NVX visual polish v1.4.9 */
.top-gradient {
  background: linear-gradient(90deg, transparent 0%, var(--accent) 32%, var(--border-strong) 68%, transparent 100%);
}

.site-header {
  border-bottom-color: color-mix(in srgb, var(--accent) 22%, var(--border));
  background:
    radial-gradient(circle at 5% 0, color-mix(in srgb, var(--accent) 10%, transparent), transparent 28%),
    linear-gradient(180deg, color-mix(in srgb, var(--panel) 92%, #000), color-mix(in srgb, var(--bg) 96%, #000));
}

.asset-switch,
.live-pill,
.profile-menu {
  border-color: color-mix(in srgb, var(--accent) 22%, var(--border));
  background: color-mix(in srgb, var(--panel) 86%, #000);
}

.asset-btn {
  color: color-mix(in srgb, var(--muted) 82%, var(--text));
}

.asset-btn:hover,
.tab:hover {
  color: var(--text);
}

.asset-btn.active {
  color: color-mix(in srgb, var(--bg) 80%, #000);
  background: linear-gradient(145deg, var(--accent), color-mix(in srgb, var(--accent) 70%, #fff));
  box-shadow: 0 0 18px color-mix(in srgb, var(--accent) 28%, transparent);
}

.tab {
  color: color-mix(in srgb, var(--muted) 88%, var(--text));
}

.tab.active {
  color: var(--text);
  border-bottom-color: var(--accent);
  text-shadow: 0 0 18px color-mix(in srgb, var(--accent) 24%, transparent);
}

.live-pill {
  box-shadow: 0 12px 34px rgba(0,0,0,.22), 0 0 18px color-mix(in srgb, var(--accent) 7%, transparent);
}

.live-dot {
  background: var(--accent);
  box-shadow:
    0 0 8px color-mix(in srgb, var(--accent) 82%, transparent),
    0 0 20px color-mix(in srgb, var(--accent) 36%, transparent);
}

.profile-menu button:hover {
  background: color-mix(in srgb, var(--accent) 8%, var(--panel-2));
}

.level-detail-panel {
  width: min(860px, 100%);
  background:
    radial-gradient(circle at 0 0, color-mix(in srgb, var(--accent) 18%, transparent), transparent 28%),
    radial-gradient(circle at 92% 6%, color-mix(in srgb, var(--border-strong) 28%, transparent), transparent 25%),
    linear-gradient(180deg, color-mix(in srgb, var(--panel) 94%, #000), color-mix(in srgb, var(--bg) 92%, #000));
}

.level-detail-grid > div {
  background:
    linear-gradient(145deg, color-mix(in srgb, var(--panel-2) 70%, #000), color-mix(in srgb, var(--bg) 86%, #000));
}

.level-detail-ai {
  margin-top: 18px;
  padding: 16px 17px;
  border: 1px solid color-mix(in srgb, var(--accent) 23%, var(--border));
  border-radius: 16px;
  background:
    radial-gradient(circle at 0 0, color-mix(in srgb, var(--accent) 12%, transparent), transparent 34%),
    linear-gradient(145deg, color-mix(in srgb, var(--panel-2) 72%, #000), color-mix(in srgb, var(--bg) 86%, #000));
}

.level-detail-ai ul {
  display: grid;
  gap: 9px;
  margin: 11px 0 0;
  padding-left: 18px;
  color: color-mix(in srgb, var(--text) 82%, var(--muted));
  font-size: 12px;
  line-height: 1.55;
}

.level-detail-ai li::marker {
  color: var(--accent);
}

.exposure-card {
  appearance: none;
  width: 100%;
  color: inherit;
  text-align: left;
  cursor: pointer;
  transition: border-color .18s ease, transform .18s ease, background .18s ease;
}

.exposure-card:hover {
  border-color: color-mix(in srgb, var(--accent) 42%, var(--border));
  background:
    radial-gradient(circle at 0 0, color-mix(in srgb, var(--accent) 10%, transparent), transparent 34%),
    color-mix(in srgb, var(--panel-2) 78%, #000);
  transform: translateY(-1px);
}

.exposure-card-head small {
  display: block;
  margin-top: 4px;
  color: color-mix(in srgb, var(--muted) 85%, var(--text));
  font-size: 10px;
}

.exposure-card-read {
  margin: 12px 0 0;
  min-height: 36px;
  color: color-mix(in srgb, var(--text) 72%, var(--muted));
  font-size: 11px;
  line-height: 1.45;
}

/* NVX command header v1.5.1 */
.site-header {
  min-height: 86px;
  grid-template-columns: minmax(260px, .78fr) minmax(540px, 1.35fr) minmax(250px, .72fr);
  gap: 18px;
  padding: 12px 32px 11px;
  border-bottom: 1px solid color-mix(in srgb, var(--accent) 30%, transparent);
  background:
    radial-gradient(circle at 12% 14%, color-mix(in srgb, var(--accent) 12%, transparent), transparent 22%),
    radial-gradient(circle at 68% -12%, color-mix(in srgb, var(--border-strong) 20%, transparent), transparent 28%),
    linear-gradient(180deg, color-mix(in srgb, var(--bg) 88%, #05070b), color-mix(in srgb, var(--panel) 70%, #05070b));
  box-shadow: 0 14px 45px rgba(0,0,0,.24), inset 0 -1px 0 rgba(255,255,255,.025);
}

.header-brand {
  gap: 12px;
  min-width: 0;
}

.header-brand .logo {
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  border-radius: 13px;
}

.brand {
  font-size: 19px;
  letter-spacing: -.01em;
}

.subtitle {
  margin-top: 4px;
  font-size: 11px;
}

.header-center {
  align-self: center;
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 10px;
  width: min(100%, 760px);
  min-width: 0;
  padding: 7px;
  border: 1px solid color-mix(in srgb, var(--accent) 14%, var(--border));
  border-radius: 20px;
  background:
    linear-gradient(145deg, color-mix(in srgb, var(--panel) 76%, #000), color-mix(in srgb, var(--bg) 82%, #000));
  box-shadow: 0 12px 32px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.035);
}

.asset-switch {
  padding: 3px;
  border-radius: 16px;
  border-color: color-mix(in srgb, var(--accent) 24%, var(--border));
  background: color-mix(in srgb, var(--bg) 86%, #000);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035);
}

.asset-btn {
  min-width: 44px;
  padding: 8px 12px;
  border-radius: 13px;
  font-size: 12px;
  font-weight: 800;
}

.tabs {
  min-width: 0;
  justify-content: flex-start;
  align-items: center;
  gap: 3px;
  overflow-x: auto;
  padding: 0 2px;
  scrollbar-width: none;
}

.tabs::-webkit-scrollbar {
  display: none;
}

.tab {
  position: relative;
  min-width: auto;
  padding: 10px 11px;
  border: 0;
  border-radius: 12px;
  font-size: 13px;
  color: color-mix(in srgb, var(--muted) 86%, var(--text));
}

.tab:hover {
  background: color-mix(in srgb, var(--accent) 7%, transparent);
}

.tab.active {
  color: var(--text);
  background: color-mix(in srgb, var(--accent) 10%, var(--panel-2));
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--accent) 18%, transparent);
}

.tab.active::after {
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: 5px;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, var(--accent), transparent);
  content: "";
}

.header-right {
  gap: 10px;
}

.live-pill {
  min-height: 36px;
  padding-inline: 13px;
  border-radius: 13px;
  background:
    linear-gradient(145deg, color-mix(in srgb, var(--panel) 78%, #000), color-mix(in srgb, var(--bg) 82%, #000));
}

.profile-btn {
  min-width: 168px;
  min-height: 42px;
  padding: 5px 10px 5px 6px;
  border-radius: 14px;
}

.profile-avatar {
  width: 32px;
  height: 32px;
  border-radius: 10px;
}

.chevron {
  font-size: 13px;
}

@media(max-width:1180px) {
  .site-header {
    grid-template-columns: 1fr auto;
    padding-inline: 22px;
  }

  .header-center {
    grid-column: 1 / -1;
    grid-row: 2;
    width: 100%;
  }

  .header-right {
    grid-column: 2;
    grid-row: 1;
  }
}

@media(max-width:720px) {
  .site-header {
    min-height: auto;
    padding: 12px 14px;
  }

  .brand {
    font-size: 17px;
  }

  .header-center {
    grid-template-columns: 1fr;
  }

  .asset-switch {
    width: 100%;
    justify-content: space-between;
  }

  .asset-btn {
    flex: 1;
  }

  .profile-btn {
    min-width: 0;
  }
}
