/* ============================================================
 * spot-hide.css
 * [spot-p005] Phase 2-2 수정: Futures UI 전면 숨김 + Spot UI 스타일
 *
 * 변경 이력:
 *   p002: 초기 버전
 *   p003: TP/SL/Conditional 숨김 취소
 *   p004: Spot Buy/Sell 탭 + 단일 버튼 스타일
 *   p005: 실제 DOM 기준 전면 수정
 *         - #openOrderButtons 확실히 숨김
 *         - #accountPanel 전체 숨김
 *         - orderTabBar 인라인 스타일 덮어쓰기
 *         - Long/Short 토글 (#tpslHedgeTabs) 숨김
 *         - No Position 메시지 숨김
 *
 * 절대 원칙: !important로 강제 적용
 * ============================================================ */

/* ===== 1) Futures 전용 UI 숨김 ===== */

/* 상단 제어바 (Isolated / 10x / S 버튼) */
#topControlBar {
  display: none !important;
}

/* Open/Close 탭 (이미 인라인 display:none이지만 확실히) */
#orderTabBar {
  display: none !important;
}

/* Positions / Position History / Liquidation 탭 */
/* [v21] 셀렉터 수정: switchTab('xxx', this) 같이 ,this 가 붙는 경우도 매칭되도록
 *       `)` 로 끝 안 하고 `'` 하나만 매칭
 *       그리고 Transaction History 는 __tabTX id 로도 백업 매칭 */
.position-tab[onclick*="switchTab('positions'"],
.position-tab[onclick*="switchTab('posHistory'"],
.position-tab[onclick*="switchTab('position-history'"],
.position-tab[onclick*="switchTab('liquidation'"],
.position-tab[onclick*="switchTab('transactions'"],
.position-tab[onclick*="switchTab('assets'"],
.position-tab#__tabTX {
  display: none !important;
}

/* [v4h → v4i 롤백] pos-grid-hdr 는 로그인 상태에서 꼭 필요한 테이블 헤더.
 *                  v4h 에서 display:none 으로 바꾸는 바람에 로그인 상태에서도 헤더가
 *                  안 보이는 버그 발생. 원래 깜빡임은 auth-ui.js 의 .auth-hidden (visibility:hidden)
 *                  클래스가 JS 실행 시점에야 붙기 때문에 파싱 직후 잠깐 보이는 것이 원인.
 *                  근본 해결은 별도 (아래 v4i 블록 참조).
 */

/* [v4j] 깜빡임 방지 규칙은 main.css 로 이동됨 (퓨처/스팟 공통 적용 위해).
 *       v4i 에서 여기에 추가했던 body:not(.__auth-ready) 규칙은 무효 — 아래 참고용으로 남김.
 */
/*
body:not(.__auth-ready) .positions-content-wrap {
  visibility: hidden !important;
}
*/

/* Account 패널 전체 (Margin Ratio, Account Equity, Balance 등) */
#accountPanel {
  display: none !important;
}

/* Close All 버튼 */
#closeAllBtn {
  display: none !important;
}

/* Open long / Open short 버튼 */
/* theme.css의 body.ordertab-open #openOrderButtons { display:flex !important; }를 덮어쓰기 위해
   동일 또는 더 높은 특이성의 셀렉터 사용 */
#openOrderButtons,
body.ordertab-open #openOrderButtons,
body.ordertab-close #openOrderButtons {
  display: none !important;
}

/* 헤지모드 Long/Short 토글 (TP/SL 옆) */
#tpslHedgeTabs {
  display: none !important;
}

/* No Position 메시지 */
#noPositionMsg {
  display: none !important;
}

/* [p006] Cost/Max 정보 행 숨김 (Futures 전용) */
#orderBtnInfoRow {
  display: none !important;
}

/* ===== [p006] Spot Assets 섹션 스타일 ===== */
.spot-assets-wrap {
  padding: 16px 15px 12px;
  margin-top: 16px;
  border-top: 1px solid #1e2329;
}

.spot-assets-title {
  color: #eaecef;
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 12px;
}

.spot-assets-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 6px 0;
}

.spot-assets-label {
  color: #848e9c;
  font-size: 12px;
}

.spot-assets-value {
  color: #eaecef;
  font-size: 12px;
  font-weight: 500;
}

/* ===== 2) [p004] Spot Buy/Sell 탭 스타일 ===== */
.spot-buy-sell-tabs {
  display: flex !important;
  gap: 8px;
  padding: 11px 15px 0;
  margin-bottom: 8px;
}

