:root{
  --bg:#0b0e14;--surface:#12161f;--surface2:#171c27;--border:#1c222e;--border2:#2a3142;
  --text:#dbe4f0;--muted:#7c8aa0;--dim:#4a5568;
  --green:#34e0a1;--green-dim:#1a5c46;--green-bg:#0f2a22;
  --red:#ff5c7a;--red-dim:#6b2436;--red-bg:#2a1119;
  --amber:#ffb454;--amber-bg:#2a1d0a;
  --blue:#8ab4ff;--purple:#b48cfa;
  --cyan:#4fd1ff;--cyan-dim:#123544;--cyan-bg:#0f2733;
  --radius:10px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{font-family:'Inter',sans-serif;background:var(--bg);color:var(--text);font-size:13px;line-height:1.5;
  background-image:radial-gradient(ellipse 900px 500px at 12% -8%, rgba(79,209,255,.06), transparent 60%);
}
.mono{font-family:'JetBrains Mono',monospace}

/* ── LAYOUT ── */
.shell{position:relative;height:100vh;overflow:hidden}
.sidebar{
  position:fixed;top:0;left:0;bottom:0;width:230px;z-index:50;
  background:var(--surface);border-right:1px solid var(--border);
  display:flex;flex-direction:column;overflow-y:auto;
  transform:translateX(-100%);transition:transform .22s cubic-bezier(.4,0,.2,1);
  box-shadow:0 0 0 rgba(0,0,0,0);
}
.sidebar.open{transform:translateX(0);box-shadow:12px 0 32px rgba(0,0,0,.4)}
.sidebar-backdrop{
  position:fixed;inset:0;z-index:40;background:rgba(0,0,0,.55);
  opacity:0;pointer-events:none;transition:opacity .2s ease;
  backdrop-filter:blur(2px);
}
.sidebar-backdrop.show{opacity:1;pointer-events:auto}
.main{height:100vh;overflow-y:auto;padding:1.25rem 2.5rem 2rem}
.menu-toggle{
  width:34px;height:34px;border-radius:9px;margin-bottom:1.1rem;
  background:var(--surface);border:1px solid var(--border);color:var(--text);
  display:flex;align-items:center;justify-content:center;cursor:pointer;
  transition:background .15s,border-color .15s;
}
.menu-toggle:hover{background:var(--surface2);border-color:var(--border2);color:var(--cyan)}
.page{display:none}.page.active{display:block}

/* ── SIDEBAR ── */
.sb-logo{padding:1.25rem 1rem 1rem;border-bottom:1px solid var(--border)}
.sb-logo-name{font-size:13px;font-weight:600;letter-spacing:-0.01em}
.sb-logo-sub{font-size:10px;color:var(--dim);margin-top:2px;font-family:'JetBrains Mono',monospace}
.sb-section{padding:.75rem 1rem .25rem;font-size:9px;font-weight:600;color:var(--dim);text-transform:uppercase;letter-spacing:.1em}
.nav{display:flex;align-items:center;gap:8px;padding:6px 1rem;font-size:12px;color:var(--muted);cursor:pointer;border-left:2px solid transparent;transition:all .1s;user-select:none}
.nav:hover{color:var(--text);background:var(--surface2)}
.nav.active{color:var(--text);background:var(--surface2);border-left-color:var(--cyan)}
.nav svg{width:14px;height:14px;opacity:.5;flex-shrink:0}
.nav.active svg{opacity:.9}

/* upload zone */
.upload-zone{margin:.75rem .75rem 0;border:1px dashed var(--border2);border-radius:var(--radius);padding:10px 8px;text-align:center;cursor:pointer;transition:all .15s}
.upload-zone:hover,.upload-zone.drag{border-color:var(--cyan);background:var(--cyan-bg)}
.upload-zone input{display:none}
.uz-icon{font-size:18px;margin-bottom:3px}
.uz-label{font-size:11px;color:var(--muted);display:block}
.uz-label b{color:var(--cyan);display:block;font-size:11px;margin-bottom:2px}
.upload-status{font-size:9px;color:var(--dim);margin:.4rem .75rem 0;text-align:center}
.sample-banner{font-size:9px;color:var(--dim);margin:.4rem .75rem 0;text-align:center;display:flex;flex-direction:column;align-items:center;gap:4px}
.sample-banner-btn{background:transparent;border:1px solid var(--border);border-radius:4px;color:var(--muted);font-size:9px;font-family:'Inter',sans-serif;padding:3px 8px;cursor:pointer}
.sample-banner-btn:hover{color:var(--cyan);border-color:var(--cyan-dim)}

/* drawdown tracker */
.dd-widget{margin:.75rem .75rem 0;background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);padding:10px}
.dd-title{font-size:9px;color:var(--dim);text-transform:uppercase;letter-spacing:.07em;margin-bottom:8px;font-weight:600}
.dd-bar-bg{height:5px;background:var(--border2);border-radius:99px;overflow:hidden;margin-bottom:6px}
.dd-bar-fill{height:100%;border-radius:99px;transition:width .3s}
.dd-row{display:flex;justify-content:space-between;font-size:10px;margin-bottom:3px}
.dd-label{color:var(--muted)}.dd-val{font-family:'JetBrains Mono',monospace;font-weight:500}
.dd-edit{display:flex;gap:4px;margin-top:8px}
.dd-input{flex:1;background:var(--border);border:1px solid var(--border2);border-radius:4px;padding:3px 5px;font-size:10px;font-family:'JetBrains Mono',monospace;color:var(--text);outline:none;width:0}
.dd-input:focus{border-color:var(--cyan)}
.dd-save{background:var(--cyan-bg);border:1px solid var(--cyan-dim);border-radius:4px;color:var(--cyan);font-size:10px;padding:4px 7px;cursor:pointer;display:flex;align-items:center;justify-content:center}

