/* ============ TITVN — dark monochrome charting UI ============ */
* { margin:0; padding:0; box-sizing:border-box; }
html{ color-scheme:dark; }
:root{
  --bg:#000000;
  --panel:#0a0a0a;
  --panel2:#111111;
  --border:#2a2a2a;
  --border-soft:#1c1c1c;
  --text:#f5f5f5;
  --text-dim:#9a9a9a;
  --text-faint:#5c5c5c;
  --hover:#1e1e1e;
  --active:#2e2e2e;
  --accent:#ffffff;
  --up:#089981;
  --down:#f23645;
}
html,body{ height:100%; overflow:hidden; }
body{
  background:var(--bg); color:var(--text);
  font-family:-apple-system,BlinkMacSystemFont,"Trebuchet MS",Roboto,Ubuntu,sans-serif;
  font-size:13px; user-select:none;
}
select{ color-scheme:dark; }
select option,select optgroup{
  color:#f5f5f5; background:#111111;
}
#tv-app{ display:flex; flex-direction:column; height:100vh; height:100dvh; }

/* ============ TOP TOOLBAR ============ */
#top-toolbar{
  height:38px; min-height:38px; display:flex; align-items:center; justify-content:space-between;
  background:var(--panel); border-bottom:1px solid var(--border); padding:0 6px; z-index:50;
}
.tb-group{ display:flex; align-items:center; gap:2px; height:100%; }
.tb-btn{
  background:transparent; border:none; color:var(--text); cursor:pointer;
  height:28px; padding:0 8px; border-radius:4px; font-size:13px; font-weight:500;
  display:flex; align-items:center; gap:4px; white-space:nowrap;
}
.tb-btn:hover{ background:var(--hover); }
.tb-btn.active{ background:var(--active); color:var(--accent); }
.tb-btn i{ font-size:14px; }
.tb-label{ font-size:12px; }
.logo-btn i{ font-size:17px; color:var(--accent); }
.logo-btn{ width:38px; padding:0 5px; }
.logo-btn img{ display:block; width:28px; height:22px; object-fit:contain; }
.symbol-btn{ font-weight:700; font-size:13px; letter-spacing:.2px; }
.plus-btn i{ font-size:11px; color:var(--text-dim); }
.tb-sep{ width:1px; height:22px; background:var(--border); margin:0 5px; }
.interval-group{ display:flex; }
.int-btn{ padding:0 7px; font-size:12px; color:var(--text-dim); }
.int-btn.active{ color:#000; background:var(--accent); font-weight:700; }
.caret{ font-size:9px !important; margin-left:2px; color:var(--text-dim); }
.publish-btn{
  background:var(--accent); color:#000; font-weight:700; border:none; cursor:pointer;
  height:26px; padding:0 14px; border-radius:4px; font-size:13px;
}
.publish-btn:hover{ background:#d9d9d9; }

/* dropdowns */
.dropdown{ position:relative; }
.dropdown-menu{
  display:none; position:absolute; top:32px; left:0; min-width:210px;
  background:var(--panel2); border:1px solid var(--border); border-radius:6px;
  padding:4px; z-index:100; box-shadow:0 6px 24px rgba(0,0,0,.8);
}
.dropdown-menu.open{ display:block; }
.dd-item{
  padding:7px 10px; border-radius:4px; cursor:pointer; display:flex; align-items:center; gap:10px;
  color:var(--text); font-size:13px;
}
.dd-item i{ width:16px; text-align:center; color:var(--text-dim); }
.dd-item:hover{ background:var(--hover); }
.dd-item.active{ background:var(--active); }
.dd-item.active::after{ content:"✓"; margin-left:auto; color:var(--accent); font-size:11px; }

/* ============ LAYOUT ============ */
#main-area{ flex:1; display:flex; min-height:0; }

/* ============ LEFT TOOLBAR ============ */
#left-toolbar{
  width:44px; min-width:44px; background:var(--panel); border-right:1px solid var(--border);
  display:flex; flex-direction:column; align-items:center; padding-top:4px; gap:2px; z-index:40;
}
.lt-btn{
  width:34px; height:34px; border:none; background:transparent; color:var(--text-dim);
  border-radius:5px; cursor:pointer; font-size:15px; display:flex; align-items:center; justify-content:center;
}
.lt-btn:hover{ background:var(--hover); color:var(--text); }
.lt-btn.active{ color:#000; background:var(--accent); }
.lt-sep{ width:26px; height:1px; background:var(--border); margin:4px 0; }

/* ============ CHART AREA ============ */
#chart-area{ flex:1; display:flex; flex-direction:column; min-width:0; background:var(--bg); position:relative; }
#chart-panel{ flex:1; position:relative; min-height:0; }
#main-chart{ position:absolute; inset:0; }
.sub-panel{ height:130px; min-height:130px; border-top:1px solid var(--border); position:relative; }
#rsi-chart,#macd-chart{ position:absolute; inset:0; top:0; }
.sub-legend{
  position:absolute; top:4px; left:8px; z-index:20; font-size:12px; color:var(--text-dim);
  background:rgba(0,0,0,.5); padding:1px 6px; border-radius:3px;
}
.sub-close{ cursor:pointer; margin-left:8px; color:var(--text-faint); }
.sub-close:hover{ color:var(--text); }

/* legend */
#chart-legend{ position:absolute; top:8px; left:10px; z-index:20; pointer-events:none; }
.legend-row{ display:flex; align-items:center; gap:6px; margin-bottom:2px; flex-wrap:wrap; }
.legend-symbol{ font-size:16px; font-weight:700; color:var(--text); }
.legend-desc{ font-size:12px; color:var(--text-dim); }
.legend-ohlc{ font-size:12px; color:var(--text-dim); font-family:"SF Mono",Menlo,Consolas,monospace; }
.legend-ohlc b{ font-weight:600; }
.legend-ohlc .up{ color:var(--up); } .legend-ohlc .down{ color:var(--down); }
.legend-vol,.legend-ind{ font-size:12px; color:var(--text-dim); }
.legend-ind-name{ color:var(--text-dim); }
.legend-vol-val{ font-family:"SF Mono",Menlo,Consolas,monospace; }
#legend-indicators .legend-row{ font-size:12px; color:var(--text-dim); }
.legend-ind-close{ pointer-events:auto; cursor:pointer; color:var(--text-faint); margin-left:2px; }
.legend-ind-close:hover{ color:var(--text); }

/* ============ BOTTOM BAR ============ */
#bottom-bar{
  height:26px; min-height:26px; display:flex; justify-content:space-between; align-items:center;
  border-top:1px solid var(--border); background:var(--panel); padding:0 8px; font-size:11px;
}
.bb-left,.bb-right{ display:flex; align-items:center; gap:2px; }
.bb-btn{
  background:transparent; border:none; color:var(--text-dim); cursor:pointer;
  padding:2px 6px; border-radius:3px; font-size:11px;
}
.bb-btn:hover{ background:var(--hover); color:var(--text); }
.bb-select{
  max-width:92px; height:22px; padding:0 5px; border:1px solid var(--border);
  border-radius:4px; color:var(--text-dim); background:#111; font-size:10px; outline:0;
}
.bb-btn.active{ color:var(--accent); font-weight:700; }
.bb-sep{ color:var(--text-faint); margin:0 3px; }
#clock-utc{ color:var(--text-dim); font-family:"SF Mono",Menlo,Consolas,monospace; }

/* ============ RIGHT SIDEBAR ============ */
#right-sidebar{
  width:280px; min-width:280px; background:var(--panel); border-left:1px solid var(--border);
  display:flex; flex-direction:column; z-index:40;
}
.wl-header{
  display:flex; justify-content:space-between; align-items:center;
  padding:9px 12px; font-weight:700; font-size:13px; border-bottom:1px solid var(--border-soft);
}
.wl-add{ cursor:pointer; color:var(--text-dim); font-size:12px; padding:4px; }
.wl-add:hover{ color:var(--text); }
.wl-cols{
  display:grid; grid-template-columns:1fr 76px 60px; padding:5px 12px;
  font-size:11px; color:var(--text-faint); border-bottom:1px solid var(--border-soft);
}
.wl-cols span:nth-child(2),.wl-cols span:nth-child(3){ text-align:right; }
#watchlist-panel{ flex:1; overflow:hidden; display:flex; flex-direction:column; }
#watchlist-body{ overflow-y:auto; flex:1; }
.wl-row{
  display:grid; grid-template-columns:1fr 76px 60px; padding:6px 12px; cursor:pointer;
  font-size:12px; align-items:center; border-left:2px solid transparent;
}
.wl-row:hover{ background:var(--hover); }
.wl-row.selected{ background:var(--active); border-left-color:var(--accent); }
.wl-sym{ font-weight:700; display:flex; align-items:center; gap:6px; }
.wl-dot{ width:6px; height:6px; border-radius:50%; background:var(--text-faint); }
.wl-last{ text-align:right; font-family:"SF Mono",Menlo,Consolas,monospace; }
.wl-chg{ text-align:right; font-family:"SF Mono",Menlo,Consolas,monospace; }
.wl-chg.up{ color:var(--up); } .wl-chg.down{ color:var(--down); }
.wl-last.flash-up{ animation:flashUp .5s; } .wl-last.flash-down{ animation:flashDown .5s; }
@keyframes flashUp{ 0%{ background:rgba(8,153,129,.35);} 100%{ background:transparent;} }
@keyframes flashDown{ 0%{ background:rgba(242,54,69,.35);} 100%{ background:transparent;} }

#details-panel{ border-top:1px solid var(--border); padding-bottom:10px; }
.details-price{ padding:8px 12px 4px; display:flex; align-items:baseline; gap:8px; }
#details-last{ font-size:22px; font-weight:700; font-family:"SF Mono",Menlo,Consolas,monospace; }
#details-chg{ font-size:13px; font-family:"SF Mono",Menlo,Consolas,monospace; }
#details-chg.up{ color:var(--up);} #details-chg.down{ color:var(--down);}
.details-grid{ display:grid; grid-template-columns:1fr 1fr; gap:6px 12px; padding:6px 12px; }
.details-grid > div{ display:flex; justify-content:space-between; font-size:12px; }
.details-grid label{ color:var(--text-faint); }
.details-grid span{ font-family:"SF Mono",Menlo,Consolas,monospace; }

/* ============ ICON RAIL ============ */
#icon-rail{
  width:44px; min-width:44px; background:var(--panel); border-left:1px solid var(--border);
  display:flex; flex-direction:column; align-items:center; padding-top:6px; gap:4px;
}
.rail-btn{
  width:34px; height:34px; border:none; background:transparent; color:var(--text-dim);
  border-radius:5px; cursor:pointer; font-size:15px;
}
.rail-btn:hover{ background:var(--hover); color:var(--text); }
.rail-btn.active{ color:var(--accent); background:var(--active); }

/* ============ MODAL ============ */
#modal-overlay{
  position:fixed; inset:0; background:rgba(0,0,0,.7); z-index:200;
  display:flex; align-items:flex-start; justify-content:center; padding-top:80px;
}
#symbol-modal{
  width:640px; max-width:92vw; background:var(--panel2); border:1px solid var(--border);
  border-radius:8px; overflow:hidden; box-shadow:0 12px 48px rgba(0,0,0,.9);
}
.modal-head{ display:flex; align-items:center; padding:12px 16px; gap:10px; border-bottom:1px solid var(--border-soft); }
.modal-head i{ color:var(--text-dim); }
#symbol-input{
  flex:1; background:transparent; border:none; outline:none; color:var(--text);
  font-size:16px; font-weight:500;
}
#symbol-input::placeholder{ color:var(--text-faint); }
.modal-close{ cursor:pointer; color:var(--text-dim); padding:4px 8px; }
.modal-close:hover{ color:var(--text); }
.modal-tabs{ display:flex; gap:4px; padding:8px 12px; border-bottom:1px solid var(--border-soft); }
.mtab{ padding:4px 12px; border-radius:14px; font-size:12px; color:var(--text-dim); cursor:pointer; }
.mtab:hover{ background:var(--hover); }
.mtab.active{ background:var(--accent); color:#000; font-weight:700; }
#symbol-results{ max-height:380px; overflow-y:auto; padding:4px; }
.sr-row{
  display:flex; justify-content:space-between; padding:9px 14px; cursor:pointer; border-radius:4px;
  align-items:center;
}
.sr-row:hover{ background:var(--hover); }
.sr-sym{ font-weight:700; font-size:13px; }
.sr-desc{ color:var(--text-faint); font-size:12px; }
.sr-exch{ color:var(--text-dim); font-size:11px; }

/* ============ TOAST ============ */
#toast{
  position:fixed; bottom:44px; left:50%; transform:translateX(-50%) translateY(20px);
  background:var(--panel2); border:1px solid var(--border); color:var(--text);
  padding:8px 18px; border-radius:6px; font-size:13px; opacity:0; pointer-events:none;
  transition:all .25s; z-index:300;
}
#toast.show{ opacity:1; transform:translateX(-50%) translateY(0); }

