/* ═══ PAPER TRADING TERMINAL — Professional Redesign ═══ */

/* ─── Page Shell ─── */
#tradingPage{position:fixed;inset:0;background:var(--bg);z-index:var(--z-popover);display:flex;flex-direction:column;transform:translateY(100%);transition:transform .3s var(--ease-expo),opacity .3s;opacity:0;overflow:hidden;will-change:transform,opacity}
#tradingPage.open{transform:translateY(0);opacity:1}

/* ─── Top Bar ─── */
.trd-topbar{display:flex;align-items:center;padding:0 var(--sp-4);height:48px;padding-top:var(--st);background:var(--bg);border-bottom:1px solid var(--border2);flex-shrink:0;gap:var(--sp-3)}
.trd-brand{display:flex;align-items:center;gap:var(--sp-2);flex-shrink:0}
.trd-brand-icon{width:18px;height:18px;color:var(--primary)}
.trd-brand-name{font-size:var(--text-lg);font-weight:var(--weight-extra);color:var(--text);letter-spacing:-.5px}
.trd-badge{padding:var(--sp-0) var(--sp-px);border-radius:var(--r-full);font-size:var(--text-2xs);font-weight:var(--weight-extra);letter-spacing:1.2px;line-height:1.4}
.trd-badge-sim{background:rgba(232,160,64,.08);border:1px solid rgba(232,160,64,.2);color:var(--warning)}
.trd-badge-live{background:var(--primary-dim);border:1px solid var(--primary-glow);color:var(--primary);display:flex;align-items:center;gap:var(--sp-1)}
.trd-live-dot{width:5px;height:5px;border-radius:50%;background:var(--primary);animation:trdPulse 2s ease-in-out infinite}
@keyframes trdPulse{0%,100%{opacity:1}50%{opacity:.3}}
.trd-topbar-spacer{flex:1}
.trd-topbar-stats{display:flex;gap:var(--sp-5);align-items:center}
.trd-ts{text-align:right}
.trd-ts-label{font-size:var(--text-2xs);font-weight:var(--weight-bold);letter-spacing:1.5px;text-transform:uppercase;color:var(--text-faint);line-height:1}
.trd-ts-val{font-size:var(--text-md);font-weight:var(--weight-extra);color:var(--text);font-variant-numeric:tabular-nums;letter-spacing:-.3px;margin-top:1px;line-height:1.2}
.trd-ts-val.up{color:var(--success)}.trd-ts-val.down{color:var(--error)}
.trd-close-btn{background:transparent;border:1px solid var(--border);color:var(--text-secondary);font-size:14px;width:30px;height:30px;border-radius:var(--r-md);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--dur-fast),border-color var(--dur-fast),color var(--dur-fast);flex-shrink:0;margin-left:var(--sp-2)}
.trd-close-btn:hover{background:var(--surface-1);color:var(--text)}

/* ─── Live value flash animations ─── */
.val-flash-up{animation:valFlashUp 600ms var(--ease-out)}
.val-flash-down{animation:valFlashDown 600ms var(--ease-out)}
@keyframes valFlashUp{
  0%{color:var(--text)}
  15%{color:var(--up);text-shadow:0 0 8px var(--up-dim)}
  100%{text-shadow:none}
}
@keyframes valFlashDown{
  0%{color:var(--text)}
  15%{color:var(--down);text-shadow:0 0 8px var(--down-dim)}
  100%{text-shadow:none}
}

/* Watchlist row tick flash */
.trd-wl-item.wl-tick-up{animation:wlTickUp 700ms var(--ease-out)}
.trd-wl-item.wl-tick-down{animation:wlTickDown 700ms var(--ease-out)}
@keyframes wlTickUp{
  0%{background:transparent}
  10%{background:var(--up-subtle)}
  100%{background:transparent}
}
@keyframes wlTickDown{
  0%{background:transparent}
  10%{background:var(--down-subtle)}
  100%{background:transparent}
}