/* ── TYPOGRAPHY ── */
.page-title{font-size:18px;font-weight:600;letter-spacing:-.03em;margin-bottom:.25rem}
.page-sub{font-size:11px;color:var(--muted);margin-bottom:1.5rem}
.section-label{font-size:9px;font-weight:600;color:var(--dim);text-transform:uppercase;letter-spacing:.09em;margin-bottom:.6rem}

/* ── TOGGLES ── */
.toggle{display:inline-flex;background:var(--surface2);border:1px solid var(--border);border-radius:6px;padding:2px;gap:2px;margin-bottom:1.25rem}
.tbtn{padding:4px 12px;border-radius:4px;border:none;font-size:11px;font-family:'Inter',sans-serif;cursor:pointer;background:transparent;color:var(--muted);transition:all .1s}
.tbtn.active{background:var(--surface);color:var(--text);font-weight:500;box-shadow:0 1px 3px rgba(0,0,0,.5)}
.month-pills{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:1.25rem}
.mpill{padding:4px 10px;border-radius:4px;border:1px solid var(--border);font-size:11px;background:var(--surface);color:var(--muted);cursor:pointer;transition:all .1s}
.mpill:hover{color:var(--text)}.mpill.active{background:var(--surface2);color:var(--text);border-color:var(--border2)}

/* ── STAT CARDS ── */
.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:7px;margin-bottom:1.5rem}
.sc{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.85rem .9rem}
.sc.ok{border-color:var(--green-dim);background:var(--green-bg)}
.sc.bad{border-color:var(--red-dim);background:var(--red-bg)}
.sc-label{font-size:9px;font-weight:600;color:var(--dim);text-transform:uppercase;letter-spacing:.07em;margin-bottom:6px}
.sc-val{font-size:20px;font-weight:600;letter-spacing:-.03em;font-family:'JetBrains Mono',monospace;line-height:1}
.sc-sub{font-size:10px;color:var(--muted);margin-top:4px}
.g{color:var(--green)}.r{color:var(--red)}.a{color:var(--amber)}.m{color:var(--muted)}

/* ── TABLES ── */
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;margin-bottom:1.25rem}
table{width:100%;border-collapse:collapse;font-size:12px}
thead th{text-align:left;font-size:9px;font-weight:600;color:var(--dim);text-transform:uppercase;letter-spacing:.07em;padding:9px 12px;border-bottom:1px solid var(--border);white-space:nowrap}
tbody td{padding:9px 12px;border-bottom:1px solid var(--border);white-space:nowrap;vertical-align:middle}
tbody tr:last-child td{border-bottom:none}
tbody tr:hover td{background:var(--surface2)}
tfoot td{padding:9px 12px;border-top:1px solid var(--border2);font-weight:600;background:var(--surface2)}

/* ── OUTCOME CIRCLES ── */
.circles{display:flex;gap:3px;align-items:center}
.circle{width:9px;height:9px;border-radius:50%;flex-shrink:0}
.cw{background:var(--green)}.cl{background:var(--red)}.cb{background:var(--border2);border:1px solid var(--dim)}