/* scrollbars */
::-webkit-scrollbar{ width:8px; height:8px; }
::-webkit-scrollbar-thumb{ background:#333; border-radius:4px; }
::-webkit-scrollbar-thumb:hover{ background:#444; }
::-webkit-scrollbar-track{ background:transparent; }

/* drawing canvas overlay */
#draw-canvas{ position:absolute; inset:0; z-index:15; pointer-events:none; }
#draw-canvas.drawing{ pointer-events:all; cursor:crosshair; }

@media (max-width:1100px){
  #right-sidebar{ display:none; }
  #icon-rail{ display:none; }
}

/* ============================================================
   TITVN Platform — shared UI: auth/trade modals, positions
   panel, backtesting lab, account page
   ============================================================ */

.nv-overlay{
  position:fixed; inset:0; background:rgba(0,0,0,.7); z-index:400;
  display:flex; align-items:flex-start; justify-content:center; padding-top:80px;
}
.nv-modal{
  width:420px; max-width:92vw; background:var(--panel2); border:1px solid var(--border);
  border-radius:8px; overflow:hidden; box-shadow:0 12px 48px rgba(0,0,0,.9);
}
.nv-modal-head{
  display:flex; align-items:center; justify-content:space-between; padding:12px 16px;
  border-bottom:1px solid var(--border-soft); font-weight:700; font-size:14px;
}
.nv-modal-body{ padding:16px; }
.nv-modal-body label{ display:block; font-size:12px; color:var(--text-dim); margin:10px 0 4px; }
.nv-modal-body input, .nv-modal-body select{
  width:100%; background:#0d0d0d; border:1px solid var(--border); color:var(--text);
  padding:8px 10px; border-radius:5px; font-size:13px; outline:none;
}
.nv-modal-body input:focus, .nv-modal-body select:focus{ border-color:#555; }
.nv-modal-body input:disabled{ color:var(--text-faint); }
.nv-row{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.nv-tabs{ display:flex; gap:6px; margin-bottom:8px; }
.nv-tab{
  flex:1; background:transparent; border:1px solid var(--border); color:var(--text-dim);
  padding:7px 0; border-radius:5px; cursor:pointer; font-size:13px;
}
.nv-tab.active{ background:var(--accent); color:#000; font-weight:700; border-color:var(--accent); }
.nv-primary-btn{
  width:100%; margin-top:14px; background:var(--accent); color:#000; font-weight:700;
  border:none; padding:10px 0; border-radius:6px; cursor:pointer; font-size:14px;
}
.nv-primary-btn:hover{ background:#d9d9d9; }
.nv-error{ color:var(--down); font-size:12px; min-height:14px; margin-top:6px; }
.nv-side-toggle{ display:flex; gap:6px; }
.nv-side-btn{
  flex:1; background:#0d0d0d; border:1px solid var(--border); color:var(--text-dim);
  padding:8px 0; border-radius:5px; cursor:pointer; font-weight:700; font-size:13px;
}
.nv-side-btn[data-side="long"].active{ background:rgba(8,153,129,.2); border-color:var(--up); color:var(--up); }
.nv-side-btn[data-side="short"].active{ background:rgba(242,54,69,.2); border-color:var(--down); color:var(--down); }

/* Positions floating panel */
.nv-positions-panel{
  position:fixed; right:16px; bottom:44px; width:410px; max-height:72vh;
  background:#0d0d0d; border:1px solid #303030; border-radius:12px;
  z-index:350; display:flex; flex-direction:column; box-shadow:0 12px 48px rgba(0,0,0,.9);
}
.nv-positions-head{
  display:flex; justify-content:space-between; align-items:center; padding:10px 14px;
  border-bottom:1px solid var(--border-soft); font-weight:700; font-size:13px;
}
.nv-positions-head>span{display:flex;align-items:center;gap:7px}.nv-positions-head>span small{color:#656565;font-size:9px;font-weight:500}.nv-positions-head>div{display:flex;align-items:center;gap:3px}.nv-positions-head button{display:grid;width:29px;height:29px;place-items:center;border:0;border-radius:5px;background:transparent;color:#888;cursor:pointer}.nv-positions-head button:hover{background:#222;color:#fff}.nv-positions-head button.loading i{animation:nvSpin .8s linear infinite}@keyframes nvSpin{to{transform:rotate(360deg)}}
.nv-positions-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;border-bottom:1px solid #242424;background:#242424}.nv-positions-summary>span{display:flex;min-height:54px;flex-direction:column;justify-content:center;padding:8px 11px;background:#101010}.nv-positions-summary small{margin-bottom:4px;color:#626262;font-size:8px;font-weight:700;text-transform:uppercase}.nv-positions-summary b{color:#ddd;font:700 12px "SF Mono",Menlo,monospace}.nv-positions-summary b.up,.nv-pos-pnl.up{color:#35c9a2}.nv-positions-summary b.down,.nv-pos-pnl.down{color:#ff5b68}.nv-positions-summary em{grid-column:1/-1;padding:5px 10px;background:#211b09;color:#d5b85d;font-size:9px;font-style:normal}
#nv-positions-body{ overflow-y:auto; padding:8px; }
.nv-empty{ color:var(--text-faint); font-size:12px; padding:20px; text-align:center; }
.nv-position-row{
  position:relative;border:1px solid #282828;border-left:3px solid var(--up);border-radius:8px;padding:11px;margin-bottom:8px;
  background:linear-gradient(135deg,rgba(8,153,129,.07),#101010 40%);font-size:11px;
}
.nv-position-row.short{border-left-color:var(--down);background:linear-gradient(135deg,rgba(242,54,69,.07),#101010 40%)}
.nv-pos-top{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:8px;margin-bottom:10px}.nv-pos-top>span:first-child{display:flex;flex-direction:column;gap:2px}
.nv-pos-symbol{color:#f0f0f0;font-size:13px;font-weight:800}.nv-pos-top>span:first-child small{color:#606060;font-size:8px}
.nv-pos-side{ font-weight:700; font-size:11px; padding:1px 6px; border-radius:3px; }
.nv-pos-side.long{ color:var(--up); background:rgba(8,153,129,.15); }
.nv-pos-side.short{ color:var(--down); background:rgba(242,54,69,.15); }
.nv-pos-pnl{display:flex;flex-direction:column;align-items:flex-end;font:800 12px "SF Mono",Menlo,monospace}.nv-pos-pnl small{margin-top:2px;font-size:8px;font-weight:600}
.nv-pos-terminal{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;padding:9px 0;border-top:1px solid #232323}.nv-pos-terminal span{display:flex;min-width:0;flex-direction:column;gap:3px}.nv-pos-terminal small{color:#606060;font-size:8px;text-transform:uppercase}.nv-pos-terminal b{overflow:hidden;color:#bbb;font:600 10px "SF Mono",Menlo,monospace;text-overflow:ellipsis;white-space:nowrap}
.nv-pos-broker{ color:var(--text-faint); font-size:11px; }
#nv-broker-connect-btn.connected{color:#39d7b3!important;background:#0a2822!important}
.nv-broker-modal{width:min(480px,calc(100vw - 24px))}
#nv-broker-overlay{z-index:3000}
.nv-session-warning{display:flex;gap:10px;padding:10px 12px;margin-bottom:12px;border:1px solid #725d20;border-radius:6px;background:#241d07;color:#e8d48d;font-size:11px;line-height:1.45}.nv-session-warning i{margin-top:2px}
.nv-broker-modal label{display:block;margin:10px 0 5px;color:var(--text-dim);font-size:10px;text-transform:uppercase;letter-spacing:.04em}
.nv-broker-modal input,.nv-broker-modal select{width:100%;height:36px;padding:0 9px;border:1px solid #303030;border-radius:5px;background:#101010;color:#eee}
.nv-broker-modal .nv-broker-confirm{display:flex;align-items:center;gap:8px;text-transform:none;letter-spacing:0;font-size:11px;color:#ddd}.nv-broker-confirm input{width:auto;height:auto;accent-color:#f23645}
.nv-broker-actions{display:flex;gap:8px;margin-top:13px}.nv-broker-actions .nv-primary-btn{margin:0;flex:1}
.nv-broker-provider-note{margin:8px 0 12px;padding:9px 10px;border:1px solid #292929;border-radius:7px;background:#0b0b0b;color:#888;font-size:9px;line-height:1.5}.nv-ctrader-ready{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding:11px;border:1px solid #303030;border-radius:9px;background:#0a0a0a}.nv-ctrader-ready>span{display:flex;min-width:0;flex-direction:column;gap:3px}.nv-ctrader-ready i{margin-right:5px}.nv-ctrader-ready b{font-size:10px}.nv-ctrader-ready small{color:#777;font-size:8px;line-height:1.45}.nv-ctrader-ready a{flex:0 0 auto;padding:7px 9px;border:1px solid #444;border-radius:6px;color:#eee;font-size:8px;text-decoration:none}
.nv-trade-demo-label{margin-bottom:10px;padding:10px;border:1px solid #303030;border-radius:7px;background:#0b0b0b;color:#ddd;font-size:10px}.nv-trade-demo-label i{margin-right:5px}
.nv-pos-mid{ display:flex; gap:10px; color:var(--text-dim); margin-bottom:6px; flex-wrap:wrap; }
.nv-close-pos-btn{
  width:100%; background:#191919; border:1px solid #333; color:#ddd;
  padding:7px 0; border-radius:5px; cursor:pointer; font-size:10px;font-weight:700;
}
.nv-close-pos-btn:hover{ background:var(--hover); }
.nv-close-pos-btn:disabled{ opacity:.5; cursor:default; }
.nv-positions-empty{display:flex;min-height:190px;flex-direction:column;align-items:center;justify-content:center;gap:7px}.nv-positions-empty i{margin-bottom:5px;color:#3e3e3e;font-size:25px}.nv-positions-empty b{color:#aaa;font-size:12px}.nv-positions-empty span{max-width:260px;color:#5e5e5e;font-size:10px;line-height:1.5}
.nv-live-mobile-nav{display:none}
.nv-mt-terminal{display:none}
.nv-mobile-quick-trade{display:none}
.nv-mobile-feed-status{display:none}
.nv-pro-toolbar{position:relative}.nv-pro-toolbar b,.nv-pro-nav b{display:inline-flex;align-items:center;height:14px;padding:0 4px;border:1px solid #8a6a21;border-radius:4px;background:#2a2109;color:#f1c75b;font-size:7px;font-weight:900;letter-spacing:.08em}.nv-pro-nav{display:flex!important;align-items:center;gap:6px}

/* Session-only trader journal */
.nv-journal-overlay{z-index:3200;align-items:center;padding:18px;background:rgba(0,0,0,.82);backdrop-filter:blur(7px)}
.nv-journal{display:flex;flex-direction:column;width:min(1220px,calc(100vw - 28px));height:min(850px,calc(100vh - 34px));overflow:hidden;border:1px solid #303030;border-radius:14px;background:#0b0b0b;box-shadow:0 30px 90px rgba(0,0,0,.8)}
.nv-journal-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 22px;border-bottom:1px solid #252525;background:linear-gradient(115deg,#171717,#0c0c0c 55%,#111c19)}
.nv-journal-kicker{display:block;margin-bottom:4px;color:#70d8bc;font-size:9px;font-weight:800;letter-spacing:.17em}
.nv-journal-head h2{display:flex;align-items:center;gap:9px;margin:0;color:#f4f4f4;font-size:20px;letter-spacing:-.02em}.nv-journal-head h2 i{color:#42cba4;font-size:16px}.nv-journal-head p{margin:4px 0 0;color:#777;font-size:10px}
.nv-journal-head-actions{display:flex;align-items:center;gap:8px}.nv-journal-head-actions .nv-btn{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.nv-journal-close{width:32px;height:32px;border:1px solid #333;border-radius:7px;background:#171717;color:#aaa;cursor:pointer}.nv-journal-close:hover{color:#fff;background:#242424}
.nv-journal-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 22px;border-bottom:1px solid #202020;background:#101010}
.nv-journal-month-nav{display:flex;align-items:center;gap:5px}.nv-journal-month-nav button{height:29px;padding:0 10px;border:1px solid #303030;border-radius:6px;background:#171717;color:#bbb;cursor:pointer}.nv-journal-month-nav button:first-child,.nv-journal-month-nav button:nth-child(3){width:29px;padding:0;font-size:20px}.nv-journal-month-nav button:hover{color:#fff;border-color:#555}.nv-journal-month-nav strong{min-width:150px;margin-left:8px;color:#eee;font-size:13px}
.nv-journal-filters{display:flex;align-items:center;gap:12px}.nv-journal-filters label{display:flex;align-items:center;gap:7px;color:#777;font-size:10px;text-transform:uppercase;letter-spacing:.06em}.nv-journal-filters select{height:30px;padding:0 28px 0 9px;border:1px solid #303030;border-radius:6px;background:#171717;color:#eee;font-size:11px}.nv-journal-filters #nv-journal-source-status{display:flex;align-items:center;gap:6px;color:#8a8a8a;font-size:10px}.nv-journal-filters #nv-journal-source-status .fa-circle{color:#40caa2;font-size:6px}
.nv-journal-body{flex:1;overflow:auto;padding:16px 22px 20px}
.nv-journal-metrics{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:8px;margin-bottom:12px}.nv-journal-metrics article{display:flex;min-height:69px;flex-direction:column;justify-content:center;padding:11px 13px;border:1px solid #272727;border-radius:9px;background:linear-gradient(145deg,#141414,#0e0e0e)}.nv-journal-metrics span{margin-bottom:6px;color:#737373;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.nv-journal-metrics strong{color:#e8e8e8;font-size:19px;letter-spacing:-.025em}
.nv-journal .positive{color:#42cba4!important}.nv-journal .negative{color:#ff6673!important}
.nv-journal-grid{display:grid;grid-template-columns:minmax(620px,1fr) 250px;gap:12px}.nv-journal-calendar-wrap,.nv-journal-markets,.nv-journal-trades{border:1px solid #272727;border-radius:10px;background:#101010;overflow:hidden}
.nv-journal-weekdays,.nv-journal-calendar{display:grid;grid-template-columns:repeat(7,1fr)}.nv-journal-weekdays{border-bottom:1px solid #252525;background:#141414}.nv-journal-weekdays span{padding:8px 7px;color:#666;font-size:9px;font-weight:700;text-transform:uppercase;text-align:right}
.nv-journal-day{position:relative;display:flex;min-height:79px;flex-direction:column;align-items:flex-end;gap:5px;padding:8px;border:0;border-right:1px solid #202020;border-bottom:1px solid #202020;background:#0d0d0d;color:#777;text-align:right;cursor:pointer}.nv-journal-day:nth-child(7n){border-right:0}.nv-journal-day:hover{z-index:1;background:#171717;box-shadow:inset 0 0 0 1px #3d3d3d}.nv-journal-day.empty{cursor:default;background:#090909}.nv-journal-day .day-number{align-self:flex-start;font-size:10px;font-weight:700}.nv-journal-day strong{margin-top:auto;color:#cfcfcf;font-size:11px}.nv-journal-day small{color:#555;font-size:8px}.nv-journal-day.positive{background:linear-gradient(145deg,rgba(66,203,164,.12),#0e1311)}.nv-journal-day.negative{background:linear-gradient(145deg,rgba(255,102,115,.11),#150e0f)}.nv-journal-day.today .day-number{display:grid;width:19px;height:19px;margin:-3px 0 0 -3px;place-items:center;border-radius:50%;background:#eee;color:#111}.nv-journal-day.selected{box-shadow:inset 0 0 0 2px #ddd}
.nv-journal-markets{padding:12px}.nv-journal-section-title{color:#aaa;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.nv-journal-market-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 2px;border-bottom:1px solid #232323}.nv-journal-market-row>span{display:grid;grid-template-columns:20px 1fr;align-items:center}.nv-journal-market-row i{grid-row:1/3;color:#606060;font-size:10px}.nv-journal-market-row b{color:#ddd;font-size:11px}.nv-journal-market-row small{color:#606060;font-size:9px}.nv-journal-market-row strong{font-size:11px}
.nv-journal-trades{margin-top:12px}.nv-journal-trades-head{display:flex;align-items:center;justify-content:space-between;padding:11px 13px;border-bottom:1px solid #252525;background:#141414}.nv-journal-trades-head>div{display:flex;align-items:center;gap:10px}.nv-journal-trades-head small{color:#666;font-size:9px}.nv-journal-table-wrap{max-height:250px;overflow:auto}.nv-journal-table-wrap table{width:100%;border-collapse:collapse;font-size:10px}.nv-journal-table-wrap th{position:sticky;top:0;z-index:1;padding:8px 10px;border-bottom:1px solid #292929;background:#121212;color:#666;font-size:8px;text-align:left;text-transform:uppercase;letter-spacing:.06em}.nv-journal-table-wrap td{padding:9px 10px;border-bottom:1px solid #202020;color:#aaa;white-space:nowrap}.nv-journal-table-wrap tbody tr:hover{background:#171717}.nv-journal-table-wrap td b{color:#eee}.nv-journal-pnl{font-weight:800}.nv-journal-source{display:inline-flex;padding:2px 6px;border:1px solid #3a3a3a;border-radius:10px;color:#aaa;font-size:8px;font-weight:800;text-transform:uppercase}.nv-journal-source.broker{border-color:#2d6d5d;color:#60d4b2;background:rgba(66,203,164,.08)}
.nv-journal-foot{display:flex;align-items:center;gap:7px;padding:11px 2px 0;color:#575757;font-size:9px}.nv-journal-foot i{color:#777}

@media(max-width:900px){.nv-journal-grid{grid-template-columns:1fr}.nv-journal-markets{display:none}.nv-journal-metrics{grid-template-columns:repeat(3,1fr)}.nv-journal-day{min-height:70px}.nv-journal-head-actions .nv-btn span{display:none}}
@media(max-width:650px){.nv-journal-overlay{padding:0}.nv-journal{width:100vw;height:100vh;border:0;border-radius:0}.nv-journal-head{padding:12px}.nv-journal-head-actions .nv-btn{font-size:0;width:32px;padding:0;justify-content:center}.nv-journal-head-actions .nv-btn i{font-size:11px}.nv-journal-toolbar{align-items:flex-start;flex-direction:column;padding:8px 12px}.nv-journal-filters{width:100%;justify-content:space-between}.nv-journal-body{padding:10px}.nv-journal-metrics{grid-template-columns:repeat(2,1fr)}.nv-journal-metrics article:last-child{display:none}.nv-journal-metrics strong{font-size:16px}.nv-journal-grid{display:block}.nv-journal-day{min-height:57px;padding:5px}.nv-journal-day strong{font-size:8px}.nv-journal-day small{display:none}.nv-journal-weekdays span{padding:6px 3px;font-size:7px}.nv-journal-table-wrap table{min-width:760px}}

/* ============ Simple page layout (account / backtest) ============ */
.nv-page{ height:100vh; overflow-y:auto; background:var(--bg); color:var(--text); }
.nv-page-header{
  height:52px; display:flex; align-items:center; justify-content:space-between;
  padding:0 20px; border-bottom:1px solid var(--border); background:var(--panel);
}
.nv-page-header .nv-logo{ font-weight:800; font-size:16px; display:flex; align-items:center; gap:8px; color:var(--text); text-decoration:none; }
.nv-page-header .nv-logo:hover{ color:#fff; }
.nv-page-header .nv-logo img{ display:block; width:38px; height:27px; object-fit:contain; }
.nv-page-header .nv-nav{ display:flex; gap:6px; }
.nv-page-header .nv-nav a, .nv-page-header .nv-nav button{
  color:var(--text-dim); text-decoration:none; padding:7px 12px; border-radius:5px; font-size:13px;
  background:transparent; border:none; cursor:pointer;
}
.nv-page-header .nv-nav a:hover, .nv-page-header .nv-nav button:hover{ background:var(--hover); color:var(--text); }
.nv-page-header .nv-nav a.active{ background:var(--active); color:var(--accent); }
.nv-container{ max-width:1080px; margin:0 auto; padding:28px 20px 60px; }
.nv-card{
  background:var(--panel2); border:1px solid var(--border); border-radius:10px;
  padding:20px; margin-bottom:20px;
}
.nv-card h2{ font-size:16px; margin-bottom:14px; display:flex; align-items:center; gap:8px; }
.nv-card h2 i{ color:var(--text-dim); font-size:14px; }
.nv-card p.nv-desc{ color:var(--text-dim); font-size:13px; margin-bottom:14px; line-height:1.5; }
.nv-grid2{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.nv-table{ width:100%; border-collapse:collapse; font-size:13px; }
.nv-table th{ text-align:left; color:var(--text-faint); font-weight:600; padding:8px; border-bottom:1px solid var(--border-soft); font-size:11px; text-transform:uppercase; }
.nv-table td{ padding:8px; border-bottom:1px solid var(--border-soft); }
.nv-table tr:hover td{ background:var(--hover); }
.nv-badge{ padding:2px 8px; border-radius:10px; font-size:11px; font-weight:700; }
.nv-badge.ok{ background:rgba(8,153,129,.15); color:var(--up); }
.nv-badge.error{ background:rgba(242,54,69,.15); color:var(--down); }
.nv-badge.unverified{ background:rgba(255,255,255,.1); color:var(--text-dim); }
.nv-btn{
  background:var(--accent); color:#000; font-weight:700; border:none; padding:8px 16px;
  border-radius:6px; cursor:pointer; font-size:13px;
}
.nv-btn:hover{ background:#d9d9d9; }
.nv-btn.secondary{ background:transparent; color:var(--text); border:1px solid var(--border); }
.nv-btn.secondary:hover{ background:var(--hover); }
.nv-btn.danger{ background:transparent; color:var(--down); border:1px solid rgba(242,54,69,.4); }
.nv-btn.danger:hover{ background:rgba(242,54,69,.1); }
.nv-btn.small{ padding:5px 10px; font-size:12px; }
.nv-field{ margin-bottom:14px; }
.nv-field label{ display:block; font-size:12px; color:var(--text-dim); margin-bottom:5px; }
.nv-field input, .nv-field select, .nv-field textarea{
  width:100%; background:#0d0d0d; border:1px solid var(--border); color:var(--text);
  padding:9px 10px; border-radius:5px; font-size:13px; outline:none; font-family:inherit;
}
.nv-field input:focus, .nv-field select:focus{ border-color:#555; }
.nv-key-reveal{
  background:#0d0d0d; border:1px solid var(--up); border-radius:6px; padding:12px;
  font-family:"SF Mono",Menlo,Consolas,monospace; font-size:13px; word-break:break-all;
  color:var(--up); margin-top:10px;
}
.nv-code-block{
  background:#0d0d0d; border:1px solid var(--border); border-radius:6px; padding:14px;
  font-family:"SF Mono",Menlo,Consolas,monospace; font-size:12px; white-space:pre-wrap;
  overflow-x:auto; color:#c9c9c9; line-height:1.6;
}
.nv-stat-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-bottom:16px; }
.nv-stat{ background:#0d0d0d; border:1px solid var(--border-soft); border-radius:8px; padding:14px; text-align:center; }
.nv-stat .v{ font-size:20px; font-weight:700; font-family:"SF Mono",Menlo,Consolas,monospace; }
.nv-stat .l{ font-size:11px; color:var(--text-faint); margin-top:4px; text-transform:uppercase; }
.nv-stat .v.up{ color:var(--up); } .nv-stat .v.down{ color:var(--down); }

/* Backtest specific */
#bt-chart-wrap{ position:relative; height:clamp(620px,72vh,860px); background:#000; border-radius:8px; border:1px solid var(--border); overflow:hidden; }
#bt-chart{ position:absolute; inset:0; }
.bt-controls{ display:flex; align-items:center; gap:8px; margin:14px 0; flex-wrap:wrap; }
.bt-controls select, .bt-controls input{
  background:#0d0d0d; border:1px solid var(--border); color:var(--text);
  padding:7px 10px; border-radius:5px; font-size:13px;
}
.bt-controls .nv-sep{ width:1px; height:22px; background:var(--border); }
.bt-play-btn{
  width:32px; height:32px; border-radius:50%; background:var(--accent); color:#000; border:none;
  cursor:pointer; display:flex; align-items:center; justify-content:center; font-size:13px;
}
.bt-speed-btn{ background:transparent; border:1px solid var(--border); color:var(--text-dim); padding:6px 10px; border-radius:5px; cursor:pointer; font-size:12px; }
.bt-speed-btn.active{ color:var(--accent); border-color:var(--accent); }

@media (max-width:800px){
  .nv-grid2{ grid-template-columns:1fr; }
  .nv-stat-grid{ grid-template-columns:repeat(2,1fr); }
}

/* ============================================================
   Backtesting Lab — guided setup, replay, bot editor and journal
   ============================================================ */
.bt-mode-tabs{
  display:flex; gap:8px; margin-bottom:16px; padding:4px;
  width:max-content; max-width:100%; background:#0a0a0a;
  border:1px solid var(--border); border-radius:9px;
}
.bt-mode-tab{
  display:flex; align-items:center; justify-content:center; gap:7px;
  min-width:160px; padding:9px 16px; border:0; border-radius:6px;
  background:transparent; color:var(--text-dim); cursor:pointer;
  font-size:13px; font-weight:700;
}
.bt-mode-tab:hover{ background:var(--hover); color:var(--text); }
.bt-mode-tab.active{ background:var(--accent); color:#050505; }
.bt-pro-pill{display:inline-flex;align-items:center;height:17px;padding:0 6px;border:1px solid #89691e;border-radius:8px;background:#2c2207;color:#f3c75c;font-size:8px;font-weight:900;letter-spacing:.08em}.bt-mode-tab.active .bt-pro-pill{border-color:#111;background:#111;color:#f3c75c}
.bt-pro-gate{position:relative;isolation:isolate;overflow:hidden;min-height:570px;padding:70px 34px 44px;border:1px solid #302b1e;border-radius:14px;background:radial-gradient(circle at 50% 0,rgba(235,190,72,.13),transparent 40%),linear-gradient(145deg,#111,#090909);text-align:center;box-shadow:0 18px 60px rgba(0,0,0,.45)}
.bt-pro-gate-glow{position:absolute;z-index:-1;top:-210px;left:50%;width:520px;height:420px;transform:translateX(-50%);border-radius:50%;background:rgba(226,180,58,.10);filter:blur(70px)}
.bt-pro-gate-icon{position:relative;display:grid;width:74px;height:74px;margin:0 auto 20px;place-items:center;border:1px solid #57451c;border-radius:20px;background:linear-gradient(145deg,#2a230e,#12100a);color:#f2c95e;font-size:28px;box-shadow:0 15px 45px rgba(0,0,0,.45)}.bt-pro-gate-icon span{position:absolute;right:-7px;bottom:-7px;display:grid;width:28px;height:28px;place-items:center;border:3px solid #0c0c0c;border-radius:50%;background:#f0c45a;color:#151006;font-size:10px}
.bt-pro-eyebrow{display:block;margin-bottom:10px;color:#d2aa4c;font-size:9px;font-weight:900;letter-spacing:.18em}.bt-pro-gate h1{margin:0 auto 12px;color:#f4f4f4;font:700 clamp(27px,4vw,43px)/1.08 "Trebuchet MS",sans-serif;letter-spacing:-.045em}.bt-pro-gate>p{max-width:610px;margin:0 auto;color:#8d8d8d;font-size:13px;line-height:1.65}
.bt-pro-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-width:850px;margin:34px auto 26px;text-align:left}.bt-pro-benefits>div{display:flex;gap:12px;padding:16px;border:1px solid #292929;border-radius:9px;background:rgba(20,20,20,.85)}.bt-pro-benefits>div>i{margin-top:2px;color:#d8ae4d;font-size:15px}.bt-pro-benefits span{display:flex;flex-direction:column;gap:5px}.bt-pro-benefits b{color:#e6e6e6;font-size:12px}.bt-pro-benefits small{color:#747474;font-size:10px;line-height:1.45}
.bt-pro-actions{display:flex;align-items:center;justify-content:center;gap:8px}.bt-pro-actions .nv-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;text-decoration:none}.bt-pro-primary{background:#edc45d;color:#171205}.bt-pro-primary:hover{background:#ffdc7b}.bt-pro-note{display:block;margin-top:16px;color:#646464;font-size:9px}.bt-pro-note i{margin-right:5px;color:#8a7b50}
.bt-setup-hint{ color:var(--text-faint); font-size:12px; font-weight:400; }
.bt-setup-grid{
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr));
  gap:13px 14px;
}
#bt-setup-card{
  background:radial-gradient(circle at 92% 0,rgba(41,98,255,.10),transparent 30%),var(--panel);
}
.bt-setup-shortcuts{
  display:grid; grid-template-columns:1fr 1fr; gap:14px;
  margin-top:15px; padding-top:14px; border-top:1px solid var(--border-soft);
}
.bt-shortcut-group{ display:flex; align-items:center; gap:10px; min-width:0; }
.bt-shortcut-label{
  flex:0 0 auto; color:var(--text-faint); font-size:10px; font-weight:700;
  text-transform:uppercase; letter-spacing:.04em;
}
.bt-chip-row{ display:flex; flex-wrap:wrap; gap:6px; }
.bt-setup-chip{
  min-width:42px; height:28px; padding:0 9px; border:1px solid var(--border);
  border-radius:15px; color:var(--text-dim); background:#0b0b0b;
  font:700 10px "SF Mono",Menlo,Consolas,monospace; cursor:pointer;
  transition:background .15s,border-color .15s,color .15s,transform .15s;
}
.bt-setup-chip:hover{ color:#fff; border-color:#555; transform:translateY(-1px); }
.bt-setup-chip.active{ color:#fff; border-color:#476fe8; background:rgba(41,98,255,.24); }
.bt-field{ min-width:0; }
.bt-field label{
  display:block; margin:0 0 6px; color:var(--text-dim);
  font-size:11px; font-weight:600;
}
.bt-field input,.bt-field select{
  width:100%; height:36px; padding:7px 9px; outline:0;
  color:var(--text); background:#0b0b0b; border:1px solid var(--border);
  border-radius:6px; font:inherit; user-select:text;
}
.bt-field input:focus,.bt-field select:focus{ border-color:#555; box-shadow:0 0 0 2px rgba(255,255,255,.04); }
.bt-field input:disabled,.bt-field select:disabled{ opacity:.55; cursor:not-allowed; }
.bt-field.sm{ flex:1 1 145px; }
.bt-opt{ color:var(--text-faint); font-weight:400; }
.bt-lev-wrap{ display:grid; grid-template-columns:1fr 48px; align-items:center; gap:10px; }
.bt-lev-wrap input{ padding:7px 9px; }
.bt-lev-label{
  display:flex; align-items:center; justify-content:center; height:36px;
  border:1px solid var(--border); border-radius:6px; background:#0b0b0b;
  font:700 13px "SF Mono",Menlo,Consolas,monospace;
}
.bt-prop-box{
  margin-top:16px; padding:13px 14px; border:1px solid var(--border-soft);
  border-radius:8px; background:rgba(255,255,255,.018);
}
.bt-check{
  display:flex; align-items:center; gap:9px; color:var(--text-dim);
  cursor:pointer; font-size:12px; line-height:1.4;
}
.bt-check input{ width:15px; height:15px; flex:0 0 auto; accent-color:var(--accent); }
.bt-check b,.bt-check i{ color:var(--text); }
.bt-prop-grid{
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px; margin-top:13px; padding-top:13px; border-top:1px solid var(--border-soft);
}
.bt-setup-summary{
  display:flex; align-items:center; gap:10px; margin-top:14px; padding:11px 12px;
  border:1px solid rgba(41,98,255,.3); border-radius:8px;
  background:linear-gradient(90deg,rgba(41,98,255,.10),rgba(41,98,255,.025));
}
.bt-summary-icon{
  display:grid; place-items:center; width:30px; height:30px; flex:0 0 auto;
  border-radius:8px; color:#8da7ff; background:rgba(41,98,255,.2);
}
.bt-setup-summary > div{ min-width:0; display:flex; flex-direction:column; gap:3px; }
.bt-setup-summary b{ color:#fff; font-size:11px; }
.bt-setup-summary > div span{ color:var(--text-dim); font-size:10px; line-height:1.35; }
.bt-summary-count{
  margin-left:auto; flex:0 0 auto; padding:5px 8px; border-radius:5px;
  color:#bdcaff; background:rgba(41,98,255,.13);
  font:700 10px "SF Mono",Menlo,Consolas,monospace;
}
.bt-setup-actions{
  display:flex; align-items:center; gap:12px; min-height:36px; margin-top:15px;
}
.bt-load-info{ color:var(--text-dim); font-size:12px; line-height:1.4; }
.nv-btn.sm,.nv-btn.small{ padding:6px 10px; font-size:11px; }
.nv-btn:disabled,.bt-play-btn:disabled,.bt-speed-btn:disabled{ opacity:.45; cursor:not-allowed; }

.bt-chart-card{ padding:14px; }
.bt-replay-bar{ margin:0 0 10px; }
.bt-indicator-btn,.bt-expand-btn{
  height:30px; display:inline-flex; align-items:center; justify-content:center; gap:6px;
  padding:0 10px; border:1px solid var(--border); border-radius:5px;
  color:var(--text-dim); background:#0b0b0b; font-size:10px; font-weight:700; cursor:pointer;
}
.bt-indicator-btn:hover,.bt-expand-btn:hover{ color:#fff; border-color:#555; }
.bt-expand-btn{ width:32px; padding:0; }
.bt-indicator-drawer{
  position:relative; z-index:25; margin:0 0 10px; padding:13px;
  border:1px solid #343434; border-radius:9px;
  background:linear-gradient(180deg,#111,#0a0a0a); box-shadow:0 12px 32px rgba(0,0,0,.35);
}
.bt-indicator-drawer-head{ display:flex; align-items:flex-start; justify-content:space-between; margin-bottom:11px; }
.bt-indicator-drawer-head > div{ display:flex; flex-direction:column; gap:3px; }
.bt-indicator-drawer-head b{ color:#fff; font-size:12px; }
.bt-indicator-drawer-head span{ color:var(--text-faint); font-size:10px; }
.bt-indicator-drawer-head button{ border:0; color:var(--text-faint); background:transparent; cursor:pointer; }
.bt-indicator-presets{ display:flex; flex-wrap:wrap; gap:7px; }
.bt-indicator-presets button{
  padding:7px 10px; border:1px solid var(--border); border-radius:6px;
  color:var(--text-dim); background:#080808; font-size:10px; cursor:pointer;
}
.bt-indicator-presets button:hover{ color:#fff; border-color:#555; }
.bt-indicator-presets button.active{ color:#fff; border-color:#2962ff; background:rgba(41,98,255,.18); }
.bt-custom-indicator{ margin-top:12px; padding-top:12px; border-top:1px solid var(--border-soft); }
.bt-custom-fields{ display:grid; grid-template-columns:minmax(180px,1fr) 42px auto; gap:8px; }
.bt-custom-fields input{
  min-width:0; height:34px; padding:6px 9px; color:var(--text); background:#080808;
  border:1px solid var(--border); border-radius:6px; outline:0;
}
.bt-custom-fields input[type="color"]{ padding:4px; }
.bt-custom-indicator textarea{
  width:100%; min-height:112px; margin-top:8px; resize:vertical; padding:10px;
  color:#d8dee9; caret-color:#fff; background:#050505; border:1px solid var(--border);
  border-radius:7px; outline:0; font:11px/1.55 "SF Mono",Menlo,Consolas,monospace;
}
.bt-custom-indicator small{ display:block; margin-top:6px; color:var(--text-faint); font-size:9px; line-height:1.45; }
.bt-chart-card.is-expanded{
  position:fixed; z-index:1000; inset:0; margin:0; padding:8px; overflow:hidden;
  display:flex; flex-direction:column; min-width:0; min-height:0;
  border:0; border-radius:0; background:#050505;
}
.bt-chart-card.is-expanded .bt-replay-bar{
  position:relative; z-index:32; flex:0 0 auto; margin:0 0 8px; padding:4px 2px;
  background:#050505;
}
.bt-chart-card.is-expanded .bt-prop-banner{ flex:0 0 auto; }
.bt-chart-card.is-expanded .bt-chart-flex{ flex:1 1 auto; min-height:0; }
.bt-chart-card.is-expanded #bt-chart-wrap,.bt-chart-card.is-expanded .bt-draw-toolbar{
  height:100%; min-height:0; max-height:none;
}
.bt-chart-card.is-expanded #bt-chart-wrap{ border-radius:0 7px 7px 0; }
.bt-chart-card.is-expanded .bt-draw-toolbar{ border-radius:7px 0 0 7px; }
.bt-chart-card.is-expanded .bt-indicator-drawer{
  position:absolute; z-index:40; top:52px; left:62px; width:min(620px,calc(100vw - 82px));
  max-height:calc(100vh - 72px); margin:0; overflow:auto;
  box-shadow:0 18px 60px rgba(0,0,0,.78);
}
.bt-chart-card.is-expanded .bt-ticket,.bt-chart-card.is-expanded .bt-account-strip{ display:none; }
.bt-no-scroll{ overflow:hidden; }
.bt-replay-timeframe{
  height:30px; display:flex; align-items:center; gap:6px; padding:0 7px;
  border:1px solid var(--border); border-radius:5px; color:var(--text-faint);
  background:#0b0b0b;
}
.bt-replay-timeframe select{
  height:28px; padding:0 18px 0 0; border:0; outline:0;
  color:#fff; background:transparent; font:700 10px "SF Mono",Menlo,Consolas,monospace;
  cursor:pointer;
}
.bt-replay-timeframe select:disabled{ opacity:.5; cursor:wait; }
.bt-progress-wrap{ flex:1 1 180px; min-width:120px; }
.bt-progress-wrap input{ width:100%; height:auto; padding:0; accent-color:var(--accent); }
.bt-replay-time{
  min-width:150px; text-align:right; color:var(--text-dim);
  font:11px "SF Mono",Menlo,Consolas,monospace;
}
.bt-chart-flex{ display:grid; grid-template-columns:44px minmax(0,1fr); align-items:stretch; }
.bt-draw-toolbar{
  height:clamp(620px,72vh,860px); padding:4px; overflow-y:auto; scrollbar-width:none;
  display:flex; flex-direction:column; align-items:center; gap:2px;
  background:#0a0a0a; border:1px solid var(--border); border-right:0;
  border-radius:8px 0 0 8px;
}
.bt-draw-toolbar::-webkit-scrollbar{ display:none; }
.bt-draw-toolbar .lt-btn{ flex:0 0 34px; }
.bt-draw-toolbar .pos-long{ color:var(--up); }
.bt-draw-toolbar .pos-short{ color:var(--down); }
.bt-draw-toolbar .pos-long.active,.bt-draw-toolbar .pos-short.active{ color:#000; }
.bt-chart-flex #bt-chart-wrap{ border-radius:0 8px 8px 0; }
#bt-legend{
  position:absolute; z-index:12; top:8px; left:10px; max-width:calc(100% - 190px);
  color:var(--text-dim); pointer-events:none;
  font:11px "SF Mono",Menlo,Consolas,monospace;
}
.bt-indicator-legend{
  position:absolute; z-index:13; top:28px; left:10px; display:flex; flex-wrap:wrap; gap:5px;
  max-width:calc(100% - 150px); pointer-events:auto;
}
.bt-indicator-legend span{
  display:flex; align-items:center; gap:5px; padding:3px 6px; border:1px solid #2a2a2a;
  border-radius:4px; color:var(--text-dim); background:rgba(8,8,8,.82); font-size:9px;
}
.bt-indicator-legend i{ width:12px; height:2px; background:var(--indicator-color); }
.bt-indicator-legend button{ padding:0; border:0; color:var(--text-faint); background:transparent; cursor:pointer; }
.bt-indicator-legend button:hover{ color:#fff; }
.bt-session-badge{
  position:absolute; z-index:14; top:8px; right:68px;
  display:flex; flex-wrap:wrap; justify-content:flex-end; gap:5px;
  max-width:44%; pointer-events:none;
}
.bt-session-badge span{
  display:flex; align-items:center; gap:5px; padding:3px 7px;
  color:#d6d6d6; background:rgba(15,15,15,.86);
  border:1px solid #2d2d2d; border-radius:11px; font-size:9px;
}
.bt-session-badge i{ width:6px; height:6px; border-radius:50%; background:var(--session-color,var(--text-faint)); }
.bt-session-badge .is-closed{ color:var(--text-faint); }
.bt-news-rail{
  position:absolute; z-index:17; left:0; right:58px; bottom:22px; height:28px;
  pointer-events:none; overflow:visible;
}
.bt-news-dot{
  position:absolute; bottom:0; width:24px; height:24px; padding:0;
  transform:translateX(-50%); display:grid; place-items:center;
  border:2px solid #0b0b0b; border-radius:50%; color:#fff;
  background:#2962ff; box-shadow:0 0 0 1px #7594f5,0 3px 10px rgba(0,0,0,.55);
  cursor:pointer; pointer-events:auto; font-size:9px;
  transition:transform .14s,filter .14s;
}
.bt-news-dot:hover{ transform:translateX(-50%) scale(1.16); filter:brightness(1.18); }
.bt-news-dot.impact-high{ background:#f23645; box-shadow:0 0 0 1px #ff8b94,0 3px 12px rgba(242,54,69,.42); }
.bt-news-dot.impact-medium{ background:#f59e0b; box-shadow:0 0 0 1px #ffd078,0 3px 12px rgba(245,158,11,.34); }
.bt-news-dot.is-upcoming{
  color:#b9c8ff; background:#111a35; border-color:#080b14;
  box-shadow:0 0 0 1px #526cad,0 3px 10px rgba(0,0,0,.55);
}
.bt-upcoming-strip{
  position:absolute; z-index:21; left:58px; bottom:48px; display:flex; align-items:center; gap:6px;
  max-width:calc(100% - 330px); padding:5px 7px; border:1px solid rgba(41,98,255,.22);
  border-radius:18px; background:rgba(8,10,18,.88); backdrop-filter:blur(8px);
}
.bt-upcoming-strip:empty{ display:none; }
.bt-upcoming-strip button{
  display:flex; align-items:center; gap:4px; height:24px; padding:0 7px 0 5px;
  border:1px solid #526cad; border-radius:13px; color:#b9c8ff; background:#111a35;
  font:700 9px "SF Mono",Menlo,Consolas,monospace; cursor:pointer;
}
.bt-upcoming-strip button:hover{ color:#fff; background:#1b2b59; }
.bt-upcoming-strip button.impact-high{ border-color:#a83a45; color:#ffc0c5; background:#32151a; }
.bt-upcoming-strip button.impact-high i{ background:#f23645; }
.bt-upcoming-strip button.impact-medium{ border-color:#90641f; color:#ffe0a3; background:#2d2412; }
.bt-upcoming-strip button.impact-medium i{ background:#f59e0b; }
.bt-upcoming-strip button i{ width:16px; height:16px; display:grid; place-items:center; border-radius:50%; color:#fff; background:#2962ff; font-size:7px; }
.bt-upcoming-strip > small{ color:var(--text-faint); font-size:9px; }
.bt-news-dot small{
  position:absolute; top:-6px; right:-7px; min-width:14px; height:14px; padding:0 3px;
  display:grid; place-items:center; border:1px solid #333; border-radius:8px;
  color:#fff; background:#151515; font:700 8px "SF Mono",Menlo,Consolas,monospace;
}
.bt-news-popover{
  position:absolute; z-index:30; bottom:54px; width:300px; max-height:220px; overflow:auto;
  padding:6px; border:1px solid #3b3b3b; border-radius:9px;
  background:rgba(15,15,15,.98); box-shadow:0 14px 42px rgba(0,0,0,.65);
  backdrop-filter:blur(12px);
}
.bt-news-popover a{
  display:flex; flex-direction:column; gap:4px; padding:9px 10px;
  border-radius:6px; color:var(--text); text-decoration:none;
}
.bt-news-popover a:hover{ background:var(--hover); }
.bt-news-popover b{ font-size:11px; line-height:1.4; }
.bt-news-popover span{ color:var(--text-faint); font-size:9px; }
.bt-news-popover em{
  margin-right:4px; padding:2px 4px; border-radius:3px; color:#b9c8ff;
  background:rgba(41,98,255,.2); font-size:8px; font-style:normal;
}
.bt-timezone-control{
  position:absolute; z-index:22; right:60px; bottom:2px; height:22px;
  display:flex; align-items:center; gap:5px; padding:0 5px;
  border:1px solid #292929; border-radius:4px; color:var(--text-faint); background:rgba(12,12,12,.94);
}
.bt-timezone-control > button{
  height:20px; display:flex; align-items:center; gap:4px; padding:0 6px;
  border:0; border-right:1px solid #303030; color:#b9c8ff; background:transparent;
  font-size:9px; cursor:pointer;
}
.bt-timezone-control > button b{
  min-width:15px; padding:1px 4px; border-radius:7px; color:#fff; background:#2962ff;
  font:700 8px "SF Mono",Menlo,Consolas,monospace;
}
.bt-timezone-control > button:disabled{ opacity:.4; cursor:not-allowed; }
.bt-timezone-control select{
  max-width:88px; height:20px; padding:0 3px; border:0; outline:0;
  color:var(--text-dim); background:transparent; font-size:9px;
}
.bt-pos-card{
  position:absolute; z-index:18; right:70px; bottom:30px; width:255px;
  padding:11px 12px; border:1px solid #343434; border-radius:8px;
  background:rgba(14,14,14,.94); backdrop-filter:blur(10px);
  box-shadow:0 10px 30px rgba(0,0,0,.48); pointer-events:auto;
}
.bt-pos-card-head{ display:flex; align-items:center; gap:7px; color:var(--text-dim); font-size:10px; }
.bt-pos-card-head b{ font-size:11px; }
.bt-pos-card-head span:last-child{ margin-left:auto; padding:2px 5px; border-radius:3px; background:#292929; color:#fff; }
.bt-pos-live-dot{ width:7px; height:7px; border-radius:50%; box-shadow:0 0 0 3px rgba(255,255,255,.05); }
.bt-pos-card-pnl{
  margin:8px 0; font:800 20px "SF Mono",Menlo,Consolas,monospace;
}
.bt-pos-card-pnl small{ font-size:11px; font-weight:600; }
.bt-pos-card-pnl.up{ color:var(--up); }
.bt-pos-card-pnl.down{ color:var(--down); }
.bt-pos-card-grid{ display:grid; grid-template-columns:1fr 1fr; gap:5px 10px; color:var(--text-faint); font-size:9px; }
.bt-pos-card-grid span{ display:flex; justify-content:space-between; gap:5px; }
.bt-pos-card-grid b{ color:var(--text-dim); font-family:"SF Mono",Menlo,Consolas,monospace; }
.bt-pos-close-now{
  width:100%; margin-top:10px; padding:8px 10px; border:1px solid rgba(242,54,69,.55);
  border-radius:6px; color:#ffd3d6; background:rgba(242,54,69,.16);
  font-size:10px; font-weight:700; cursor:pointer;
}
.bt-pos-close-now:hover{ background:rgba(242,54,69,.28); }
.bt-pos-close-now b{ margin-left:4px; font-family:"SF Mono",Menlo,Consolas,monospace; }

.bt-prop-banner{
  display:flex; align-items:flex-start; gap:10px; margin:0 0 10px;
  padding:10px 12px; border:1px solid rgba(41,98,255,.38);
  border-radius:7px; background:rgba(41,98,255,.09);
}
.bt-prop-banner > i{ margin-top:2px; color:#6f91ff; }
.bt-prop-banner > div{ display:flex; flex-wrap:wrap; align-items:center; gap:4px 12px; }
.bt-prop-banner b{ font-size:12px; }
.bt-prop-banner span{ color:var(--text-dim); font-size:10px; }
.bt-prop-banner.failed{ border-color:rgba(242,54,69,.45); background:rgba(242,54,69,.09); }
.bt-prop-banner.failed > i,.bt-prop-banner.failed b{ color:var(--down); }
.bt-prop-banner.passed{ border-color:rgba(8,153,129,.45); background:rgba(8,153,129,.09); }
.bt-prop-banner.passed > i,.bt-prop-banner.passed b{ color:var(--up); }
.bt-prop-reason{ color:var(--text) !important; }

.bt-account-strip{
  display:grid; grid-template-columns:repeat(8,minmax(88px,1fr));
  margin-top:10px; border:1px solid var(--border); border-radius:7px;
  background:#080808; overflow:hidden;
}
.bt-acct-item{ min-width:0; padding:9px 10px; border-right:1px solid var(--border-soft); }
.bt-acct-item:last-child{ border-right:0; }
.bt-acct-item label{
  display:block; margin-bottom:4px; color:var(--text-faint);
  font-size:9px; font-weight:700; text-transform:uppercase; white-space:nowrap;
}
.bt-acct-item span{
  color:var(--text); font:700 12px "SF Mono",Menlo,Consolas,monospace;
  white-space:nowrap;
}
.bt-acct-item span.up{ color:var(--up); }
.bt-acct-item span.down{ color:var(--down); }
.bt-ticket{
  margin-top:10px; padding:12px; border:1px solid var(--border);
  border-radius:8px; background:#0b0b0b;
}
.bt-ticket-mobile-head,.bt-mobile-trade-position{display:none}
.bt-ticket-row{ display:flex; align-items:flex-end; gap:10px; flex-wrap:wrap; }
.bt-ticket-btns{ margin-top:10px; }
.bt-buy-btn,.bt-sell-btn{
  min-width:145px; min-height:43px; display:flex; align-items:center;
  justify-content:space-between; gap:18px; padding:7px 12px;
  border-radius:6px; cursor:pointer; font-weight:800;
}
.bt-buy-btn{ color:#b8fff1; background:rgba(8,153,129,.22); border:1px solid rgba(8,153,129,.62); }
.bt-sell-btn{ color:#ffd0d4; background:rgba(242,54,69,.19); border:1px solid rgba(242,54,69,.62); }
.bt-buy-btn:hover{ background:rgba(8,153,129,.32); }
.bt-sell-btn:hover{ background:rgba(242,54,69,.29); }
.bt-buy-btn:disabled,.bt-sell-btn:disabled{ opacity:.42; cursor:not-allowed; }
.btn-side{ font-size:12px; }
.btn-price{ font:700 11px "SF Mono",Menlo,Consolas,monospace; }
.bt-ticket-hint{ margin-top:10px; color:var(--text-faint); font-size:10px; line-height:1.45; }
.bt-position-calculator{
  margin-top:12px; padding:11px 12px; border:1px solid rgba(41,98,255,.28);
  border-radius:8px; background:linear-gradient(90deg,rgba(41,98,255,.08),rgba(255,255,255,.012));
}
.bt-calc-head{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:10px; }
.bt-calc-head span{ color:#dfe6ff; font-size:11px; font-weight:700; }
.bt-calc-head span i{ margin-right:6px; color:#7895f4; }
.bt-calc-head small{ color:var(--text-faint); font-size:9px; text-align:right; }
.bt-calc-grid{ display:grid; grid-template-columns:repeat(6,minmax(100px,1fr)); gap:1px; overflow:hidden; border-radius:6px; background:var(--border-soft); }
.bt-calc-grid > div{ min-width:0; padding:9px 10px; background:#0a0a0a; }
.bt-calc-grid label{ display:block; margin-bottom:4px; color:var(--text-faint); font-size:8px; font-weight:700; text-transform:uppercase; }
.bt-calc-grid b{ display:block; overflow:hidden; color:#fff; font:700 11px "SF Mono",Menlo,Consolas,monospace; text-overflow:ellipsis; white-space:nowrap; }

.bt-bot-toolbar{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-bottom:10px; }
.bt-bot-mode-switch{display:inline-flex;gap:3px;padding:3px;margin:0 0 12px;background:#080808;border:1px solid #262626;border-radius:7px}
.bt-bot-mode-switch button{height:31px;padding:0 13px;border:0;border-radius:5px;background:transparent;color:var(--text-dim);font:600 11px inherit;cursor:pointer}
.bt-bot-mode-switch button.active{background:#252525;color:#fff;box-shadow:0 0 0 1px #3a3a3a inset}
.bt-bot-mode-switch button i{margin-right:6px}
.bt-live-bot-panel{margin-top:13px;padding-top:13px;border-top:1px solid var(--border)}
.bt-live-note{display:flex;gap:9px;align-items:flex-start;margin-bottom:13px;padding:10px 12px;border:1px solid #17463d;background:#071b17;color:#a5d8cc;border-radius:7px;font-size:11px;line-height:1.45}
.bt-live-note i{color:#21b894;margin-top:2px}
.bt-live-grid{display:grid;grid-template-columns:repeat(5,minmax(125px,1fr));gap:10px}
.bt-live-grid label{display:flex;flex-direction:column;gap:5px;color:var(--text-dim);font-size:10px;text-transform:uppercase;letter-spacing:.04em}
.bt-live-grid input,.bt-live-grid select{height:34px;width:100%;padding:0 9px;border:1px solid #303030;border-radius:5px;background:#111;color:#eee;font-size:12px;text-transform:none;letter-spacing:0}
.bt-live-check{display:flex;align-items:center;gap:8px;margin-top:12px;color:var(--text-dim);font-size:11px}.bt-live-check input{accent-color:#089981}.bt-live-check.confirm{color:#d8d8d8}
.bt-live-controls{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin-top:13px}
.bt-live-state{padding:4px 8px;border-radius:10px;font:bold 9px "SF Mono",monospace;letter-spacing:.08em}.bt-live-state.stopped{color:#aaa;background:#222}.bt-live-state.running{color:#5ee2c1;background:#073d31}.bt-live-state.error{color:#ff8790;background:#431116}
.bt-live-position{margin-top:13px;min-height:42px;display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid #292929;border-radius:6px;background:#0c0c0c;color:var(--text-dim);font-size:11px}.bt-live-position b{color:#fff}.bt-live-position .long{color:#21b894}.bt-live-position .short{color:#f55d69}.bt-live-position button{margin-left:auto}
.bt-live-log-head{display:flex;align-items:center;justify-content:space-between;margin:15px 0 7px;font-size:11px}.bt-live-log-head button{border:0;background:transparent;color:var(--text-faint);cursor:pointer;font-size:10px}
.bt-live-log{max-height:250px;overflow:auto;border:1px solid #242424;border-radius:6px;background:#080808}.bt-live-log-row{display:grid;grid-template-columns:135px 62px 1fr;gap:8px;padding:8px 10px;border-bottom:1px solid #1d1d1d;font-size:10px}.bt-live-log-row:last-child{border-bottom:0}.bt-live-log-row time{color:var(--text-faint);font-family:"SF Mono",monospace}.bt-live-log-row strong{font-size:9px}.bt-live-log-row strong.signal{color:#6eb4ff}.bt-live-log-row strong.trade{color:#38d6b0}.bt-live-log-row strong.risk,.bt-live-log-row strong.error{color:#ff6b76}
@media(max-width:1100px){.bt-live-grid{grid-template-columns:repeat(2,minmax(150px,1fr))}}
@media(max-width:600px){.bt-live-grid{grid-template-columns:1fr}.bt-live-log-row{grid-template-columns:1fr}.bt-live-position{align-items:flex-start;flex-direction:column}.bt-live-position button{margin-left:0}}
.bt-bot-toolbar select{
  min-width:220px; height:34px; color:var(--text); background:#0b0b0b;
  border:1px solid var(--border); border-radius:6px; padding:6px 9px;
}
.bt-code{
  width:100%; min-height:300px; resize:vertical; padding:14px;
  color:#d8dee9; caret-color:#fff; background:#070707;
  border:1px solid var(--border); border-radius:8px; outline:0;
  font:12px/1.62 "SF Mono",Menlo,Consolas,monospace; tab-size:2;
  user-select:text;
}
.bt-code:focus{ border-color:#555; box-shadow:0 0 0 2px rgba(255,255,255,.04); }
.bt-bot-docs{
  margin-top:10px; padding:12px 14px; color:var(--text-dim);
  background:#0b0b0b; border:1px solid var(--border-soft);
  border-radius:7px; font-size:11px; line-height:1.55; user-select:text;
}
.bt-bot-docs b,.bt-bot-docs code{ color:var(--text); }
.bt-bot-docs pre{
  margin:9px 0; padding:11px; overflow:auto; color:#cfd6df;
  background:#050505; border:1px solid var(--border-soft);
  border-radius:5px; font:11px/1.55 "SF Mono",Menlo,Consolas,monospace;
}
.bt-equity-chart{
  min-height:205px; margin:14px 0; padding:11px;
  border:1px solid var(--border-soft); border-radius:8px;
  background:linear-gradient(180deg,#0b0b0b,#050505);
}
.bt-equity-chart svg{ display:block; width:100%; height:170px; overflow:visible; }
.bt-equity-head{ display:flex; justify-content:space-between; color:var(--text-dim); font-size:10px; }
.bt-session-mode{
  display:inline-block; margin-left:7px; padding:2px 6px; border-radius:8px;
  color:var(--text-dim); background:#272727; font-size:9px; vertical-align:middle;
}
.nv-table-scroll{ width:100%; overflow:auto; }
.nv-table-scroll .nv-table{ min-width:760px; }

.bt-two-col{ display:grid; grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr); gap:20px; }
.nv-news-list{ display:flex; flex-direction:column; max-height:340px; overflow:auto; }
.nv-news-item{
  display:block; padding:9px 4px; color:var(--text); text-decoration:none;
  border-bottom:1px solid var(--border-soft);
}
.nv-news-item:hover .nv-news-title{ color:#fff; text-decoration:underline; }
.nv-news-title{ color:#d7d7d7; font-size:12px; line-height:1.4; }
.nv-news-meta{ margin-top:3px; color:var(--text-faint); font-size:10px; }
.nv-impact{ display:inline-flex; margin-right:5px; padding:1px 5px; border:1px solid #3a3a3a; border-radius:8px; color:#aaa; font-size:8px; font-weight:800; letter-spacing:.04em; }
.nv-impact-high{ border-color:#8d303a; color:#ff9ba4; background:rgba(242,54,69,.10); }
.nv-impact-medium{ border-color:#7d5a20; color:#ffc867; background:rgba(245,158,11,.10); }
.nv-sessions-list{ display:flex; flex-direction:column; gap:2px; }
.nv-session-row{
  display:grid; grid-template-columns:9px minmax(80px,1fr) 48px auto;
  align-items:center; gap:7px; padding:7px 3px; border-bottom:1px solid var(--border-soft);
}
.nv-session-dot{ width:7px; height:7px; border-radius:50%; }
.nv-session-name{ color:var(--text); font-size:11px; }
.nv-session-state{ color:var(--text-faint); font-size:9px; font-weight:800; }
.nv-session-state.open{ color:var(--up); }
.nv-session-next{ color:var(--text-faint); font-size:10px; text-align:right; }

/* Shared drawing-selection toolbar used by live and replay charts. */
.nvd-float-toolbar{
  position:absolute; z-index:30; display:flex; align-items:center; gap:5px;
  max-width:calc(100% - 8px); padding:5px; background:#161616;
  border:1px solid var(--border); border-radius:6px;
  box-shadow:0 8px 24px rgba(0,0,0,.65);
}
.nvd-swatch{
  width:14px; height:14px; flex:0 0 auto; border:1px solid rgba(255,255,255,.35);
  border-radius:50%; cursor:pointer;
}
.nvd-width{
  width:48px; padding:3px; color:var(--text); background:#0d0d0d;
  border:1px solid var(--border); border-radius:3px; font-size:10px;
}
.nvd-float-toolbar button{
  border:1px solid var(--border); background:#202020; color:var(--text);
  border-radius:3px; padding:4px 6px; cursor:pointer; font-size:11px; white-space:nowrap;
}
.nvd-float-toolbar .nvd-exec{ color:#080808; background:var(--up); border-color:var(--up); font-weight:800; }

.nv-mobile-nav{ display:none; }

@media (max-width:1050px){
  .bt-setup-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .bt-setup-shortcuts{ grid-template-columns:1fr; }
  .bt-prop-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .bt-account-strip{ grid-template-columns:repeat(4,minmax(100px,1fr)); }
  .bt-calc-grid{ grid-template-columns:repeat(3,minmax(100px,1fr)); }
  .bt-acct-item{ border-bottom:1px solid var(--border-soft); }
  .bt-two-col{ grid-template-columns:1fr; gap:0; }
}

@media (max-width:700px){
  html,body{overscroll-behavior:none}
  body{font-size:14px;-webkit-tap-highlight-color:transparent}
  button,a,select,input{touch-action:manipulation}
  #tv-app{height:100svh;min-height:0;overflow:hidden;background:#000}
  #top-toolbar{position:relative;height:88px;min-height:88px;padding:0;border-bottom-color:#202020;background:rgba(7,7,7,.98);box-shadow:0 5px 22px rgba(0,0,0,.32)}
  #top-toolbar .tb-group.left{position:static;width:100%;height:100%}
  #top-toolbar .tb-group.left>*{display:none}
  #top-toolbar .tb-group.left>.logo-btn,#top-toolbar .tb-group.left>.symbol-btn,#top-toolbar .tb-group.left>.interval-group,#top-toolbar .tb-group.left>#indicators-dd,#top-toolbar .tb-group.left>.top-news-dropdown{display:flex}
  #top-toolbar .tb-group.right{display:none}
  #top-toolbar .logo-btn{position:absolute;top:7px;left:7px;width:40px;height:38px;padding:0;justify-content:center;border-radius:10px}
  #top-toolbar .logo-btn img{width:31px;height:25px}
  #top-toolbar .symbol-btn{position:absolute;top:7px;left:50px;right:104px;width:auto;max-width:none;height:38px;padding:0 11px;overflow:hidden;border:1px solid #242424;border-radius:10px;background:#111;font-size:13px;text-overflow:ellipsis}
  #top-toolbar .symbol-btn i{font-size:10px!important;color:#737373}
  #top-toolbar .symbol-btn span{overflow:hidden;text-overflow:ellipsis}
  #top-toolbar #indicators-dd{position:absolute;top:7px;right:55px}
  #top-toolbar #indicators-btn{width:42px;height:38px;padding:0;justify-content:center;border:1px solid #242424;border-radius:10px;background:#111;font-size:0}
  #top-toolbar #indicators-btn i{margin:0!important;font-size:14px;color:#aaa}
  #top-toolbar .top-news-dropdown{position:absolute;top:7px;right:7px}
  #top-toolbar #top-news-btn{position:relative;width:42px;height:38px;padding:0;justify-content:center;border:1px solid #242424;border-radius:10px;background:#111}
  #top-toolbar #top-news-btn i{color:#aaa}
  #top-toolbar #top-news-btn .tb-label{display:none}
  #top-toolbar #top-news-high-count{position:absolute;top:-4px;right:-3px;min-width:15px;height:15px;padding:0 3px;border:2px solid #070707;border-radius:9px;background:#d94b59;color:#fff;font-size:7px;line-height:11px;text-align:center}
  #top-toolbar #indicators-menu,#top-toolbar #top-news-panel{position:fixed;z-index:520;top:94px;left:8px;right:8px;width:auto;max-width:none;max-height:calc(100svh - 244px);overflow:auto;border-color:#323232;border-radius:14px;background:#121212;box-shadow:0 24px 70px rgba(0,0,0,.9)}
  #top-toolbar #indicators-menu{padding:7px}
  #top-toolbar #indicators-menu .dd-item{min-height:42px;padding:10px 12px;border-bottom:1px solid #1d1d1d}
  #top-toolbar .interval-group{position:absolute;left:7px;right:7px;bottom:6px;height:31px;gap:3px;justify-content:flex-start;overflow-x:auto;scrollbar-width:none}
  #top-toolbar .interval-group::-webkit-scrollbar{display:none}
  #top-toolbar .int-btn{min-width:40px;height:31px;justify-content:center;padding:0 8px;border-radius:8px;font-size:11px}
  #top-toolbar .int-btn.active{background:#f1f1f1;color:#050505}
  #chart-tabs{display:none!important}
  #main-area{position:relative;min-width:0;padding-bottom:calc(64px + env(safe-area-inset-bottom))}
  #chart-area{min-width:0}
  .nv-mobile-quick-trade{display:grid;grid-template-columns:minmax(72px,1fr) minmax(142px,1.55fr) minmax(72px,1fr);min-height:53px;flex:0 0 53px;gap:6px;padding:5px 7px;border-bottom:1px solid #242424;background:#070707}
  .nv-quick-side{display:flex;min-width:0;flex-direction:column;align-items:center;justify-content:center;gap:2px;border-radius:8px;font-weight:900}.nv-quick-side span{font-size:10px;letter-spacing:.09em}.nv-quick-side b{max-width:100%;overflow:hidden;font:700 9px "SF Mono",Menlo,monospace;text-overflow:ellipsis}.nv-quick-side.sell{border:1px solid #8b8b8b;background:#0a0a0a;color:#f4f4f4}.nv-quick-side.buy{border:1px solid #fff;background:#f2f2f2;color:#050505}.nv-quick-side:disabled{opacity:.45}
  .nv-quick-controls{display:grid;grid-template-columns:1fr 1fr;gap:5px;min-width:0}.nv-quick-controls label{display:flex;min-width:0;flex-direction:column;justify-content:center;gap:2px}.nv-quick-controls label>span{color:#6f6f6f;font-size:6px;font-weight:800;text-transform:uppercase}.nv-quick-controls label>div{position:relative}.nv-quick-controls input{width:100%;height:28px;min-width:0;padding:0 6px;border:1px solid #303030;border-radius:6px;outline:0;background:#101010;color:#eee;font:700 11px "SF Mono",Menlo,monospace}.nv-quick-controls label>div input{padding-right:17px}.nv-quick-controls label>div b{position:absolute;right:6px;top:50%;transform:translateY(-50%);color:#777;font-size:8px}.nv-quick-controls input:focus{border-color:#aaa}
  #chart-panel{isolation:isolate}
  #main-chart{touch-action:none}
  #left-toolbar{position:relative;z-index:80;left:auto;right:auto;bottom:auto;width:44px;min-width:44px;height:auto;display:flex;flex:0 0 44px;flex-direction:column;align-items:center;gap:3px;overflow-x:hidden;overflow-y:auto;padding:4px;border-top:0;border-bottom:0;border-right:1px solid #252525;background:rgba(9,9,9,.98);box-shadow:5px 0 18px rgba(0,0,0,.2);scrollbar-width:none}
  #left-toolbar::-webkit-scrollbar{display:none}#left-toolbar .lt-btn{width:34px;min-width:34px;height:34px;min-height:34px}#left-toolbar .lt-sep{width:25px;min-width:25px;height:1px;min-height:1px;margin:4px 0}
  #chart-legend{top:8px;left:9px;max-width:calc(100vw - 64px);padding:5px 7px;border-radius:7px;background:rgba(0,0,0,.55);backdrop-filter:blur(4px)}.legend-symbol{font-size:12px}.legend-desc{font-size:8px}.legend-ohlc{display:none}.legend-vol,#legend-indicators .legend-row{font-size:8px}
  #bottom-bar{height:30px;min-height:30px;padding:0 8px;background:#080808}.bb-left{display:none}.bb-right{width:100%;justify-content:space-between;gap:5px}.bb-right #pct-btn,.bb-right #log-btn,.bb-sep{display:none}.bb-select{max-width:106px;border:0;background:#111}.bb-btn{min-width:36px}.nv-mobile-feed-status{display:inline-flex;align-items:center;gap:4px;color:#bdbdbd;font-size:7px;font-weight:900;letter-spacing:.08em}.nv-mobile-feed-status i{color:#fff;font-size:5px;box-shadow:0 0 7px rgba(255,255,255,.45);border-radius:50%}#clock-utc{font-size:8px}
  .nv-live-mobile-nav{position:fixed;z-index:300;left:0;right:0;bottom:0;height:calc(64px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(5,1fr);padding:0 3px env(safe-area-inset-bottom);border-top:1px solid #252525;background:rgba(8,8,8,.96);box-shadow:0 -10px 30px rgba(0,0,0,.55);backdrop-filter:blur(16px)}
  .nv-live-mobile-nav button,.nv-live-mobile-nav a{position:relative;display:flex;min-width:0;min-height:48px;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:0;outline:0;background:transparent;color:#666;text-decoration:none;font-size:9px;font-weight:600;cursor:pointer}.nv-live-mobile-nav button:focus-visible,.nv-live-mobile-nav a:focus-visible{border-radius:9px;box-shadow:0 0 0 1px #555 inset}.nv-live-mobile-nav i{font-size:16px}.nv-live-mobile-nav .active{color:#f3f3f3}.nv-live-mobile-nav .primary{margin:7px 5px;border-radius:13px;background:transparent;color:#666;font-weight:700;box-shadow:none}.nv-live-mobile-nav .primary i{font-size:14px}.nv-live-mobile-nav .primary.active{background:#f2f2f2;color:#090909;font-weight:900;box-shadow:0 4px 18px rgba(255,255,255,.12)}.nv-live-mobile-nav b{position:absolute;top:4px;right:calc(50% - 21px);display:none;min-width:17px;height:17px;padding:0 3px;border:2px solid #090909;border-radius:10px;background:#777;color:#fff;font-size:8px;line-height:13px}.nv-live-mobile-nav b.has-positions{display:block;background:#e5bd55;color:#161106}
  .nv-overlay{align-items:flex-end;padding:0;background:rgba(0,0,0,.72);backdrop-filter:blur(3px)}.nv-overlay>.nv-modal{position:relative;width:100%;max-width:none;max-height:calc(100svh - 72px);overflow:auto;border:1px solid #303030;border-bottom:0;border-radius:22px 22px 0 0;background:#101010;box-shadow:0 -24px 70px rgba(0,0,0,.8)}.nv-overlay>.nv-modal:before{content:"";position:absolute;z-index:2;top:7px;left:50%;width:38px;height:4px;transform:translateX(-50%);border-radius:4px;background:#3b3b3b}.nv-modal-head{min-height:56px;padding:17px 17px 10px;font-size:14px}.nv-modal-head .modal-close{display:grid;width:36px;height:36px;place-items:center;padding:0}.nv-modal-body{padding:8px 16px calc(24px + env(safe-area-inset-bottom))}.nv-modal-body label{margin-top:12px}.nv-modal-body input,.nv-modal-body select{min-height:45px;border-radius:9px;font-size:16px}.nv-row{gap:10px}.nv-primary-btn{min-height:48px;border-radius:11px}
  .nv-positions-panel{z-index:410;left:0;right:0;bottom:calc(64px + env(safe-area-inset-bottom));width:100%;max-height:calc(100svh - 118px - env(safe-area-inset-bottom));border-right:0;border-bottom:0;border-left:0;border-radius:22px 22px 0 0;background:#0d0d0d;box-shadow:0 -24px 65px rgba(0,0,0,.8)}.nv-positions-head{position:relative;min-height:58px;padding:16px 14px 10px}.nv-positions-head:before{content:"";position:absolute;top:7px;left:50%;width:38px;height:4px;transform:translateX(-50%);border-radius:4px;background:#3a3a3a}.nv-positions-summary>span{min-height:56px}.nv-position-row{padding:12px;border-radius:11px}.nv-pos-terminal{gap:9px}.nv-pos-terminal b{font-size:10px}.nv-close-pos-btn{min-height:42px;border-radius:8px}

  body.nv-mobile-trade-open #top-toolbar,body.nv-mobile-trade-open #main-area{display:none!important}
  body.nv-mobile-trade-open .nv-mt-terminal{display:flex}
  .nv-mt-terminal{height:calc(100svh - 64px - env(safe-area-inset-bottom));min-height:0;flex:1;flex-direction:column;overflow:hidden;background:linear-gradient(180deg,#080a0f,#050505 42%);color:#f3f3f3}
  .nv-mt-header{display:flex;min-height:64px;align-items:center;justify-content:space-between;padding:9px 14px;border-bottom:1px solid #20242c;background:rgba(9,11,16,.97)}
  .nv-mt-header>div{display:flex;min-width:0;flex-direction:column;gap:3px}.nv-mt-eyebrow{color:#59616e;font-size:7px;font-weight:900;letter-spacing:.17em}
  #nv-mt-symbol-btn{display:flex;align-items:center;gap:8px;padding:0;border:0;background:transparent;color:#f5f5f5}#nv-mt-symbol-btn b{max-width:225px;overflow:hidden;font:800 18px "SF Mono",Menlo,monospace;text-overflow:ellipsis}#nv-mt-symbol-btn i{color:#626b78;font-size:9px}
  .nv-mt-status{display:flex;height:34px;align-items:center;gap:7px;padding:0 11px;border:1px solid #2b3039;border-radius:10px;background:#11141a;color:#89919c;font-size:9px;font-weight:800}.nv-mt-status i{color:#7c8490;font-size:6px}.nv-mt-status.connected{border-color:#1e5a4c;background:#0b211d;color:#6dd8bb}.nv-mt-status.connected i{color:#35c9a2;box-shadow:0 0 8px rgba(53,201,162,.6)}
  .nv-mt-scroll{min-height:0;flex:1;overflow-y:auto;padding:12px 11px 22px;overscroll-behavior:contain}
  .nv-mt-quote-card,.nv-mt-order-card,.nv-mt-positions-card{margin-bottom:11px;border:1px solid #242933;border-radius:15px;background:linear-gradient(145deg,#11141a,#0b0d11);box-shadow:0 10px 30px rgba(0,0,0,.22)}
  .nv-mt-quote-card{display:grid;grid-template-columns:1fr auto;align-items:end;padding:15px}.nv-mt-quote-card>div:first-child{display:flex;min-width:0;flex-direction:column}.nv-mt-quote-card>div:first-child>span{margin-bottom:5px;color:#68717d;font-size:9px;font-weight:700;text-transform:uppercase}.nv-mt-quote-card strong{font:800 clamp(28px,9vw,37px)/1 "SF Mono",Menlo,monospace;letter-spacing:-.06em}.nv-mt-quote-card>div:first-child small{margin-top:7px;color:#7c8590;font-size:9px}.nv-mt-quote-card>div:first-child small.up{color:#35c9a2}.nv-mt-quote-card>div:first-child small.down{color:#ff6a75}
  .nv-mt-market-meta{display:flex;gap:13px}.nv-mt-market-meta span{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.nv-mt-market-meta small{color:#5b636e;font-size:7px;text-transform:uppercase}.nv-mt-market-meta b{color:#aeb5bf;font:700 9px "SF Mono",Menlo,monospace}
  .nv-mt-order-card,.nv-mt-positions-card{padding:13px}.nv-mt-card-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}.nv-mt-card-title>span{display:flex;align-items:center;gap:7px;color:#dfe3e8;font-size:11px;font-weight:800}.nv-mt-card-title>span i{color:#697482}.nv-mt-card-title>small{color:#59616b;font-size:8px}.nv-mt-card-title>button{height:28px;padding:0 10px;border:1px solid #303641;border-radius:8px;background:#161a21;color:#a9b0b9;font-size:9px;font-weight:700}.nv-mt-card-title>span>b{display:grid;min-width:18px;height:18px;padding:0 5px;place-items:center;border-radius:9px;background:#262c35;color:#dfe3e8;font-size:8px}
  .nv-mt-order-card>label{display:block;margin:0 0 6px;color:#626b77;font-size:8px;font-weight:800;text-transform:uppercase}.nv-mt-order-card>select{width:100%;height:43px;margin-bottom:12px;padding:0 11px;border:1px solid #2a3039;border-radius:10px;outline:0;background:#090b0f;color:#e5e8eb;font-size:12px}
  .nv-mt-account-picker label{display:block;margin:0 0 6px;color:#777;font-size:8px;font-weight:800;text-transform:uppercase}.nv-mt-account-picker select{width:100%;height:43px;margin-bottom:12px;padding:0 11px;border:1px solid #303030;border-radius:10px;background:#050505;color:#eee}.nv-mt-demo-badge{display:flex;width:100%;min-height:43px;align-items:center;justify-content:space-between;margin-bottom:12px;padding:0 11px;border:1px solid #303030;border-radius:10px;background:#080808;color:#eee}.nv-mt-demo-badge span{font-size:10px;font-weight:800}.nv-mt-demo-badge span i{margin-right:6px}.nv-mt-demo-badge span small{margin-left:5px;color:#777;font-size:7px;text-transform:uppercase}.nv-mt-demo-badge b{font:800 10px "SF Mono",Menlo,monospace}
  .nv-mt-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.nv-mt-fields>label{display:flex;min-width:0;flex-direction:column;gap:6px}.nv-mt-fields>label>span{color:#626b77;font-size:8px;font-weight:800;text-transform:uppercase}.nv-mt-fields input{width:100%;height:44px;padding:0 11px;border:1px solid #2a3039;border-radius:10px;outline:0;background:#090b0f;color:#f2f2f2;font-size:15px}.nv-mt-fields input:focus,.nv-mt-order-card>select:focus{border-color:#667180;box-shadow:0 0 0 2px rgba(115,127,144,.08)}.nv-mt-input-suffix{position:relative}.nv-mt-input-suffix b{position:absolute;top:50%;right:11px;transform:translateY(-50%);color:#717a86;font-size:10px}.nv-mt-input-suffix input{padding-right:27px}
  .nv-mt-calculator{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-top:12px;overflow:hidden;border:1px solid #252b34;border-radius:10px;background:#252b34}.nv-mt-calculator span{display:flex;min-height:49px;flex-direction:column;justify-content:center;gap:4px;padding:8px 10px;background:#0b0e12}.nv-mt-calculator small{color:#59616d;font-size:7px;font-weight:700;text-transform:uppercase}.nv-mt-calculator b{color:#c8cdd4;font:700 10px "SF Mono",Menlo,monospace}
  .nv-mt-prop{margin:11px 0;border:1px solid #303030;border-radius:10px;background:#080808}.nv-mt-prop summary{display:flex;min-height:43px;align-items:center;justify-content:space-between;padding:0 10px;cursor:pointer;list-style:none}.nv-mt-prop summary::-webkit-details-marker{display:none}.nv-mt-prop summary span{font-size:9px;font-weight:800}.nv-mt-prop summary i{margin-right:5px}.nv-mt-prop summary small{color:#777;font-size:8px}.nv-mt-prop[data-status="failed"] summary small{color:#fff;text-decoration:underline}.nv-mt-prop-body{padding:10px;border-top:1px solid #292929}.nv-mt-prop-body>label,.nv-mt-prop-fields label{display:flex;flex-direction:column;gap:5px}.nv-mt-prop-body label>span{color:#777;font-size:7px;font-weight:800;text-transform:uppercase}.nv-mt-prop-body input[type="number"]{width:100%;height:40px;padding:0 9px;border:1px solid #303030;border-radius:8px;background:#050505;color:#eee}.nv-mt-prop-toggle{align-items:center!important;flex-direction:row!important;margin:10px 0}.nv-mt-prop-toggle input{accent-color:#fff}.nv-mt-prop-toggle span{color:#ddd!important;text-transform:none!important}.nv-mt-prop-fields{grid-template-columns:repeat(3,1fr);gap:7px}.nv-mt-prop-body button{width:100%;height:38px;margin-top:10px;border:1px solid #555;border-radius:8px;background:#111;color:#eee;font-size:9px;font-weight:800}
  .nv-mt-order-card .nv-error{min-height:16px;margin:7px 1px 0}.nv-mt-deal-buttons{display:grid;grid-template-columns:1fr 1fr;gap:9px}.nv-mt-deal-buttons button{display:flex;min-height:58px;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;padding:8px 13px;border-radius:11px;color:#fff}.nv-mt-deal-buttons button span{font-size:12px;font-weight:900;letter-spacing:.08em}.nv-mt-deal-buttons button b{font:700 10px "SF Mono",Menlo,monospace}.nv-mt-deal-buttons .sell{border:1px solid #b83d49;background:linear-gradient(145deg,#b43642,#842631)}.nv-mt-deal-buttons .buy{align-items:flex-end;border:1px solid #118d78;background:linear-gradient(145deg,#0d9f86,#08715f)}.nv-mt-deal-buttons button:disabled{opacity:.5}
  #nv-mt-positions{display:flex;flex-direction:column;gap:7px}.nv-mt-empty{display:flex;min-height:105px;flex-direction:column;align-items:center;justify-content:center;color:#59616b}.nv-mt-empty i{margin-bottom:9px;color:#333b45;font-size:21px}.nv-mt-empty span{color:#8b939d;font-size:10px;font-weight:700}.nv-mt-empty small{margin-top:5px;color:#555d67;font-size:8px}
  .nv-mt-position{padding:10px;border:1px solid #282f38;border-left:3px solid #35c9a2;border-radius:9px;background:#0b0e12}.nv-mt-position.short{border-left-color:#ff5b68}.nv-mt-pos-top,.nv-mt-pos-row{display:flex;align-items:center;justify-content:space-between;gap:9px}.nv-mt-pos-top>span{display:flex;flex-direction:column;gap:2px}.nv-mt-pos-top b{font-size:11px}.nv-mt-pos-top small{color:#59616b;font-size:7px}.nv-mt-pos-top strong{font:800 11px "SF Mono",Menlo,monospace}.nv-mt-pos-top strong.up{color:#35c9a2}.nv-mt-pos-top strong.down{color:#ff5b68}.nv-mt-pos-row{margin-top:8px;padding-top:7px;border-top:1px solid #20252c;color:#818a95;font:8px "SF Mono",Menlo,monospace}.nv-mt-pos-row b{color:#a6aeb8}
  #modal-overlay{align-items:flex-end;padding:0}#symbol-modal{width:100%;max-width:none;max-height:88dvh;border-radius:18px 18px 0 0}.modal-tabs{overflow-x:auto}.mtab{white-space:nowrap}
  #toast{bottom:calc(72px + env(safe-area-inset-bottom));max-width:calc(100vw - 24px);text-align:center}
  .nv-page-header{position:sticky;z-index:220;top:0;height:54px;padding:0 10px;background:rgba(9,9,9,.97);backdrop-filter:blur(14px)}
  .nv-page-header .nv-logo{font-size:14px;gap:5px}.nv-page-header .nv-logo img{width:34px;height:25px}
  .nv-page-header .nv-nav a span,.nv-page-header .nv-nav button span{ display:none; }
  .nv-page-header .nv-nav{gap:2px}.nv-page-header .nv-nav a,.nv-page-header .nv-nav button{display:grid;min-width:36px;height:36px;padding:0;place-items:center;border-radius:9px}.nv-page-header .nv-nav a i,.nv-page-header .nv-nav button i{font-size:13px}
  .nv-container{ padding:12px 10px calc(82px + env(safe-area-inset-bottom)); }
  .nv-card{ padding:15px; margin-bottom:12px;border-radius:15px; }
  .bt-mode-tabs{position:sticky;z-index:100;top:58px;width:100%;margin-bottom:12px;padding:4px;border-radius:12px;background:rgba(10,10,10,.96);backdrop-filter:blur(12px)}
  .bt-mode-tab{ min-width:0;min-height:42px; flex:1; padding:9px 7px;border-radius:9px;font-size:12px }
  .bt-pro-gate{min-height:0;padding:42px 15px 34px}.bt-pro-benefits{grid-template-columns:1fr;margin:26px auto 20px}.bt-pro-actions{align-items:stretch;flex-direction:column}.bt-pro-actions .nv-btn{width:100%}.bt-pro-pill{height:14px;padding:0 4px;font-size:6px}
  #bt-setup-card{padding:16px;background:radial-gradient(circle at 100% 0,rgba(41,98,255,.13),transparent 28%),#0d0d0d}#bt-setup-card h2{margin-bottom:16px;font-size:15px}.bt-setup-hint{display:none}
  .bt-setup-grid,.bt-prop-grid{ grid-template-columns:1fr;gap:13px }
  .bt-field label{margin-bottom:7px;font-size:10px;text-transform:uppercase;letter-spacing:.04em}.bt-field input,.bt-field select{height:47px;padding:0 12px;border-radius:10px;background:#090909;font-size:14px}
  .bt-lev-wrap{grid-template-columns:1fr 48px}.bt-lev-label{height:47px;border-radius:10px}
  .bt-setup-shortcuts{gap:16px;margin-top:18px;padding-top:16px}.bt-chip-row{width:100%;flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.bt-setup-chip{flex:0 0 auto;min-width:44px;height:32px}
  .bt-shortcut-group{ align-items:flex-start; flex-direction:column; gap:7px; }
  .bt-setup-summary{ align-items:flex-start; flex-wrap:wrap; }
  .bt-summary-count{ margin-left:40px; }
  .bt-setup-actions{ align-items:stretch; flex-direction:column; }.bt-setup-actions .nv-btn{width:100%;min-height:48px;border-radius:11px;font-size:14px}.bt-load-info{font-size:10px}
  .bt-chart-card{ padding:8px; }
  .bt-chart-flex{ display:flex;flex-direction:column; }
  .bt-draw-toolbar{ order:0;width:100%;height:42px;padding:3px;flex-direction:row;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none }
  .bt-draw-toolbar::-webkit-scrollbar{display:none}.bt-draw-toolbar .lt-btn{ width:34px;min-width:34px;height:34px;flex:0 0 34px }.bt-draw-toolbar .lt-sep{width:1px;min-width:1px;height:26px;margin:4px}
  #bt-chart-wrap{order:1;height:min(62dvh,520px);min-height:430px}
  .bt-indicator-btn{ font-size:0; width:32px; padding:0; }
  .bt-indicator-btn i{ font-size:11px; }
  .bt-custom-fields{ grid-template-columns:1fr 42px; }
  .bt-custom-fields .nv-btn{ grid-column:1 / -1; }
  .bt-replay-time{ min-width:0; text-align:left; }
  .bt-session-badge{ display:none; }
  #bt-legend{ max-width:calc(100% - 20px); font-size:9px; }
  .bt-pos-card{ left:8px;right:8px;bottom:31px;width:auto;padding:11px;border-radius:9px;background:rgba(15,15,15,.96);box-shadow:0 12px 35px rgba(0,0,0,.55) }.bt-pos-card-grid{grid-template-columns:repeat(3,1fr)}
  .bt-account-strip{ grid-template-columns:repeat(2,minmax(100px,1fr)); overflow:auto; }
  .bt-calc-head{ align-items:flex-start; flex-direction:column; gap:5px; }
  .bt-calc-head small{ text-align:left; }
  .bt-calc-grid{ grid-template-columns:repeat(2,minmax(100px,1fr)); }
  .bt-ticket-row{ align-items:stretch; }
  .bt-ticket-btns > *{ flex:1 1 145px; }
  .bt-buy-btn,.bt-sell-btn{ min-width:0; }
  .bt-bot-toolbar select{ width:100%; min-width:0; }
  .bt-code{ min-height:260px; }
  .nvd-float-toolbar{ overflow-x:auto; }
  .nvd-swatch:nth-child(n+5){ display:none; }
  .nv-mobile-nav{
    position:fixed; z-index:1250; left:0; right:0; bottom:0; height:calc(64px + env(safe-area-inset-bottom));
    display:grid; grid-template-columns:repeat(4,1fr);padding:0 3px env(safe-area-inset-bottom);
    background:rgba(8,8,8,.97); border-top:1px solid #292929;box-shadow:0 -10px 30px rgba(0,0,0,.5);backdrop-filter:blur(15px);
  }
  .nv-mobile-nav a,.nv-mobile-nav button{
    position:relative;min-width:0;min-height:48px;border:0;outline:0;background:transparent;
    display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px;
    color:#606060; text-decoration:none; font-size:9px;font-weight:600;
  }
  .nv-mobile-nav a i,.nv-mobile-nav button i{ font-size:16px; }
  .nv-mobile-nav a:focus-visible,.nv-mobile-nav button:focus-visible{border-radius:9px;box-shadow:0 0 0 1px #555 inset}
  .nv-mobile-nav a.active,.nv-mobile-nav button.active{ color:var(--text); }.nv-mobile-nav .primary{margin:7px 5px;border-radius:13px;background:transparent;color:#606060;font-weight:600;box-shadow:none}.nv-mobile-nav .primary.active{background:#f2f2f2;color:#090909;font-weight:900;box-shadow:0 4px 18px rgba(255,255,255,.12)}.nv-mobile-nav button b{position:absolute;top:5px;right:calc(50% - 19px);display:none;min-width:15px;height:15px;padding:0 3px;border:2px solid #0a0a0a;border-radius:9px;background:#eee;color:#090909;font-size:7px;line-height:11px}.nv-mobile-nav button b.has-positions{display:block}

  .nv-page.bt-mobile-replay{height:100svh;overflow:hidden}
  .bt-mobile-replay .nv-page-header{height:50px;min-height:50px}
  .bt-mobile-replay #bt-content{display:block!important;height:calc(100svh - 50px - 64px - env(safe-area-inset-bottom));max-width:none!important;padding:0;overflow:hidden}
  .bt-mobile-replay #bt-content>*{display:none!important}
  .bt-mobile-replay #bt-content>#bt-manual-section{display:block!important;height:100%}
  .bt-mobile-replay #bt-manual-section>.nv-card:not(.bt-chart-card){display:none!important}
  .bt-mobile-replay .bt-chart-card{display:flex!important;height:100%;margin:0;padding:0;overflow:hidden;flex-direction:column;border:0;border-radius:0;background:#050505}
  .bt-mobile-replay .bt-replay-bar{z-index:32;min-height:49px;margin:0;padding:7px;flex:0 0 auto;flex-wrap:nowrap;gap:6px;overflow-x:auto;border-bottom:1px solid #222;background:#090909;scrollbar-width:none}
  .bt-mobile-replay .bt-replay-bar::-webkit-scrollbar{display:none}.bt-mobile-replay .bt-play-btn{width:34px;min-width:34px;height:34px}.bt-mobile-replay .bt-speed-btn{min-width:38px;height:32px;padding:0 9px}.bt-mobile-replay .bt-progress-wrap{display:none}.bt-mobile-replay .bt-replay-time{display:none}
  .bt-mobile-replay .bt-indicator-drawer{position:absolute;z-index:80;top:55px;left:8px;right:8px;max-height:calc(100svh - 190px);margin:0;overflow:auto;border-radius:14px;box-shadow:0 22px 60px rgba(0,0,0,.9)}
  .bt-mobile-replay .bt-prop-banner{flex:0 0 auto;margin:5px 7px}
  .bt-mobile-replay .bt-chart-flex{display:flex;min-height:0;flex:1 1 auto;flex-direction:row}
  .bt-mobile-replay #bt-chart-wrap{order:1;height:auto;min-width:0;min-height:0;flex:1 1 auto;border:0;border-radius:0}
  .bt-mobile-replay .bt-draw-toolbar{order:0;width:44px;height:auto;min-height:0;padding:4px;flex:0 0 44px;flex-direction:column;overflow-x:hidden;overflow-y:auto;border:0;border-right:1px solid #242424;border-radius:0;background:#090909}
  .bt-mobile-replay .bt-draw-toolbar .lt-btn{width:34px;min-width:34px;height:34px;min-height:34px;flex:0 0 34px}.bt-mobile-replay .bt-draw-toolbar .lt-sep{width:25px;min-width:25px;height:1px;min-height:1px;margin:4px 0}
  .bt-mobile-replay .bt-account-strip{display:flex;min-height:50px;margin:0;padding:5px 7px;flex:0 0 50px;gap:6px;overflow-x:auto;border-top:1px solid #222;border-radius:0;background:#080808;scrollbar-width:none}.bt-mobile-replay .bt-acct-item{min-width:86px;padding:5px 8px}.bt-mobile-replay .bt-acct-item label{font-size:7px}.bt-mobile-replay .bt-acct-item span{font-size:10px}
  .bt-mobile-replay .bt-ticket{display:none}.bt-mobile-replay #bt-legend{top:8px;left:8px;max-width:calc(100% - 86px);padding:5px 7px;border-radius:7px;background:rgba(0,0,0,.56);font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bt-mobile-replay .bt-timezone-control{max-width:calc(100% - 14px)}.bt-mobile-replay .bt-pos-card{z-index:40}
  body.bt-ticket-open:after{content:"";position:fixed;z-index:1350;inset:0;background:rgba(0,0,0,.72);backdrop-filter:blur(3px)}
  body.bt-ticket-open .bt-ticket{position:fixed;z-index:1400;left:0;right:0;bottom:0;display:block!important;max-height:88svh;margin:0;padding:14px 14px calc(18px + env(safe-area-inset-bottom));overflow:auto;border:1px solid #343434;border-bottom:0;border-radius:22px 22px 0 0;background:#101010;box-shadow:0 -24px 70px rgba(0,0,0,.86)}
  body.bt-ticket-open .bt-ticket:before{content:"";position:absolute;top:7px;left:50%;width:38px;height:4px;transform:translateX(-50%);border-radius:4px;background:#3a3a3a}
  .bt-ticket-mobile-head{display:flex;align-items:center;justify-content:space-between;margin:7px -2px 15px;padding:5px 2px 12px;border-bottom:1px solid #252525}.bt-ticket-mobile-head>div{display:flex;flex-direction:column;gap:3px}.bt-ticket-mobile-head b{font-size:14px}.bt-ticket-mobile-head span{color:#666;font-size:9px}.bt-ticket-mobile-head button{display:grid;width:36px;height:36px;place-items:center;border:0;border-radius:9px;background:#191919;color:#aaa;font-size:16px}
  body.bt-ticket-open .bt-ticket-row{gap:10px}body.bt-ticket-open .bt-ticket .bt-field{flex:1 1 calc(50% - 6px)}body.bt-ticket-open .bt-ticket-btns>*{flex:1 1 130px;min-height:48px}body.bt-ticket-open .bt-buy-btn.mobile-focus{box-shadow:0 0 0 2px rgba(53,201,162,.48)}body.bt-ticket-open .bt-sell-btn.mobile-focus{box-shadow:0 0 0 2px rgba(255,91,104,.48)}body.bt-ticket-open .bt-calc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}body.bt-ticket-open .bt-position-calculator{padding:10px}body.bt-ticket-open .bt-ticket-hint{display:none}

  /* TITVN monochrome mobile terminal */
  .nv-mt-terminal{background:linear-gradient(180deg,#090909,#030303 42%)}
  .nv-mt-header{border-color:#292929;background:rgba(6,6,6,.98)}
  .nv-mt-eyebrow,#nv-mt-symbol-btn i,.nv-mt-quote-card>div:first-child>span,.nv-mt-market-meta small,.nv-mt-order-card>label,.nv-mt-fields>label>span,.nv-mt-calculator small{color:#777}
  .nv-mt-status,.nv-mt-status.connected{border-color:#373737;background:#111;color:#ddd}.nv-mt-status i,.nv-mt-status.connected i{color:#fff;box-shadow:none}
  .nv-mt-quote-card,.nv-mt-order-card,.nv-mt-positions-card{border-color:#292929;background:linear-gradient(145deg,#111,#080808)}
  .nv-mt-quote-card>div:first-child small.up,.nv-mt-quote-card>div:first-child small.down{color:#e8e8e8}
  .nv-mt-order-card>select,.nv-mt-fields input{border-color:#303030;background:#050505;color:#f4f4f4}
  .nv-mt-fields input:focus,.nv-mt-order-card>select:focus{border-color:#aaa;box-shadow:0 0 0 2px rgba(255,255,255,.08)}
  .nv-mt-calculator{border-color:#303030;background:#303030}.nv-mt-calculator span{background:#090909}.nv-mt-calculator b{color:#eee}
  .nv-mt-deal-buttons .sell{border:1px solid #aaa;background:#080808;color:#fff}.nv-mt-deal-buttons .buy{border:1px solid #fff;background:#f2f2f2;color:#050505}
  .nv-mt-position,.nv-mt-position.short{border-color:#303030;border-left-color:#e8e8e8;background:#080808}.nv-mt-pos-top strong.up,.nv-mt-pos-top strong.down{color:#fff}.nv-mt-pos-row{border-color:#292929}
  .nv-live-mobile-nav b.has-positions{background:#f2f2f2;color:#050505}

  /* Manual replay has separate Chart and Trade app screens on mobile. */
  .bt-mobile-replay.bt-mobile-trade-view .bt-replay-bar,.bt-mobile-replay.bt-mobile-trade-view .bt-indicator-drawer,.bt-mobile-replay.bt-mobile-trade-view .bt-prop-banner,.bt-mobile-replay.bt-mobile-trade-view .bt-chart-flex{display:none!important}
  .bt-mobile-replay.bt-mobile-trade-view .bt-chart-card{overflow-y:auto;background:#030303}
  .bt-mobile-replay.bt-mobile-trade-view .bt-account-strip{order:0;min-height:66px;flex:0 0 66px;padding:8px 9px;border-color:#292929;background:#080808}
  .bt-mobile-replay.bt-mobile-trade-view .bt-account-strip .up,.bt-mobile-replay.bt-mobile-trade-view .bt-account-strip .down{color:#f2f2f2}
  .bt-mobile-replay.bt-mobile-trade-view .bt-ticket{display:block!important;order:1;min-height:0;margin:0;padding:13px 12px 28px;overflow-y:auto;border:0;border-radius:0;background:#030303;color:#f2f2f2}
  .bt-mobile-trade-view .bt-ticket-mobile-head{position:sticky;z-index:5;top:-13px;margin:-13px -12px 12px;padding:13px 13px 11px;border-color:#292929;background:rgba(5,5,5,.97);backdrop-filter:blur(12px)}
  .bt-mobile-trade-view .bt-ticket-mobile-head button{border:1px solid #333;background:#111;color:#eee}
  .bt-mobile-trade-view .bt-ticket-row{gap:9px}.bt-mobile-trade-view .bt-ticket .bt-field{flex:1 1 calc(50% - 6px)}
  .bt-mobile-trade-view .bt-field input,.bt-mobile-trade-view .bt-field select{border-color:#303030;background:#080808;color:#f4f4f4}
  .bt-mobile-trade-view .bt-ticket-btns>*{flex:1 1 130px;min-height:50px}
  .bt-mobile-trade-view .bt-buy-btn{border-color:#fff;background:#f2f2f2;color:#050505}.bt-mobile-trade-view .bt-sell-btn{border-color:#aaa;background:#080808;color:#fff}
  .bt-mobile-trade-view .bt-position-calculator{padding:10px;border-color:#303030;background:#090909}.bt-mobile-trade-view .bt-calc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bt-mobile-trade-view .bt-calc-grid>div{border-color:#292929;background:#050505}
  .bt-mobile-trade-view .bt-ticket-hint{display:none}
  .bt-mobile-trade-position{display:none}.bt-mobile-trade-view .bt-mobile-trade-position{display:block;margin-bottom:11px;border:1px solid #2e2e2e;border-radius:13px;background:#0a0a0a}
  .bt-mobile-empty-position{display:flex;min-height:88px;align-items:center;justify-content:center;flex-direction:column;color:#777}.bt-mobile-empty-position i{margin-bottom:7px;color:#aaa;font-size:17px}.bt-mobile-empty-position span{color:#ddd;font-size:10px;font-weight:800}.bt-mobile-empty-position small{margin-top:4px;color:#666;font-size:8px}
  .bt-mobile-position-head{display:flex;align-items:center;justify-content:space-between;padding:11px 12px;border-bottom:1px solid #292929}.bt-mobile-position-head>span{display:flex;flex-direction:column;gap:3px}.bt-mobile-position-head small{color:#777;font-size:7px}.bt-mobile-position-head b{font-size:11px}.bt-mobile-position-head strong,.bt-mobile-position-head strong.up,.bt-mobile-position-head strong.down{color:#fff;font:800 12px "SF Mono",Menlo,monospace}
  .bt-mobile-position-grid{display:grid;grid-template-columns:repeat(3,1fr);padding:9px 11px;gap:9px}.bt-mobile-position-grid span{display:flex;min-width:0;flex-direction:column;gap:3px;color:#696969;font-size:7px;text-transform:uppercase}.bt-mobile-position-grid b{overflow:hidden;color:#ddd;font:700 8px "SF Mono",Menlo,monospace;text-overflow:ellipsis}
  #bt-setup-card{background:radial-gradient(circle at 100% 0,rgba(255,255,255,.05),transparent 28%),#0d0d0d}.bt-setup-chip.active{border-color:#fff;background:#f2f2f2;color:#080808}.bt-setup-summary{border-color:#333;background:#101010}.bt-summary-icon{border-color:#444;background:#1a1a1a;color:#fff}.bt-summary-count{color:#aaa}
}

@media (max-width:700px) and (orientation:landscape){
  #top-toolbar{height:48px;min-height:48px}#top-toolbar .logo-btn{top:5px}#top-toolbar .symbol-btn{top:5px;left:50px;right:auto;width:150px}#top-toolbar #indicators-dd{top:5px;right:55px}#top-toolbar .top-news-dropdown{top:5px;right:7px}#top-toolbar .interval-group{left:205px;right:105px;bottom:8px;height:31px}#top-toolbar #indicators-menu,#top-toolbar #top-news-panel{top:54px;max-height:calc(100svh - 126px)}
  #left-toolbar{bottom:calc(64px + env(safe-area-inset-bottom));left:0;right:auto;width:44px;height:auto;top:48px;padding:4px;flex-direction:column;border-right:1px solid #242424;border-top:0;overflow-y:auto;overflow-x:hidden}#left-toolbar .lt-sep{width:26px;min-width:26px;height:1px;min-height:1px}
  .nv-live-mobile-nav{height:calc(52px + env(safe-area-inset-bottom))}.nv-live-mobile-nav button,.nv-live-mobile-nav a{min-height:42px;gap:2px}.nv-live-mobile-nav .primary{margin:4px}
  #main-area{padding-bottom:calc(52px + env(safe-area-inset-bottom))}
}