/* ─── Live trade ticker ─── */
.trd-live-ticker{
  display:flex;align-items:center;gap:var(--sp-3);
  height:0;overflow:hidden;
  padding:0 var(--sp-4);
  background:var(--bg2);border-bottom:1px solid var(--border2);
  transition:height var(--dur-slow) var(--ease-out),padding var(--dur-slow);
  flex-shrink:0;
}
.trd-live-ticker.active{height:32px;padding:0 var(--sp-4)}
.trd-live-ticker-item{
  display:inline-flex;align-items:center;gap:var(--sp-2);
  font-size:var(--text-xs);color:var(--text-secondary);
  white-space:nowrap;
  animation:tickerSlideIn .4s var(--ease-out) both;
}
.trd-live-ticker-item .tick-user{font-weight:var(--weight-bold);color:var(--text)}
.trd-live-ticker-item .tick-action{font-weight:var(--weight-semi);padding:1px var(--sp-1);border-radius:var(--r-xs);font-size:var(--text-2xs);letter-spacing:.5px;text-transform:uppercase}
.trd-live-ticker-item .tick-action.buy{background:var(--up-dim);color:var(--up)}
.trd-live-ticker-item .tick-action.sell{background:var(--down-dim);color:var(--down)}
.trd-live-ticker-item .tick-dot{width:3px;height:3px;border-radius:50%;background:var(--muted);flex-shrink:0}
@keyframes tickerSlideIn{
  from{opacity:0;transform:translateY(-8px)}
  to{opacity:1;transform:none}
}

/* ─── Main Body (3 columns) ─── */
.trd-body{flex:1;display:flex;overflow:hidden;min-height:0}

/* ─── LEFT: Watchlist ─── */
.trd-wl{width:clamp(180px,22vw,240px);background:var(--bg);border-right:1px solid var(--border2);display:flex;flex-direction:column;flex-shrink:0}
.trd-wl-head{padding:var(--sp-3);border-bottom:1px solid var(--border2);flex-shrink:0}
.trd-wl-head-title{font-size:var(--text-2xs);font-weight:var(--weight-extra);letter-spacing:1.5px;text-transform:uppercase;color:var(--text-faint);margin-bottom:var(--sp-2)}
.trd-wl-search{width:100%;padding:7px var(--sp-3);background:var(--bg2);border:1px solid var(--border);border-radius:var(--r-md);color:var(--text);font-size:var(--text-sm);font-family:var(--font);outline:none;transition:border-color var(--dur-normal)}
.trd-wl-search:focus{border-color:var(--border-hover)}
.trd-wl-search::placeholder{color:var(--text-faint)}
.trd-wl-list{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}
.trd-wl-item{padding:var(--sp-2) var(--sp-3);cursor:pointer;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.02);transition:background var(--dur-fast),color var(--dur-fast);min-height:44px;gap:var(--sp-2);border-left:2px solid transparent}
.trd-wl-item:hover{background:var(--surface-0)}
.trd-wl-item.active{background:var(--surface-1);border-left-color:var(--primary)}
.trd-wl-left{min-width:0;flex:1}
.trd-wl-sym{font-size:var(--text-xs);font-weight:var(--weight-extra);color:var(--text);letter-spacing:.3px;display:flex;align-items:center;gap:var(--sp-1)}
.trd-wl-sym .held-dot{width:5px;height:5px;border-radius:50%;background:var(--primary);flex-shrink:0}
.trd-wl-name{font-size:var(--text-2xs);color:var(--text-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100px;margin-top:1px}
.trd-wl-right{text-align:right;flex-shrink:0}
.trd-wl-price{font-size:var(--text-xs);font-weight:var(--weight-bold);color:var(--text);font-variant-numeric:tabular-nums}
.trd-wl-chg{font-size:var(--text-2xs);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums;margin-top:1px}
.trd-wl-chg.up{color:var(--success)}.trd-wl-chg.down{color:var(--error)}

/* ─── CENTER: Chart + Holdings ─── */
.trd-center{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}

/* Stock header */
.trd-stock-hd{padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border2);flex-shrink:0;background:var(--bg);display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-4)}
.trd-stock-left{min-width:0}
.trd-stock-name{font-size:clamp(16px,2.5vw,20px);font-weight:var(--weight-extra);color:var(--text);letter-spacing:-.5px;line-height:1.2}
.trd-stock-meta{font-size:var(--text-2xs);color:var(--muted);margin-top:var(--sp-0)}
.trd-stock-right{text-align:right;flex-shrink:0}
.trd-stock-price{font-size:clamp(22px,3.5vw,30px);font-weight:var(--weight-extra);color:var(--text);font-variant-numeric:tabular-nums;letter-spacing:-1px;font-family:var(--font-mono);line-height:1}
.trd-stock-chg{font-size:var(--text-sm);font-weight:var(--weight-semi);font-variant-numeric:tabular-nums;margin-top:var(--sp-1)}
.trd-stock-chg.up{color:var(--success)}.trd-stock-chg.down{color:var(--error)}
.trd-held-strip{margin-top:var(--sp-2);padding:var(--sp-px) var(--sp-3);background:var(--primary-dim);border:1px solid var(--primary-glow);border-radius:var(--r-sm);font-size:var(--text-xs);color:var(--text-secondary);display:flex;gap:var(--sp-4);flex-wrap:wrap}
.trd-held-strip b{font-weight:var(--weight-extra)}