/* ── QUALITY BOXES ── */
.qbox{display:inline-block;width:7px;height:7px;border-radius:1px;flex-shrink:0}
.qgood{background:var(--green)}.qbad{background:var(--red)}
.qrow{display:flex;gap:2px;align-items:center;flex-wrap:wrap}

/* ── WIN RATE BAR ── */
.wr-row{display:flex;align-items:center;gap:6px}
.wr-bg{width:44px;height:3px;background:var(--border2);border-radius:99px;flex-shrink:0}
.wr-fill{height:3px;border-radius:99px}
.wr-pct{font-size:11px;font-weight:500;min-width:34px;font-family:'JetBrains Mono',monospace}

/* ── LEDGER ── */
.ledger-outer{display:grid;grid-template-columns:1fr 130px 210px;gap:10px;align-items:start}
.ledger-dow-row{display:grid;grid-template-columns:repeat(5,1fr);gap:3px;margin-bottom:3px}
.ledger-dow{text-align:center;font-size:9px;font-weight:600;color:var(--dim);text-transform:uppercase;letter-spacing:.06em;padding:3px 0}
.ledger-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:3px}
/* calendar keeps its own 7-col row */
.cal-dow-row{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;margin-bottom:3px}
.cal-dow{text-align:center;font-size:9px;font-weight:600;color:var(--dim);text-transform:uppercase;letter-spacing:.06em;padding:3px 0}
.lc{background:var(--surface);border:1px solid var(--border);border-radius:6px;height:60px;padding:7px 8px;display:flex;flex-direction:column;gap:2px;overflow:hidden}
.lc.empty{background:transparent;border-color:transparent}
.lc.wknd{opacity:.18}
.lc-day{font-size:9px;color:var(--dim);font-family:'JetBrains Mono',monospace}
.lc.has .lc-day{color:var(--muted)}
.lc-rr{font-size:16px;font-weight:600;font-family:'JetBrains Mono',monospace;letter-spacing:-.02em;line-height:1}
.lc-count{font-size:9px;color:var(--dim);margin-top:2px}
.lc-circles{display:flex;gap:2px;margin-top:auto;padding-top:3px;flex-wrap:wrap}

/* sidebar */
.lsb{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);padding:12px}
.lsb-title{font-size:9px;color:var(--dim);text-transform:uppercase;letter-spacing:.07em;margin-bottom:10px;font-weight:600}
.lsb-section{font-size:9px;color:var(--green);text-transform:uppercase;letter-spacing:.07em;font-weight:600;margin:8px 0 4px}
.lsb-section.all{color:var(--muted)}
.lsb-div{height:1px;background:var(--border);margin:8px 0}
.kv{display:flex;justify-content:space-between;padding:3px 0;font-size:11px}
.kv-k{color:var(--muted)}.kv-v{font-family:'JetBrains Mono',monospace;font-weight:500}

/* wk stack */
.wk-head{font-size:9px;color:var(--dim);text-transform:uppercase;letter-spacing:.06em;font-weight:600;padding:3px 0;margin-bottom:3px}
.wk-stack{display:flex;flex-direction:column;gap:3px}
.wk-card{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:7px 8px;display:flex;flex-direction:column;justify-content:space-between;height:60px;overflow:hidden}
.wk-label{font-size:9px;color:var(--dim);font-family:'JetBrains Mono',monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wk-rr{font-size:15px;font-weight:600;font-family:'JetBrains Mono',monospace;letter-spacing:-.02em}
.wk-t{font-size:9px;color:var(--dim)}

/* ── CALENDAR (all months) ── */
.all-months{display:flex;flex-direction:column;gap:2.5rem}
.month-block-label{font-size:12px;font-weight:600;color:var(--muted);letter-spacing:-.01em;margin-bottom:8px}
.month-block-inner{display:grid;grid-template-columns:1fr 160px;gap:10px}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
.cc{background:var(--surface);border:1px solid var(--border);border-radius:5px;min-height:62px;padding:6px 7px;display:flex;flex-direction:column;gap:1px}
.cc.empty{background:transparent;border-color:transparent}
.cc.wknd{opacity:.18}
.cc-day{font-size:9px;color:var(--dim);font-family:'JetBrains Mono',monospace}
.cc.has .cc-day{color:var(--muted)}
.cc-rr{font-size:13px;font-weight:600;font-family:'JetBrains Mono',monospace;line-height:1}
.cc-t{font-size:9px;color:var(--dim)}
.cc-dots{display:flex;gap:2px;margin-top:auto;flex-wrap:wrap}
.dot{width:5px;height:5px;border-radius:50%}
.dw{background:var(--green)}.dl{background:var(--red)}.db{background:var(--border2)}

/* ── ANALYSIS ── */
.analysis-2{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:1.25rem}
@media(max-width:1000px){.analysis-2{grid-template-columns:1fr}}
.a-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}
.a-head{padding:8px 12px;border-bottom:1px solid var(--border);font-size:9px;font-weight:600;color:var(--dim);text-transform:uppercase;letter-spacing:.07em}
.a-table{width:100%;border-collapse:collapse;font-size:12px}
.a-table th{text-align:left;font-size:9px;color:var(--dim);text-transform:uppercase;letter-spacing:.06em;padding:6px 12px;border-bottom:1px solid var(--border)}
.a-table td{padding:7px 12px;border-bottom:1px solid var(--border);white-space:nowrap;vertical-align:middle}
.a-table tr:last-child td{border-bottom:none}
.a-table tr:hover td{background:var(--surface2)}