.spot-side-tab {
  flex: 1;
  background: transparent;
  border: 1px solid #2a2e39;
  border-radius: 20px;
  color: #848e9c;
  font-size: 14px;
  font-weight: 600;
  padding: 8px 12px;
  cursor: pointer;
  transition: all 0.15s ease;
}

.spot-side-tab:hover {
  color: #eaecef;
  border-color: #3a4149;
}

/* Buy 탭 활성: 초록 */
.spot-side-tab.active#spotBuyTab {
  background: #0ecb81 !important;
  border-color: #0ecb81 !important;
  color: #ffffff !important;
}

/* Sell 탭 활성: 빨강 */
.spot-side-tab.active#spotSellTab {
  background: #f6465d !important;
  border-color: #f6465d !important;
  color: #ffffff !important;
}

/* ===== 3) [p004] Spot 단일 Submit 버튼 ===== */
.spot-submit-wrap {
  padding: 0 15px;
  margin-top: 8px;
}

.spot-submit-btn {
  display: block;
  width: 100%;
  padding: 12px 16px;
  border: none;
  border-radius: 4px;
  font-size: 14px;
  font-weight: 700;
  color: #ffffff;
  cursor: pointer;
  transition: all 0.15s ease;
}

.spot-submit-btn.buy {
  background: #0ecb81 !important;
}

.spot-submit-btn.buy:hover {
  background: #0fd088 !important;
}

.spot-submit-btn.sell {
  background: #f6465d !important;
}

.spot-submit-btn.sell:hover {
  background: #ff5566 !important;
}

/* ============================================================
 * [spot-p008] Spot-specific hides — Funding removal
 * Spot has no funding rate concept (Futures only feature)
 * ============================================================ */

/* Funding (8h) / Countdown metric in symbol header */
.tvui-metric-funding {
  display: none !important;
}

/* ============================================================
 * [spot-p009] Tier 1 — Remove remaining Futures-only UI elements
 * Reference: Binance Spot UI (no Mark/Index/OI/Perp/Margin/Liq columns)
 * ============================================================ */

/* --- 1) Symbol header metrics: Mark / Index / OI(USDT) --- */
/* [v86] ID 기반 숨김으로 변경 (v85에서 24h Vol(BASE) 메트릭 추가로 nth-child 인덱스 밀림)
 *   - tvuiMark: Mark Price 메트릭
 *   - tvuiIndex: Index Price 메트릭
 *   - tvuiOI: Open Interest 메트릭
 *   - 각 ID 를 포함하는 .tvui-metric 을 숨김
 */
#tvuiMetrics .tvui-metric:has(#tvuiMark),
#tvuiMetrics .tvui-metric:has(#tvuiIndex),
#tvuiMetrics .tvui-metric:has(#tvuiOI) {
  display: none !important;
}
/* :has() 미지원 브라우저 fallback (JS 에서 data-sp-hide 속성 추가) */
#tvuiMetrics .tvui-metric[data-sp-hide="1"] {
  display: none !important;
}

/* --- 2) Perp badge next to symbol (chart header area, patch-p1445/p1446) --- */
#__p1445perp {
  display: none !important;
}

/* --- 3) Margin (Cross): row in order form --- */
/* Primary selector using :has() (Chrome 105+, Safari 15.4+) */
.form-info-row:has(#marginMode) {
  display: none !important;
}
/* Fallback: hide any form-info-row whose label starts with "Margin (" */
/* (handled by JS if needed - see index.html inline script) */

/* --- [spot-p010] Reverted rules (user decides per-column visibility) ---
 *   - Position History tab: RESTORED (was hidden in p009)
 *   - Position table columns 6,7,8,10,11,13: RESTORED (was hidden in p009)
 * Reason: user prefers to control column visibility via the built-in
 *         column settings menu (···) instead of CSS-level hiding.
 */



/* ============================================================
 * [v20] 주문 확인 모달 - 스팟에 불필요한 행 숨김
 *   - Initial Margin: 현물에 마진 개념 없음
 *   - Est.Liq.Price: 현물에 청산 없음
 *   - Price Gap: 청산가 대비 갭 (청산 없으니 의미 없음)
 *   - Mark Price: 현물은 Last Price 와 동일 (간소화)
 * ============================================================ */
#__p1445rowIM,
#__p1445rowLiq,
#__p1445rowGap,
#__p1445rowMark {
  display: none !important;
}


/* ============================================================
 * [v22] Order History 테이블 - Leverage/Reduce Only/Post Only/Trigger Conditions 컬럼 숨김
 *   - .order-history-table 의 8,9,10,11번째 th/td (스팟 현물엔 해당 없음)
 * ============================================================ */
