/* Biggest Moves Board, Strike Ladder modal, Liquidity / OI chips */
/* ─── Biggest Moves Board ───────────────────────────────────────────────── */
.bigmoves{border:1px solid var(--border);border-radius:12px;padding:14px 16px;margin-bottom:16px;background:var(--bg)}
.bigmoves-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;flex-wrap:wrap;gap:8px}
.bigmoves-title{font-size:15px;font-weight:700;color:var(--text);display:flex;align-items:center;gap:8px}
.bigmoves-sub{font-size:11px;color:var(--text2);font-weight:500}
.bigmoves-filters{display:flex;gap:14px;flex-wrap:wrap;align-items:center;padding:8px 0 10px;border-bottom:1px solid var(--border);margin-bottom:8px}
.bm-group{display:flex;gap:3px;align-items:center}
.bm-label{font-size:10px;color:var(--text2);font-weight:600;text-transform:uppercase;letter-spacing:.4px;margin-right:4px}
.bm-chip{padding:3px 9px;border:1px solid var(--border);background:var(--bg);color:var(--text2);font-size:11px;
  border-radius:12px;cursor:pointer;font-weight:600;transition:all .12s;white-space:nowrap}
.bm-chip:hover{background:var(--bg2);color:var(--text)}
.bm-chip.active{background:var(--text);color:var(--bg);border-color:var(--text)}
.bm-sort-toggle{margin-left:auto;display:flex;gap:2px;border:1px solid var(--border);border-radius:8px;padding:2px;background:var(--bg)}
.bm-sort-btn{padding:4px 10px;font-size:11px;font-weight:700;border:none;background:transparent;color:var(--text2);
  border-radius:6px;cursor:pointer}