/* Empty state */
.trd-no-select{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--muted);text-align:center;padding:var(--sp-6);gap:var(--sp-3);animation:fadeUp .4s var(--ease-out) both}
.trd-no-select-icon{width:48px;height:48px;color:var(--text-faint);opacity:.15;animation:softFloat 3s ease-in-out infinite}
.trd-no-select-text{font-size:var(--text-md);font-weight:var(--weight-semi);color:var(--text-secondary)}
.trd-no-select-sub{font-size:var(--text-sm);color:var(--muted)}

/* Chart */
.trd-chart-wrap{flex:1;background:var(--bg);position:relative;min-height:120px;overflow:hidden}
#trdChart{width:100%;height:100%;display:block}

/* Bottom tabs */
.trd-bottom{height:clamp(150px,28vh,220px);border-top:1px solid var(--border2);background:var(--bg);display:flex;flex-direction:column;flex-shrink:0}
.trd-btabs{display:flex;align-items:center;padding:0 var(--sp-4);border-bottom:1px solid var(--border2);flex-shrink:0;gap:0}
.trd-btab{background:none;border:none;border-bottom:2px solid transparent;color:var(--text-faint);font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:.5px;padding:var(--sp-2h) var(--sp-4);cursor:pointer;font-family:var(--font);transition:background var(--dur-fast),border-color var(--dur-fast),color var(--dur-fast)}
.trd-btab:hover{color:var(--text-secondary)}
.trd-btab.active{color:var(--text);border-bottom-color:var(--primary)}
.trd-btab-spacer{flex:1}
.trd-reset-btn{padding:var(--sp-1) var(--sp-3);background:transparent;border:1px solid var(--border);border-radius:var(--r-sm);color:var(--text-faint);font-size:var(--text-2xs);font-weight:var(--weight-bold);letter-spacing:.5px;cursor:pointer;font-family:var(--font);transition:background var(--dur-fast),border-color var(--dur-fast),color var(--dur-fast);margin-right:var(--sp-2)}
.trd-reset-btn:hover{border-color:var(--error);color:var(--error)}
#trdBottomBody{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:0}

/* Empty msg */
.trd-empty-msg{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:var(--sp-8) var(--sp-4);color:var(--muted);font-size:var(--text-sm);
  gap:var(--sp-2);animation:fadeUp .4s var(--ease-out) both;line-height:var(--leading-relaxed);
}
.trd-empty-msg svg{display:block;width:36px;height:36px;opacity:.15;margin-bottom:var(--sp-1)}
.trd-empty-msg .trd-empty-title{font-size:var(--text-md);font-weight:var(--weight-semi);color:var(--text-secondary)}
.trd-empty-msg .trd-empty-sub{font-size:var(--text-xs);color:var(--text-faint);max-width:220px}
.trd-empty-msg .empty-cta{
  margin-top:var(--sp-2);padding:var(--sp-2) var(--sp-5);
  background:var(--primary);color:#fff;border:none;border-radius:var(--r-lg);
  font-family:var(--font);font-size:var(--text-xs);font-weight:var(--weight-semi);
  cursor:pointer;transition:background var(--dur-fast),transform var(--dur-normal) var(--ease-spring);
}
.trd-empty-msg .empty-cta:hover{background:var(--primary-hover)}
.trd-empty-msg .empty-cta:active{transform:scale(.96)}
/* Skeleton rows for loading states */
.trd-skeleton-row{
  display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-4);
  min-height:42px;border-bottom:1px solid rgba(255,255,255,.02);
}