.dow-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-bottom:1.25rem}
.dow-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:9px 10px;text-align:center}
.dow-card.best{border-color:var(--green-dim);background:var(--green-bg)}
.dow-card.worst{border-color:var(--red-dim);background:rgba(28,7,7,.4)}
.dow-name{font-size:9px;color:var(--dim);text-transform:uppercase;letter-spacing:.07em;margin-bottom:4px}
.dow-rr{font-size:16px;font-weight:600;font-family:'JetBrains Mono',monospace;letter-spacing:-.02em;margin-bottom:2px}
.dow-meta{font-size:9px;color:var(--muted)}

.out-strip{display:flex;gap:6px;margin-bottom:1.25rem}
.out-card{flex:1;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:8px 10px}
.out-top{display:flex;align-items:center;gap:5px;margin-bottom:3px}
.out-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}
.out-label{font-size:9px;color:var(--dim);text-transform:uppercase;letter-spacing:.07em;font-weight:600}
.out-val{font-size:16px;font-weight:600;font-family:'JetBrains Mono',monospace;letter-spacing:-.02em}
.out-sub{font-size:9px;color:var(--muted);margin-top:2px}

/* ── RR CHART ── */
.chart-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px 14px 10px;margin-bottom:1.25rem;position:relative;user-select:none}
#rr-canvas{width:100%;display:block;cursor:crosshair}
#chart-tooltip{position:absolute;background:var(--surface2);border:1px solid var(--border2);border-radius:5px;padding:6px 9px;font-size:10px;font-family:'JetBrains Mono',monospace;pointer-events:none;display:none;white-space:nowrap;z-index:10;top:8px}
#chart-selection{position:absolute;background:rgba(34,197,94,.07);border-left:1px solid rgba(34,197,94,.4);border-right:1px solid rgba(34,197,94,.4);pointer-events:none;display:none}

/* ── PROJECTION ── */
.proj-bar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;margin-bottom:1.25rem}
.proj-track{height:8px;background:var(--border2);border-radius:99px;overflow:hidden;margin:8px 0}
.proj-fill{height:100%;border-radius:99px;background:linear-gradient(90deg,var(--amber),var(--green))}
.ms-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:7px;margin-bottom:1.25rem}
.ms-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.9rem 1rem;position:relative;overflow:hidden}
.ms-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px}
.ms1::before{background:var(--amber)}.ms2::before{background:var(--green)}
.ms3::before{background:var(--blue)}.ms4::before{background:var(--purple)}
.ms-icon{margin-bottom:6px;color:var(--muted);display:inline-flex}
.ms1 .ms-icon{color:var(--amber)}.ms2 .ms-icon{color:var(--green)}.ms3 .ms-icon{color:var(--blue)}.ms4 .ms-icon{color:var(--purple)}
.ms-label{font-size:11px;color:var(--muted);margin-bottom:3px;font-weight:500}
.ms-target{font-size:9px;color:var(--dim);font-family:'JetBrains Mono',monospace;margin-bottom:7px}
.ms-date{font-size:16px;font-weight:600;font-family:'JetBrains Mono',monospace;letter-spacing:-.02em}
.ms-range{font-size:9px;color:var(--dim);margin-top:5px;display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.ms-range svg{flex-shrink:0;vertical-align:middle}
.inp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:7px;margin-bottom:1.25rem}
.inp-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.85rem .9rem}
.inp-label{font-size:9px;font-weight:600;color:var(--dim);text-transform:uppercase;letter-spacing:.07em;margin-bottom:6px}
.inp-field{width:100%;background:var(--surface2);border:1px solid var(--border2);border-radius:4px;padding:5px 8px;font-size:12px;font-family:'JetBrains Mono',monospace;color:var(--text);outline:none}
.inp-field:focus{border-color:var(--cyan)}
.inp-sub{font-size:9px;color:var(--dim);margin-top:4px}