.bm-sort-btn.active{background:var(--blue);color:#fff}
.bm-table{width:100%;border-collapse:collapse;font-size:12px}
.bm-table thead th{font-size:10px;text-transform:uppercase;letter-spacing:.4px;color:var(--text2);
  font-weight:700;text-align:left;padding:8px 6px;border-bottom:1px solid var(--border)}
.bm-table thead th.num{text-align:right}
.bm-table tbody tr{border-bottom:1px solid var(--border);cursor:pointer;transition:background .1s}
.bm-table tbody tr:hover{background:var(--bg2)}
.bm-table tbody tr:last-child{border-bottom:none}
.bm-table td{padding:8px 6px;vertical-align:middle}
.bm-table td.num{text-align:right;font-variant-numeric:tabular-nums}
.bm-rank{width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;
  justify-content:center;font-size:10px;font-weight:800;background:var(--bg2);color:var(--text2)}
.bm-rank.gold{background:#fef3c7;color:#92400e}
.bm-rank.silver{background:#f3f4f6;color:#4b5563}
.bm-rank.bronze{background:#fed7aa;color:#9a3412}
.bm-date{font-weight:600;color:var(--text);white-space:nowrap}
.bm-date .bm-date-arrow{color:var(--text2);font-weight:400;margin:0 3px}
.bm-sym{font-weight:700;color:var(--text)}
.bm-strike{font-weight:600}
.bm-type{padding:1px 6px;border-radius:3px;font-size:9px;font-weight:800;margin-left:4px;vertical-align:middle}
.bm-type.CE{background:#dbeafe;color:#1d4ed8}
.bm-type.PE{background:#fce7f3;color:#be185d}
.bm-price{color:var(--text2);font-variant-numeric:tabular-nums}
.bm-pct{font-weight:700;color:var(--green)}
.bm-pct.neg{color:var(--red)}
.bm-inr{font-weight:700;color:var(--text)}
.bm-tag{display:inline-block;padding:1px 6px;border-radius:3px;font-size:9px;font-weight:700;
  text-transform:uppercase;letter-spacing:.3px;white-space:nowrap}
.bm-tag.intraday{background:#eff6ff;color:#1d4ed8}
.bm-tag.btst{background:#f3e8ff;color:#7e22ce}
.bm-tag.swing{background:#fef3c7;color:#a16207}
.bm-tag.expiry{background:#fee2e2;color:#b91c1c;margin-left:4px}
.bm-empty{text-align:center;padding:24px 12px;color:var(--text2);font-size:12px}
.bm-loading{text-align:center;padding:20px;color:var(--text2);font-size:12px}

/* Strike Ladder CTA button inside the expanded trade row */
.bm-ladder-cta{display:flex;align-items:center;gap:10px;margin-top:12px;padding-top:10px;
  border-top:1px dashed var(--border);flex-wrap:wrap}
.bm-ladder-btn{border:1px solid var(--border);background:var(--bg);color:var(--text);
  padding:6px 12px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;
  transition:all .15s}
.bm-ladder-btn:hover{background:var(--blue);color:#fff;border-color:var(--blue)}
.bm-ladder-hint{font-size:11px;color:var(--text2)}

/* Strike Ladder modal */
.ladder-modal{position:fixed;inset:0;z-index:100;display:none}
.ladder-modal.open{display:block}
.ladder-backdrop{position:absolute;inset:0;background:rgba(11,18,32,.5);backdrop-filter:blur(4px)}
.ladder-panel{position:absolute;top:5vh;left:50%;transform:translateX(-50%);width:min(1200px,95vw);
  max-height:90vh;background:var(--bg);border:1px solid var(--border);border-radius:14px;
  box-shadow:0 20px 60px rgba(0,0,0,.35);display:flex;flex-direction:column;overflow:hidden}
.ladder-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px 10px;
  border-bottom:1px solid var(--border)}
.ladder-title{font-size:14px;font-weight:700;color:var(--text)}
.ladder-title strong{font-weight:800}
.ladder-tools{display:flex;align-items:center;gap:10px}
.ladder-opt-toggle{display:inline-flex;border:1px solid var(--border);border-radius:6px;overflow:hidden}
.ladder-opt-btn{background:var(--bg);color:var(--text2);border:none;padding:5px 12px;font-size:11px;
  font-weight:700;cursor:pointer;transition:all .12s;letter-spacing:.4px}
.ladder-opt-btn+.ladder-opt-btn{border-left:1px solid var(--border)}
.ladder-opt-btn.active{background:var(--blue);color:#fff}
.ladder-close{background:transparent;border:none;color:var(--text2);font-size:16px;cursor:pointer;
  width:28px;height:28px;border-radius:6px;transition:all .12s}
.ladder-close:hover{background:var(--bg2);color:var(--text)}
.ladder-sub{display:flex;align-items:center;gap:6px;padding:6px 18px 10px;font-size:11px;color:var(--text2)}
.ladder-sub .dot{color:var(--text3)}
.ladder-body{flex:1;overflow:auto;padding:4px 12px 12px}
.ladder-empty,.ladder-loading{padding:30px;text-align:center;color:var(--text2);font-size:13px}
.ladder-scroll{overflow-x:auto}
.ladder-table{border-collapse:separate;border-spacing:2px;font-size:11px;width:auto;min-width:100%;
  font-variant-numeric:tabular-nums}
.ladder-table thead th{position:sticky;top:0;background:var(--bg);z-index:2;padding:6px 6px;
  font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--text2);
  text-align:center;white-space:nowrap}
.ladder-table thead .ll-strike-h{left:0;z-index:3;text-align:left}
.ladder-table tbody td{padding:4px 6px;text-align:center;min-width:52px;border-radius:3px;
  font-weight:600}
.ladder-table .ll-strike{position:sticky;left:0;background:var(--bg);z-index:1;text-align:left;
  font-weight:700;color:var(--text);padding-right:12px;min-width:78px;white-space:nowrap}
.ladder-table .ll-atm-tag{display:inline-block;margin-left:6px;padding:1px 5px;border-radius:3px;
  background:#2563eb;color:#fff;font-size:8px;font-weight:800;letter-spacing:.5px;vertical-align:1px}
.ladder-table tr.ll-row-atm .ll-strike{background:#eff6ff;color:#1e40af}
.ladder-table .ll-cell{color:#0b1220}
.ladder-table .ll-empty{background:var(--bg2);color:var(--text3);font-weight:500}
.ladder-table .ll-empty::before{content:'\2014'}
.ladder-table .ll-day{font-weight:800}
.ladder-table .ll-day.pos{color:#15803d;background:rgba(22,163,74,.10)}
.ladder-table .ll-day.neg{color:#b91c1c;background:rgba(220,38,38,.10)}
.ladder-table .ll-vol{color:var(--text2);font-weight:600}

.ladder-legend{display:flex;align-items:center;gap:8px;padding:8px 18px 14px;font-size:10px;
  color:var(--text2)}
.ladder-legend .ll-gradient{width:180px;height:10px;border-radius:3px;
  background:linear-gradient(90deg,rgba(220,38,38,.7),rgba(148,163,184,.15),rgba(22,163,74,.7))}
.ladder-legend .ll-tick.pos{color:#15803d;font-weight:700}
.ladder-legend .ll-tick.neg{color:#b91c1c;font-weight:700}

@media (max-width: 640px) {
  .ladder-panel{top:2vh;width:98vw;max-height:96vh}
  .ladder-table{font-size:10px}
  .ladder-table tbody td{min-width:42px;padding:3px 4px}
}

/* Liquidity chip: compact volume + tier indicator */
.bm-liq{display:inline-flex;align-items:baseline;gap:6px;font-weight:700;font-size:12px;
  color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap}
.bm-liq em{font-style:normal;font-size:9px;font-weight:700;padding:1px 6px;border-radius:3px;
  text-transform:uppercase;letter-spacing:.3px;vertical-align:middle}
.bm-liq-heavy em{background:#dcfce7;color:#166534}
.bm-liq-medium em{background:#dbeafe;color:#1d4ed8}
.bm-liq-light em{background:#fef3c7;color:#92400e}
.bm-liq-thin em{background:#fee2e2;color:#b91c1c}
.bm-liq-thin{color:var(--text2)}
.bm-liq-cell{min-width:110px}

/* OI change chip — distinguishes fresh positioning (institutional) from profit-taking */
.bm-oi{display:inline-block;font-weight:700;font-size:11.5px;padding:2px 8px;border-radius:4px;
  font-variant-numeric:tabular-nums;white-space:nowrap;letter-spacing:.2px}
.bm-oi-up-strong{background:#dcfce7;color:#14532d}
.bm-oi-up{background:#ecfdf5;color:#166534}
.bm-oi-flat{background:#f3f4f6;color:#4b5563}
.bm-oi-down{background:#fef2f2;color:#b91c1c}
.bm-oi-down-strong{background:#fee2e2;color:#7f1d1d}
.bm-oi-na{background:transparent;color:var(--text2);font-weight:500;font-size:12px;padding:0}
.bm-oi-cell{min-width:82px}

/* Preset filter row */
.bm-presets{display:flex;gap:6px;flex-wrap:wrap;padding:4px 0 10px;margin-bottom:2px}
.bm-preset{padding:5px 12px;border:1px solid var(--border);background:var(--bg2);color:var(--text);
  border-radius:16px;font-size:11px;font-weight:600;cursor:pointer;transition:all .12s;white-space:nowrap}
.bm-preset:hover{background:var(--bg);border-color:var(--text2)}
.bm-preset.active{background:linear-gradient(135deg,#1e40af,#3b82f6);color:#fff;border-color:#1e40af;
  box-shadow:0 2px 6px rgba(30,64,175,0.25)}

/* Expand / caret */
.bm-caret{display:inline-block;color:var(--text2);font-size:10px;transition:transform .15s;cursor:pointer}
.bm-caret.open{transform:rotate(90deg);color:var(--blue)}
.bm-table tbody tr.bm-row.expanded{background:var(--bg2)}
.bm-table tbody tr.bm-expand-row{background:var(--bg2);cursor:default}
.bm-table tbody tr.bm-expand-row:hover{background:var(--bg2)}
.bm-table tbody tr.bm-expand-row td{padding:0}
.bm-expand{padding:14px 16px 18px;border-top:1px dashed var(--border);animation:bmfade .18s ease-out}
@keyframes bmfade{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.bm-expand-summary{display:flex;gap:18px;flex-wrap:wrap;padding-bottom:12px;margin-bottom:10px;
  border-bottom:1px solid var(--border)}
.bm-expand-summary > div{display:flex;flex-direction:column;gap:1px;min-width:92px}
.bm-exp-label{font-size:9px;color:var(--text2);text-transform:uppercase;letter-spacing:.4px;font-weight:700}
.bm-expand-summary strong{font-size:14px;font-weight:700;color:var(--text);font-variant-numeric:tabular-nums}
.bm-expand-summary strong.bm-pct{color:var(--green)}
.bm-expand-summary strong.bm-inr{color:var(--text)}
.bm-exp-sub{font-size:10px;color:var(--text2)}
.bm-chart-wrap{position:relative;padding-top:4px}
.bm-chart{display:block;width:100%;height:220px;background:var(--bg);border:1px solid var(--border);border-radius:8px}
.bm-chart-legend{display:flex;gap:18px;margin-top:6px;font-size:10px;color:var(--text2);font-weight:600}
.bm-legend-sq{display:inline-block;width:10px;height:2px;vertical-align:middle;margin-right:5px}
.bm-legend-dot{display:inline-block;width:7px;height:7px;border-radius:50%;vertical-align:middle;margin-right:5px;border:1.5px solid #fff;box-shadow:0 0 0 1px rgba(0,0,0,0.08)}