/* Holdings row */
.trd-hold-item{display:grid;grid-template-columns:1fr auto auto auto;align-items:center;padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border2);cursor:pointer;transition:background var(--dur-fast),box-shadow var(--dur-fast);min-height:44px;gap:var(--sp-5)}
.trd-hold-item:hover{background:var(--surface-1);box-shadow:var(--shadow-xs)}
.trd-hold-name{font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--text)}
.trd-hold-sub{font-size:var(--text-2xs);color:var(--text-faint);margin-top:1px}
.trd-hold-qty{font-size:var(--text-xs);font-weight:var(--weight-semi);color:var(--text-secondary);font-variant-numeric:tabular-nums;text-align:right}
.trd-hold-val{font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--text);font-variant-numeric:tabular-nums;text-align:right}
.trd-hold-pnl{font-size:var(--text-2xs);font-weight:var(--weight-semi);font-variant-numeric:tabular-nums;text-align:right}
.trd-hold-pnl.up{color:var(--success)}.trd-hold-pnl.down{color:var(--error)}

/* Holdings header row */
.trd-hold-header{display:grid;grid-template-columns:1fr auto auto auto;padding:var(--sp-1) var(--sp-4);gap:var(--sp-5);font-size:var(--text-2xs);font-weight:var(--weight-extra);letter-spacing:1.5px;text-transform:uppercase;color:var(--text-faint);border-bottom:1px solid var(--border2);position:sticky;top:0;background:var(--bg);z-index:1}