/* ── TRADES PAGE ── */
.trades-cal-dow-row{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin-bottom:5px}
.trades-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}
.tc{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-height:84px;padding:8px;display:flex;flex-direction:column;gap:3px}
.tc.empty{background:transparent;border-color:transparent}
.tc.wknd{opacity:.2}
.tc-day{font-size:9px;color:var(--dim);font-family:'JetBrains Mono',monospace;margin-bottom:2px}
.tc.has .tc-day{color:var(--muted)}
.trade-chip{background:var(--surface2);border-radius:5px;padding:5px 7px;cursor:pointer;border:1px solid transparent;transition:all .1s}
.trade-chip:hover{border-color:var(--border2)}
.trade-chip-top{display:flex;align-items:center;gap:4px;margin-bottom:3px}
.trade-circle{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.trade-qbox{width:6px;height:6px;border-radius:1px;flex-shrink:0}
.trade-time{font-size:9px;color:var(--dim);font-family:'JetBrains Mono',monospace;margin-left:auto}
.trade-rr{font-size:12px;font-weight:600;font-family:'JetBrains Mono',monospace;line-height:1}
.trade-pair{font-size:9px;color:var(--dim)}
.trade-setup{font-size:9px;color:var(--dim);border-top:1px solid var(--border);padding-top:4px;margin-top:3px;display:none;line-height:1.4}
.trade-chip.expanded .trade-setup{display:block}
.day-net{font-size:9px;font-family:'JetBrains Mono',monospace;color:var(--dim);margin-top:auto;padding-top:3px;border-top:1px solid var(--border)}

/* ── EMPTY STATE ── */
.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center;gap:12px}
.empty-icon{opacity:.35;display:flex;justify-content:center;color:var(--muted)}
.empty-title{font-size:16px;font-weight:600;color:var(--muted)}
.empty-sub{font-size:12px;color:var(--dim);max-width:280px;line-height:1.6}
.empty-btn{margin-top:8px;background:var(--cyan-bg);border:1px solid var(--cyan-dim);border-radius:6px;color:var(--cyan);font-size:12px;font-family:'Inter',sans-serif;padding:8px 18px;cursor:pointer}
.empty-btn-secondary{background:transparent;border:1px solid var(--border);color:var(--muted)}
.empty-btn-secondary:hover{color:var(--cyan);border-color:var(--cyan-dim)}
.empty-divider{display:flex;align-items:center;gap:10px;width:100%;max-width:200px;margin:10px 0;color:var(--dim);font-size:9px;text-transform:uppercase;letter-spacing:.06em}
.empty-divider::before,.empty-divider::after{content:'';flex:1;height:1px;background:var(--border)}

/* W/L/BE badges */
.badge{display:inline-block;padding:1px 6px;border-radius:3px;font-size:10px;font-family:'JetBrains Mono',monospace;font-weight:500;margin-right:2px}
.bw{background:var(--green-bg);color:var(--green);border:1px solid var(--green-dim)}
.bl{background:var(--red-bg);color:var(--red);border:1px solid var(--red-dim)}
.bbe{background:var(--surface2);color:var(--muted);border:1px solid var(--border2)}
/* hidden till data */
.needs-data{display:none}
/* nav disabled state before data */
.nav-disabled .nav{opacity:.35;pointer-events:none;cursor:default}
.nav-disabled .sb-section{opacity:.35}


