/* Backtest report window (from Steve Report). Everything is scoped under .sdbt so it
   cannot touch the styles of the existing dashboard. */
.sdbt{--bg:#0a0d14;--panel:#0f1420;--line:#1f2839;--line2:#2a3548;--ink:#e8edf5;--mute:#8a96ab;
  --teal:#5fd4b8;--gold:#e3b456;--gold2:#f5d58a;--up:#5ad08a;--dn:#ef7a6f;
  --mono:"JetBrains Mono",ui-monospace,Consolas,monospace;--sans:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
  position:fixed;inset:0;z-index:9999;background:rgba(4,6,10,.72);backdrop-filter:blur(6px);font-family:var(--sans);color:var(--ink);-webkit-font-smoothing:antialiased}
.sdbt *{box-sizing:border-box}
.sdbt button{font:inherit;cursor:pointer}
.sdbt :focus-visible{outline:2px solid var(--teal);outline-offset:3px;border-radius:6px}
.sdbt-inner{position:absolute;inset:18px;background:var(--bg);border:1px solid var(--line2);border-radius:20px;overflow:auto;box-shadow:0 40px 120px -20px #000;animation:sdbtRise .45s cubic-bezier(.2,.8,.2,1)}
@keyframes sdbtRise{from{transform:translateY(40px);opacity:0}to{transform:none;opacity:1}}
@media (prefers-reduced-motion:reduce){.sdbt-inner{animation:none}}
@media (max-width:640px){.sdbt-inner{inset:0;border-radius:0}}
.sdbt-wrap{max-width:1240px;margin:0 auto;padding:30px 34px 60px}
@media (max-width:640px){.sdbt-wrap{padding:22px 16px 40px}}
.sdbt-top{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}
.sdbt-top h2{margin:0;font-size:30px;font-weight:800;letter-spacing:-.02em}
.sdbt-top p{margin:6px 0 0;color:var(--mute)}
.sdbt-close{background:#121826;border:1px solid var(--line2);color:var(--ink);width:42px;height:42px;border-radius:12px;font-size:20px;flex:none}
.sdbt-chips{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 26px}
.sdbt-chip{border:1px solid var(--line2);color:var(--mute);border-radius:999px;padding:6px 12px;font-size:13px}
.sdbt-chip b{color:var(--ink);font-weight:600}
.sdbt-hero{border:1px solid var(--line);border-radius:18px;background:radial-gradient(1200px 380px at 70% -10%,#e3b45614,transparent 60%),var(--panel);padding:26px 26px 12px;position:relative}
.sdbt-heroHead{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.sdbt-growth{font-family:var(--mono);font-weight:700;font-size:clamp(34px,5vw,56px);letter-spacing:-.03em;line-height:1;color:var(--gold2)}
.sdbt-growth small{font-size:.4em;color:var(--mute);font-weight:500;margin:0 10px}
.sdbt-growthNote{color:var(--mute);margin-top:10px;font-size:14px}
.sdbt-heroSide{display:flex;gap:28px;flex-wrap:wrap}
.sdbt-heroSide span{display:block;color:var(--mute);font-size:13px}
.sdbt-heroSide strong{font-family:var(--mono);font-size:22px}
.sdbt-chart{width:100%;display:block;touch-action:none}
.sdbt-axis{fill:var(--mute);font:11px var(--mono)}
.sdbt-tip{position:absolute;pointer-events:none;background:#0b0f18ee;border:1px solid var(--line2);border-radius:10px;padding:9px 12px;font-size:12px;display:none;min-width:150px}
.sdbt-tip b{font-family:var(--mono);font-size:15px;display:block;color:var(--gold2)}
.sdbt-tip span{color:var(--mute)}
.sdbt-under{display:flex;justify-content:space-between;color:var(--mute);font-size:12px;padding:0 4px;margin-top:4px}
.sdbt-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:18px}
.sdbt-grid2{display:grid;grid-template-columns:1.2fr 1fr;gap:16px;margin-top:16px}
@media(max-width:980px){.sdbt-grid3,.sdbt-grid2{grid-template-columns:1fr}}
.sdbt-card{border:1px solid var(--line);border-radius:16px;background:var(--panel);padding:20px 22px}
.sdbt-card h3{margin:0 0 4px;font-size:16px;font-weight:700}
.sdbt-lead{color:var(--mute);font-size:13px;margin:0 0 16px}
.sdbt-kv{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:9px 0;border-top:1px solid var(--line)}
.sdbt-kv:first-of-type{border-top:0}
.sdbt-kv span{color:var(--mute);font-size:14px}
.sdbt-kv strong{font-family:var(--mono);font-size:15px;text-align:right}
.sdbt-big{display:flex;align-items:baseline;gap:10px;margin-bottom:10px}
.sdbt-big strong{font-family:var(--mono);font-size:34px;font-weight:700}
.sdbt-big span{color:var(--mute);font-size:13px}
.sdbt-bar{height:8px;border-radius:6px;background:var(--line);overflow:hidden;display:flex;margin:6px 0 4px}
.sdbt-bar i{display:block;height:100%}
.sdbt-legend{display:flex;justify-content:space-between;font-size:12px;color:var(--mute)}
.sdbt-heatScroll{overflow-x:auto}
.sdbt-heat{display:grid;grid-template-columns:64px repeat(12,minmax(58px,1fr)) 90px;gap:6px;min-width:860px}
.sdbt-heat .h{color:var(--mute);font-size:12px;text-align:center}
.sdbt-heat .y{font-family:var(--mono);color:var(--mute);display:flex;align-items:center;font-size:13px}
.sdbt-cell{border-radius:10px;padding:12px 4px;text-align:center;font-family:var(--mono);font-size:13px;font-weight:700;min-height:52px;display:flex;flex-direction:column;justify-content:center;gap:2px}
.sdbt-cell small{font-weight:500;font-size:10.5px;opacity:.75}
.sdbt-cell.empty{background:repeating-linear-gradient(135deg,#121826,#121826 6px,#0f1420 6px,#0f1420 12px)}
.sdbt-tot{border-radius:10px;border:1px solid var(--line2);display:flex;flex-direction:column;justify-content:center;align-items:center;font-family:var(--mono);font-weight:700}
.sdbt-tot small{color:var(--mute);font-weight:500;font-size:11px}
.sdbt-strat{display:grid;grid-template-columns:52px 1fr 56px;align-items:center;gap:10px;padding:5px 0;font-size:13px}
.sdbt-strat .n{font-family:var(--mono);color:var(--mute)}
.sdbt-strat .b{height:14px;border-radius:4px;background:linear-gradient(90deg,#b8862f,#e3b456)}
.sdbt-strat .v{font-family:var(--mono);text-align:right}
.sdbt-strat.top1 .n{color:var(--gold2)}
.sdbt-notes{margin-top:16px;display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:980px){.sdbt-notes{grid-template-columns:1fr}}
.sdbt-note{border:1px dashed var(--line2);border-radius:14px;padding:16px 18px;color:var(--mute);font-size:13.5px;line-height:1.55}
.sdbt-note b{color:var(--ink)}
.sdbt-foot{margin-top:28px;color:var(--mute);font-size:12px;text-align:center}
.sdbt-msg{padding:80px 20px;text-align:center;color:var(--mute)}
/* the button placed next to each EA on the public page */
.sdbt-open{display:inline-flex;align-items:center;gap:10px;background:linear-gradient(180deg,#f2cf7c,#d9a543);color:#1a1405;border:0;padding:11px 18px;border-radius:12px;font-weight:700;font-size:15px;box-shadow:0 6px 24px -8px #e3b45688;cursor:pointer}
.sdbt-open svg{width:18px;height:18px}
.sdbt-open:hover{filter:brightness(1.06)}

/* live continuation (added for the public dashboard) */
.sdbt .sdbt-liveTxt{color:var(--teal)}
.sdbt .sdbt-chip--live{border-color:#5fd4b866;color:var(--teal)}
.sdbt .sdbt-chip--live b{color:var(--teal)}
.sdbt-key{display:flex;gap:18px;justify-content:flex-end;font-size:12px;color:var(--mute);margin:0 0 4px}
.sdbt-key span{display:inline-flex;align-items:center;gap:6px}
.sdbt-key i{display:inline-block;width:18px;height:3px;border-radius:2px}
.sdbt-key i.bt{background:#f0c86c}.sdbt-key i.lv{background:var(--teal)}
.sdbt .sdbt-liveAxis{fill:var(--teal)}
.sdbt-vs{margin-top:16px;border-color:#5fd4b844}
.sdbt-vsGrid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:22px;align-items:start}
.sdbt-vs table{width:100%;border-collapse:collapse;font-size:14px}
.sdbt-vs th,.sdbt-vs td{padding:8px 6px;border-bottom:1px solid var(--line);text-align:right;font-family:var(--mono);font-weight:500}
.sdbt-vs th:first-child{text-align:left;font-family:var(--sans);color:var(--mute);font-weight:400}
.sdbt-vs thead th{font-family:var(--sans);color:var(--mute);font-weight:600;font-size:12px}
.sdbt-vs .lv{color:var(--teal)}
.sdbt-vs td{white-space:nowrap}
@media (max-width:480px){.sdbt-vs table{font-size:13px}.sdbt-vs th,.sdbt-vs td{padding:7px 3px}}
.sdbt-warn{margin:0 0 10px;padding:8px 12px;border-radius:10px;background:#e3b45614;border:1px solid #e3b45640;color:var(--gold2);font-size:13px}
.sdbt-cell.live{outline:2px solid var(--teal);outline-offset:-2px}
@media (max-width:760px){.sdbt-vsGrid{grid-template-columns:1fr}}