.order-history-table thead th:nth-child(8),   /* Leverage */
.order-history-table tbody td:nth-child(8),
.order-history-table thead th:nth-child(9),   /* Reduce Only */
.order-history-table tbody td:nth-child(9),
.order-history-table thead th:nth-child(10),  /* Post Only */
.order-history-table tbody td:nth-child(10),
.order-history-table thead th:nth-child(11),  /* Trigger Conditions */
.order-history-table tbody td:nth-child(11) {
  display: none !important;
}

/* ============================================================
 * [v23] Positions 플래시 방지
 *   - 페이지 로드 직후 퓨처 기본 탭(positions)으로 렌더되는 순간 플래시
 *   - body.sp-ready 붙기 전엔 #positions 컨텐츠 숨김
 *   - patch-sp-holdings.js 가 Open Orders 로 전환 후 body.sp-ready 추가
 * ============================================================ */
body:not(.sp-ready) .positions-content-wrap > #positions,
body:not(.sp-ready) .positions-content-wrap > #__p624wrap,
body:not(.sp-ready) .positions-content-wrap > #__p626condwrap {
  visibility: hidden !important;
}

/* ============================================================
 * [v28] 전수조사 결과 - 스팟에 불필요한 UI 추가 숨김
 * ============================================================ */

/* 주문 폼의 "Margin (Cross):" 요약 행 - 스팟엔 마진 개념 없음
 *   index.html L970-973 의 form-info-row 중 Margin (...): 행 */
.form-info-row:has(#marginMode) {
  display: none !important;
}

/* TP/SL 옆 헷지 Long/Short 탭 (이미 inline display:none 이지만 확실히) */
#tpslHedgeTabs {
  display: none !important;
}

/* 레버리지 컨테이너 (숨김 #leverageSectionHidden 이미 있음, 중복 확실히) */
#leverageSectionHidden,
.leverage-container,
.leverage-label {
  display: none !important;
}

/* Close Long / Close Short 버튼 (#closePositionButtons) - 스팟에선 Sell 로 청산 */
#closePositionButtons,
.btn-close-long,
.btn-close-short {
  display: none !important;
}

/* ============================================================
 * [v28-hotfix] Trading 설정 패널 - Position Mode 행 숨김
 *   - 스팟엔 포지션 모드 (헷지/원웨이) 개념 없음
 * ============================================================ */
#__settingPosMode {
  display: none !important;
}

/* ============================================================
 * [v30] 추가 UI 숨김
 * ============================================================ */

/* Column Settings 화살표 (Hide Other Symbols 오른쪽) - 스팟에선 컬럼 커스텀 불필요 */
#p347ColMenuBtn {
  display: none !important;
}

/* Open Orders 의 Basic / Conditional 서브탭이 Holdings 탭에서 보이지 않도록
 *   - __p624wrap 은 orders 탭에서만 보여야 하는데, sp-holdings-active 시에도 보이는 경우 있음 */
body.sp-holdings-active #__p624wrap {
  display: none !important;
}

/* ============================================================
 * [v57] 차트 헤더 Perp 배지 + 심볼 메뉴 Perp pill 숨김
 *   - tv_overlay_ui_85I.js L279: <small>Perp <span class="tvui-chevron">▾</span></small>
 *   - tv_overlay_ui_85I.js L1313: <div class="pill">Perp</div>
 *   - 스팟에선 Perpetual/Perp 표기 불필요
 *   - ▾ 화살표도 함께 숨김 (심볼 드롭다운은 심볼명 클릭으로 가능)
 * ============================================================ */

/* 심볼명 옆 "Perp ▾" 에서 Perp 텍스트만 숨기고 ▾ 화살표는 유지
 * 구조: <small>Perp <span class="tvui-chevron">▾</span></small>
 * small 의 font-size:0 으로 텍스트 숨기고, chevron span 만 font-size 복원 */
#tvuiSymbolWrap > small {
  font-size: 0 !important;
}
#tvuiSymbolWrap > small > .tvui-chevron {
  font-size: 12px !important;
}

/* 심볼 검색 메뉴 내 Perp pill 숨김 */
.tvui-sym-name .pill {
  display: none !important;
}

/* ============================================================
 * [v61] TP/SL 모달 — 스팟 불필요 요소 숨김
 *   - #tpslSubtitle: "BTCUSDT Perpetual · Isolated · Long · 1x"
 *   - .liq-row: "Est. Liq. Price --" (스팟은 청산 없음)
 * ============================================================ */