/* ── PERFORMANCE SECTION ── */
.perf-header{display:flex;align-items:center;gap:8px;margin-bottom:1.25rem;flex-wrap:wrap}
.perf-range{display:flex;align-items:center;gap:6px;background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:5px 10px}
.perf-range label{font-size:10px;color:var(--dim);white-space:nowrap}
.perf-range input[type=date]{background:transparent;border:none;color:var(--text);font-size:11px;font-family:'JetBrains Mono',monospace;outline:none;cursor:pointer}
.perf-range input[type=date]::-webkit-calendar-picker-indicator{filter:invert(.4);cursor:pointer}
.perf-sep{color:var(--dim);font-size:11px}
.perf-apply{background:var(--cyan-bg);border:1px solid var(--cyan-dim);border-radius:4px;color:var(--cyan);font-size:10px;padding:4px 10px;cursor:pointer;font-family:'Inter',sans-serif}
.perf-apply:hover{background:var(--green-dim)}
.perf-info{font-size:10px;color:var(--dim);font-family:'JetBrains Mono',monospace}

.big-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:7px;margin-bottom:1.25rem}
.bsc{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.1rem;position:relative}
.bsc.highlight-g{border-color:var(--green-dim);background:var(--green-bg)}
.bsc.highlight-r{border-color:var(--red-dim);background:var(--red-bg)}
.bsc-label{font-size:9px;font-weight:600;color:var(--dim);text-transform:uppercase;letter-spacing:.07em;margin-bottom:6px}
.bsc-val{font-size:22px;font-weight:600;letter-spacing:-.03em;font-family:'JetBrains Mono',monospace;line-height:1;margin-bottom:4px}
.bsc-sub{font-size:10px;color:var(--muted);line-height:1.4}
.bsc-sub b{color:var(--text)}

.perf-2col{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:1.25rem}
@media(max-width:900px){.perf-2col{grid-template-columns:1fr}}
.best-worst-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.9rem 1rem}
.bwc-header{display:flex;align-items:center;gap:6px;margin-bottom:8px}
.bwc-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.bwc-title{font-size:9px;font-weight:600;color:var(--dim);text-transform:uppercase;letter-spacing:.07em}
.bwc-val{font-size:20px;font-weight:600;font-family:'JetBrains Mono',monospace;letter-spacing:-.03em;margin-bottom:4px}
.bwc-meta{font-size:10px;color:var(--muted);line-height:1.6}

/* ── TRADES v2 — Topstep style ── */
.trades-list-wrap{display:flex;flex-direction:column;gap:0}
.tday-block{margin-bottom:1.25rem}
.tday-header{display:flex;align-items:baseline;gap:8px;padding:0 0 6px;border-bottom:1px solid var(--border);margin-bottom:8px}
.tday-label{font-size:13px;font-weight:600;letter-spacing:-.01em}
.tday-net{font-size:12px;font-family:'JetBrains Mono',monospace;font-weight:500}
.tday-count{font-size:10px;color:var(--dim);margin-left:auto}
.tcard{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.75rem 1rem;display:grid;grid-template-columns:28px 1fr auto;gap:0 10px;align-items:center;cursor:pointer;transition:border-color .1s;margin-bottom:5px}
.tcard:hover{border-color:var(--border2)}
.tcard.expanded{border-color:var(--border2);background:var(--surface2)}
.tcard-num{font-size:11px;font-family:'JetBrains Mono',monospace;color:var(--dim);text-align:center}
.tcard-left{display:flex;flex-direction:column;gap:3px}
.tcard-top{display:flex;align-items:center;gap:6px}
.tcard-pair{font-size:12px;font-weight:500}
.tcard-badge{font-size:9px;font-family:'JetBrains Mono',monospace;padding:2px 6px;border-radius:3px;background:var(--surface2);color:var(--muted);border:1px solid var(--border2)}
.tcard-badge.win{background:var(--green-bg);color:var(--green);border-color:var(--green-dim)}
.tcard-badge.loss{background:var(--red-bg);color:var(--red);border-color:var(--red-dim)}
.tcard-badge.be{background:var(--surface2);color:var(--muted)}
.tcard-meta{font-size:10px;color:var(--dim)}
.tcard-right{text-align:right}
.tcard-rr{font-size:16px;font-weight:600;font-family:'JetBrains Mono',monospace;letter-spacing:-.02em;line-height:1;margin-bottom:3px}
.tcard-time{font-size:9px;color:var(--dim);font-family:'JetBrains Mono',monospace}
.tcard-expand{grid-column:1/-1;padding-top:8px;margin-top:4px;border-top:1px solid var(--border);font-size:11px;color:var(--muted);display:none;line-height:1.6}
.tcard.expanded .tcard-expand{display:block}
.tcard-qbadge{display:inline-block;width:7px;height:7px;border-radius:1px;margin-right:4px;vertical-align:middle}
/* ── HEATMAP ── */