/* History row */
.trd-hist-item{display:flex;align-items:center;padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border2);gap:var(--sp-3);min-height:44px;transition:background var(--dur-fast),box-shadow var(--dur-fast)}
.trd-hist-item:hover{background:var(--surface-1);box-shadow:var(--shadow-xs)}
.trd-hist-badge{width:24px;height:24px;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;font-size:var(--text-2xs);font-weight:var(--weight-extra);flex-shrink:0}
.trd-hist-badge.buy{background:var(--up-dim);color:var(--success)}
.trd-hist-badge.sell{background:var(--down-dim);color:var(--error)}
.trd-hist-info{flex:1;min-width:0}
.trd-hist-name{font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.trd-hist-sub{font-size:var(--text-2xs);color:var(--text-faint);margin-top:1px}
.trd-hist-amt{font-size:var(--text-sm);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums;text-align:right;flex-shrink:0}
.trd-hist-amt.buy{color:var(--error)}.trd-hist-amt.sell{color:var(--success)}

/* ─── RIGHT: Order Panel ─── */
.trd-order{width:clamp(240px,26vw,290px);background:var(--bg);border-left:1px solid var(--border2);display:flex;flex-direction:column;flex-shrink:0;overflow-y:auto}

/* Portfolio stats card inside order panel */
.trd-portfolio-card{padding:var(--sp-3);border-bottom:1px solid var(--border2);flex-shrink:0}
.trd-pc-row{display:flex;gap:var(--sp-2);margin-bottom:var(--sp-2)}
.trd-pc-row:last-child{margin-bottom:0}
.trd-pc-item{flex:1;background:var(--bg2);border:1px solid var(--border2);border-radius:var(--r-md);padding:var(--sp-2) var(--sp-2h);box-shadow:var(--shadow-xs)}
.trd-pc-label{font-size:var(--text-2xs);font-weight:var(--weight-extra);letter-spacing:1.5px;text-transform:uppercase;color:var(--text-faint);line-height:1}
.trd-pc-val{font-size:var(--text-sm);font-weight:var(--weight-extra);color:var(--text);font-variant-numeric:tabular-nums;margin-top:var(--sp-0);line-height:1.2}
.trd-pc-val.up{color:var(--success)}.trd-pc-val.down{color:var(--error)}

/* Buy/Sell tabs */
.trd-tabs{display:flex;margin:var(--sp-3) var(--sp-3) 0;border-radius:var(--r-md);overflow:hidden;background:var(--bg2);border:1px solid var(--border);flex-shrink:0}
.trd-tab{flex:1;padding:var(--sp-2h) var(--sp-2);background:transparent;border:none;color:var(--text-faint);font-size:var(--text-xs);font-weight:var(--weight-extra);letter-spacing:.5px;cursor:pointer;font-family:var(--font);transition:background var(--dur-fast),border-color var(--dur-fast),color var(--dur-fast)}
.trd-tab-buy.active{background:var(--up-dim);color:var(--success)}
.trd-tab-sell.active{background:var(--down-dim);color:var(--error)}

/* Order form */
.trd-form{padding:var(--sp-3);display:flex;flex-direction:column;gap:var(--sp-3);flex:1}
.trd-field-label{font-size:var(--text-2xs);font-weight:var(--weight-extra);letter-spacing:1.5px;text-transform:uppercase;color:var(--text-faint);margin-bottom:var(--sp-1)}
.trd-qty-input{width:100%;padding:var(--sp-2h) var(--sp-3);background:var(--bg2);border:1.5px solid var(--border);border-radius:var(--r-md);color:var(--text);font-size:var(--text-xl);font-weight:var(--weight-extra);font-family:var(--font-mono);outline:none;text-align:center;-webkit-appearance:none;font-variant-numeric:tabular-nums;transition:border-color var(--dur-normal)}
.trd-qty-input:focus{border-color:var(--primary)}
.trd-qty-presets{display:flex;gap:var(--sp-1)}
.trd-preset{padding:var(--sp-px);background:var(--bg2);border:1px solid var(--border);border-radius:var(--r-sm);color:var(--muted);font-size:var(--text-2xs);font-weight:var(--weight-bold);cursor:pointer;font-family:var(--font);transition:background var(--dur-fast),border-color var(--dur-fast),color var(--dur-fast);flex:1;text-align:center}
.trd-preset:hover{background:var(--surface-1);color:var(--text-secondary)}
.trd-preset:active{transform:scale(.95)}

/* Order summary card */
.trd-order-summary{background:var(--bg2);border:1px solid var(--border2);border-radius:var(--r-md);overflow:hidden}
.trd-orow{display:flex;justify-content:space-between;align-items:center;padding:var(--sp-2) var(--sp-3);font-size:var(--text-xs);border-bottom:1px solid var(--border2)}
.trd-orow:last-child{border-bottom:none}
.trd-orow.total{background:var(--surface-0);padding:var(--sp-2h) var(--sp-3);font-size:var(--text-base)}
.trd-olabel{color:var(--text-faint)}
.trd-oval{color:var(--text);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums}
.trd-orow.total .trd-oval{font-weight:var(--weight-extra);font-size:var(--text-md)}

/* Execute button */
.trd-exec-btn{width:100%;padding:var(--sp-3);border:none;border-radius:var(--r-md);font-size:var(--text-sm);font-weight:var(--weight-extra);letter-spacing:.5px;cursor:pointer;font-family:var(--font);transition:background var(--dur-fast),border-color var(--dur-fast),color var(--dur-fast);flex-shrink:0;margin-top:auto}
.trd-exec-buy{background:var(--success);color:#fff;box-shadow:0 4px 20px rgba(61,168,122,.25)}
.trd-exec-buy:hover{box-shadow:0 6px 28px rgba(61,168,122,.35);transform:translateY(-1px)}
.trd-exec-sell{background:var(--error);color:#fff;box-shadow:0 4px 20px rgba(224,80,80,.25)}
.trd-exec-sell:hover{box-shadow:0 6px 28px rgba(224,80,80,.35);transform:translateY(-1px)}
.trd-exec-btn:disabled{background:var(--bg2);color:var(--text-faint);cursor:not-allowed;box-shadow:none;transform:none}
.trd-exec-btn:active:not(:disabled){transform:scale(.98)}
.trd-exec-btn.success-buy{animation:tradeSuccess 500ms var(--ease-out)}
.trd-exec-btn.success-sell{animation:tradeSuccessSell 500ms var(--ease-out)}

/* Mini sparkline in order panel */
.trd-mini-chart{flex:1;display:flex;flex-direction:column;min-height:80px;border:1px solid var(--border2);border-radius:var(--r-md);overflow:hidden;background:var(--bg2)}
.trd-mini-chart.hidden{display:none}
.trd-mini-chart-head{display:flex;justify-content:space-between;align-items:center;padding:var(--sp-px) var(--sp-3)}
.trd-mini-chart-label{font-size:var(--text-2xs);font-weight:var(--weight-extra);letter-spacing:.5px;color:var(--text-secondary)}
.trd-mini-chart-range{font-size:var(--text-2xs);color:var(--text-faint);letter-spacing:.5px}
#trdMiniChart{width:100%;flex:1;display:block;min-height:60px}

/* ─── Confirm Modal ─── */
.trd-confirm-overlay{position:fixed;inset:0;background:rgba(0,0,0,.65);display:none;align-items:center;justify-content:center;z-index:var(--z-toast);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.trd-confirm-overlay.open{display:flex;animation:mobileFadeIn 200ms var(--ease-out)}
.trd-confirm-card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--r-xl);width:min(380px,90vw);padding:var(--sp-6);animation:bubblePop .3s var(--ease-bubble)}
.trd-confirm-header{text-align:center;margin-bottom:var(--sp-5)}
.trd-confirm-title{font-size:var(--text-2xl);font-weight:var(--weight-extra);color:var(--text)}
.trd-confirm-subtitle{font-size:var(--text-xs);color:var(--text-faint);margin-top:var(--sp-0)}
.trd-confirm-body{margin-bottom:var(--sp-5)}
.trd-confirm-row{display:flex;justify-content:space-between;padding:var(--sp-2) 0;font-size:var(--text-base)}
.trd-confirm-row.total{padding-top:var(--sp-3);margin-top:var(--sp-2);border-top:1px solid var(--border);font-size:var(--text-lg)}
.trd-confirm-label{color:var(--muted)}
.trd-confirm-val{color:var(--text);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums}
.trd-confirm-row.total .trd-confirm-val{font-weight:var(--weight-extra);font-size:var(--text-xl)}
.trd-confirm-btns{display:flex;gap:var(--sp-3)}
.trd-confirm-cancel{flex:1;padding:var(--sp-3);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);color:var(--text-secondary);font-family:var(--font);font-size:var(--text-base);font-weight:var(--weight-bold);cursor:pointer;transition:background var(--dur-fast),color var(--dur-fast)}
.trd-confirm-cancel:hover{background:var(--surface-active)}
.trd-confirm-exec{flex:1;padding:var(--sp-3);border:none;border-radius:var(--r-md);font-family:var(--font);font-size:var(--text-base);font-weight:var(--weight-extra);cursor:pointer;letter-spacing:.3px;transition:background var(--dur-fast),color var(--dur-fast)}
.trd-confirm-exec.buy{background:var(--success);color:#fff}
.trd-confirm-exec.buy:hover{box-shadow:0 4px 16px rgba(61,168,122,.3)}
.trd-confirm-exec.sell{background:var(--error);color:#fff}
.trd-confirm-exec.sell:hover{box-shadow:0 4px 16px rgba(224,80,80,.3)}

/* ─── Mobile ─── */
@media(max-width:900px){
  .trd-body{flex-direction:column;overflow-y:auto}
  .trd-order{width:100%;border-left:none;border-top:1px solid var(--border2);max-height:none;flex-shrink:0}
  .trd-center{min-height:0}
  .trd-center.has-stock{min-height:300px}
  .trd-chart-wrap{min-height:150px}
  .trd-topbar-stats{gap:var(--sp-3)}
  .trd-ts-val{font-size:var(--text-sm)}
  .trd-wl{width:clamp(140px,30vw,180px)}
}
@media(max-width:600px){
  /* Watchlist kept visible on mobile — restyled in mobile.css as horizontal scroll */
  .trd-center:not(.has-stock) .trd-no-select-sub{content:'Pick from the watchlist above'}
  .trd-hold-item{grid-template-columns:1fr auto auto;gap:var(--sp-3)}
  .trd-hold-qty{display:none}
  .trd-order{flex:none}
  .trd-portfolio-card{padding:var(--sp-3) var(--sp-4)}
  .trd-form{padding:var(--sp-3) var(--sp-4)}
  .trd-tabs{margin:var(--sp-3) var(--sp-4) 0}
}

/* ─── Leaderboard Refinements ─── */
/* Leaderboard styles moved to components.css */