#tpslSubtitle {
  display: none !important;
}
.tpsl-modal-info-row.liq-row {
  display: none !important;
}

/* ============================================================
 * [v73] 우측 TP/SL 영역의 Set 버튼만 숨김
 *   - 스팟에서는 Set 버튼이 서버로 tp/sl 을 전송하지 않음 (원래 미동작)
 *   - 체크박스/Long·Short 탭/입력창은 그대로 두고 Set 만 제거
 *   - 실제 TP/SL 설정은 Advanced 버튼 → 모달로만 가능
 * ============================================================ */
#applyTpSlBtn {
  display: none !important;
}

/* ============================================================
 * [v76] 주문 확인 모달에서 Cost / Initial Margin 행 숨김
 *   - 스팟은 레버리지 없음 → Cost/IM 개념 불필요
 *   - patch-p1446 의 Open/Close 주문 모달에 적용
 * [v79] Cost 행도 CSS 로 즉시 숨김 (모달 깜빡임 방지)
 *       :has() 미지원 브라우저는 JS fallback 처리
 * ============================================================ */
/* Initial Margin 행 */
#__p1445rowIM {
  display: none !important;
}
/* [v79] Cost 행 - :has() 로 즉시 숨김 (모달 깜빡임 방지) */
.__p1445row:has(#__p1445vCost) {
  display: none !important;
}
/* [v79] JS fallback 으로 추가된 행 */
.__p1445row[data-sp-hide="1"] {
  display: none !important;
}

/* ============================================================
 * [v88→v90] 차트 상단 메트릭 간격 균일화 (스팟 전용)
 *   - 현재 보이는 5개: 24h High / 24h Low / 24h Vol(BASE) / 24h Vol(USDT) / Token Tags
 *   - 제리님 요청 (v90):
 *       · 24h Vol(USDT) + Token Tags 두 개 전체를 오른쪽 15px 이동
 *       · Token Tags 추가로 15px 더 오른쪽 이동 (총 30px)
 *   - v88: min-width 120px → 너무 벌어짐 / v89: margin-left:8px 균일
 * ============================================================ */
/* 24h Vol(BASE) ~ Token Tags 공통 왼쪽 여백 */
#tvuiMetrics .tvui-metric:has(#tvuiVolBase),
#tvuiMetrics .tvui-metric:has(#tvuiVolU),
#tvuiMetrics .tvui-metric:has(#tvuiTags) {
  margin-left: 8px;
}
/* 24h Vol(USDT) + Token Tags 두 개 전체 오른쪽 15px 이동 */
#tvuiMetrics .tvui-metric:has(#tvuiVolU),
#tvuiMetrics .tvui-metric:has(#tvuiTags) {
  margin-left: 23px;  /* 8 + 15 = 23 */
}
/* Token Tags 만 추가 15px 이동 (총 30px 오른쪽으로) */
/* v91: 5px 왼쪽으로 미세조정 → 33px */
/* v95: 추가 5px 왼쪽 → 28px */
#tvuiMetrics .tvui-metric:has(#tvuiTags) {
  margin-left: 28px;  /* 8 + 15 + 5 = 28 */
}
/* 내부 min-width 제거 - 값 길이만큼만 차지 */
#tvuiVolBase,
#tvuiVolU,
#tvuiTags {
  min-width: 0 !important;
}

/* ============================================================
 * [v94] Holdings 탭 활성 시 Positions 컨텐츠 완전 차단
 *   - 문제: Holdings 가 첫 위치로 옮겨진 후 Positions 행/헤더가 그대로 노출
 *   - app.js 의 렌더 사이클이 #positions 안에 .pos-grid-row 를 계속 그림
 *   - 해결: body.sp-holdings-active 일 때 .pos-grid-row 모두 숨김
 *   - Holdings 패치가 #positions 안에 자기 컨텐츠(.sp-hold-list 등)를 직접 삽입하므로
 *     .pos-grid-row 만 숨겨도 Holdings 컨텐츠는 정상 표시됨
 * ============================================================ */
body.sp-holdings-active #positions .pos-grid-row {
  display: none !important;
}
/* 추가 안전장치: Positions 탭의 active 클래스가 남아있어도 Holdings 활성 시 무시 */
body.sp-holdings-active .position-tab[onclick*="switchTab('positions'"].active {
  /* CSS 로 active 시각효과 무력화 - Holdings 만 active 처럼 보이게 */
  border-bottom: none !important;
  color: #848e9c !important;
}
